Login Page - Create Account

Support Board


Date/Time: Thu, 02 May 2024 01:27:42 +0000



IB FX

View Count: 1505

[2016-01-04 19:16:31]
User754985 - Posts: 109
Hi, Sierra,

1. Noticed that default min.move/tick for IB cash/fx instruments is still 0.5 pips. While IB has moved to a precision of 0.1pips since end Nov. Would be great to correct.

2. SC-integrated forex feed seems to be the "most retail" version of FXCM's (spreads appr. 1.5-2pips on eurusd), quite different from the feed published on their web site and described as relevant for their "standard"-level accounts. This makes it unusable as a primary/back up data feed to trade from with IB for execution.

3. How does IB's "download 5-sec historical bars" feature technically work? Specifically (assuming IB is the datafeed),
- should the "intraday data storage unit" be set to a min. of 5-sec for it to work correctly?
- what's the "lag" between RT and actual delivery of such bars?
- what exactly happens at the end of, say, 1min bar? Which price will be taken as bar "close" - a tick from RT or "close" from the last "5-sec historical bar"? Which price will be taken for studies calculation and subsequent order generation?
- Would this delay order generation?
- does "updating" of the 1min O-H-L-C values of, say, 1min bar happen continuously with this feature turned on?

4. When does SC "closes" a time-based bar (e.g. 1min)?
Looking at timestamps of orders submitted,SC closes "previous" bar at arrival of the "opening" tick of the new bar. Which leads to situations when orders are submitted at +1-3-6sec later then the "end of the bar interval".
Is there a way to ensure that the orders are fired immediately at "end of bar interval" with Autoloop=1/ without handling the situation manually in the code?

5. Is there a way to enforce indicator calculations only on the "bar close" and not on every tick? (except doing it manually in code)?

6. When reversing positions automatically I can see that the orders are split into 2 parts (exit and new entry) - contrary to what's written in the documentation. This is clear from different Internal and Service/FillExecutionService ids with (sometimes) different timestamps of such order submissions seen in the Trade log.
Is this really the case???

7. Bars seem to be time-stamped based on their start times. Is there a way have them timestamped with "end-of-period" times?

8. It is required to enter login/password for (supposedly) automatic re-connect with IB's servers. Yet,SC does not launch IB Gateway automatically nor logs-in then with provided credentials. I thought IB Gateway might be unnecessary altogether or at least launch/log-in will happen automatically....Please clarify how this functionality is supposed to work.

I had one instance when SC seems to have shut down IB Gateway during nightly IB servers maintenance at 00:13 and did not restore\re-log afterwards..

9. Opening a chart with 30 days of 1min bars from IB takes forever. Much,much longer than Multicharts..

10. Timestamps I can see in the Trade Service log are typically showing :


Order  2015-12-28 09:31:00.000  Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | Sell Entry | Flatten order during reverse | Last: 87.452003  8718    Market  50000  Sell      Order Sent      DU257241  Close    50000  
Order  2015-12-28 09:31:00.001  Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | SellEntry | Last: 87.452003 8719  Market  50000  Sell  Order Sent  DU257241  Close    50000  
Order  2015-12-28 09:31:00.002  IB open order update  8718  4058 Market  50000  Sell  Open  DU257241 Close   50000  
Order  2015-12-28 09:31:00.003  IB order fill (execution)8718  4058  Market  50000  Sell  Filled 87.452 50000 DU257241 Close  50000  
Fill  2015-12-28 09:31:00.004  IB order fill (execution)8718  4058  Market  50000  Sell  Filled  87.452  50000  DU257241  Close      0001f4e8.5680936b.01.01
Order  2015-12-28 09:31:00.005  IB order fill (execution)8719  4059  Market  50000  Sell  Filled  87.455  50000  DU257241  Close      
Fill  2015-12-28 09:31:00.006  IB order fill (execution)8719  4059  Market  50000  Sell  Filled  87.455  50000  DU257241  Open    -50000  0001f4e8.5680936c.01.01

It is impossible that the turnaround from order generation to fill report back is only 4ms. Is xxxx 00.004 - means 4 milliseconds?

Thanks a lot for your support.
Evgeni
[2016-01-05 03:17:59]
Sierra Chart Engineering - Posts: 104368
1. You can change this yourself here:
http://www.sierrachart.com/index.php?page=doc/doc_GlobalSymbolSettings.php

2. OK.

3. You really need to read the documentation about this here:
http://www.sierrachart.com/index.php?page=doc/InteractiveBrokers.php#TrueRealTimeData

And experiment with it.

Also some of your questions are just impossible for us to answer because we do not even know exactly what you are doing within your own custom studies.

4. Your understanding is correct. The answer to the last question is no.

Although you may want to set sc.UpdateAlways = 1.

5. No.

6. Yes this is the case if necessary.
contrary to what's written in the documentation.
What documentation are you referring to?

7. This is documented here:
http://www.sierrachart.com/index.php?page=doc/doc_WorkingWithCharts.html#TimeScale

8. This question is not within the scope of our support. We will not provide help with this.

This definitely could not be the case:

I had one instance when SC seems to have shut down IB Gateway during nightly IB servers maintenance at 00:13 and did not restore\re-log afterwards..

9. This question is too vague for us to help with. Refer to help topic 30:
http://www.sierrachart.com/index.php?page=doc/helpdetails30.html

10. Refer to the documentation about the Date-Time field here:
http://www.sierrachart.com/index.php?page=doc/doc_TradeActivityLog.php#AvailableFields
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2016-01-05 16:45:04]
User754985 - Posts: 109
1. Noticed that default min.move/tick for IB cash/fx instruments is still 0.5 pips. While IB has moved to a precision of 0.1pips since end Nov. Would be great to correct.
- 1. You can change this yourself here:
http://www.sierrachart.com/index.php?page=doc/doc_GlobalSymbolSettings.php

Yes, I can. But since this is now an explicit,selectable option in IB's TWS/Gateway, it would definitely make sense to reflect it correctly in SC as well. Forgetting to uncheck "download settings from server" would overwrite settings incorrectly, causing all sorts of mismatches, etc

2. SC-integrated forex feed seems to be the "most retail" version of FXCM's (spreads appr. 1.5-2pips on eurusd), quite different from the feed published on their web site and described as relevant for their "standard"-level accounts. This makes it unusable as a primary/back up data feed to trade from with IB for execution. - OK

So, would you change to the correct fxcm feed?
You plan for a full FXCM data and trading integration based on FIX on your servers from Feb. What feed will this service have?

3. How does IB's "download 5-sec historical bars" feature technically work? Specifically (assuming IB is the datafeed), -- 3. You really need to read the documentation about this here:
http://www.sierrachart.com/index.php?page=doc/InteractiveBrokers.php#TrueRealTimeData

And experiment with it.

When setting "Record True Real-time bars" to TRUE, the "5-sec" bars come with a 20-sec delay, subsequently delaying order submission on bar close. Makes them really not usable in RT.
There is another option - "Download 5-sec historical intraday data" - but I could not find any reference to how it works in the documentation. How does it work and Why is it "not recommended"? I have tried to set it on/off but did not notice any change.

Overall, my issue is as follows: I backtested my system on IB's data (1-min historical bars), but found that RT bars are different and produce different trading results. 3 solutions came to mind: 1)use another datafeed (correct feed from fxcm? :-() or 2)build bars from 5-sec true RT bars (20sec delay :-( ) or 3) reload last x bars of data with correct IB's "historical" 1min bars..

IS such reloading possible programmatically?
Your advice is greatly appreciated!

4. When does SC "closes" a time-based bar (e.g. 1min)?
Using sc.UpdateAlways=1 does not "close" the bar and so to work will require Autoloop=0 and identifying bar close by time. Correct?

6. When reversing positions automatically I can see that the orders are split into 2 parts (exit and new entry) - contrary to what's written in the documentation.
I am referring to: http://www.sierrachart.com/index.php?page=doc/doc_AutoTradeManagment.php#SupportReversals
and specifically to: "An example of SupportReversals is as follows: The current Trade Position quantity is +3 (long Position of quantity 3), there is a Sell Entry order action with a quantity of 1, the Auto Trade Management system will send a Sell order with a quantity that will create a resulting Position of -1. This will be a quantity of 4."

This does not seem to work. Splitting order into 2 parts results in higher commission (at least).

10. Timestamps I can see in the Trade Service log are typically showing :
Order 2015-12-28 09:31:00.000 Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | Sell Entry | Flatten order during reverse | Last: 87.452003 8718 Market 50000 Sell Order Sent DU257241 Close 50000
Order 2015-12-28 09:31:00.001 Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | SellEntry | Last: 87.452003 8719 Market 50000 Sell Order Sent DU257241 Close 50000
Fill 2015-12-28 09:31:00.006 IB order fill (execution)8719 4059 Market 50000 Sell Filled 87.455 50000 DU257241 Open -50000 0001f4e8.5680936c.01.01
It seems impossible that the turnaround from order generation to fill report back is only 4ms
The documentation says: The format is: YYYY-MM-DD HH:MM:SS.MS. MS equals milliseconds and is not the actual millisecond time. Rather it is used to create a unique entry when entries have the same time-stamp. It is incremented until a unique time is found.
2 questions:
- 1) in my example above , it seems like "entries" have the same timestamp. But how can order turnaround times can be even <4ms.
- 2) what would be the way to track timings in ms of order submission/execution?

Thanks!
[2016-01-05 21:35:36]
Sierra Chart Engineering - Posts: 104368
1. We would not change this because it has performance consequences for some studies.

2. We are not sure what data feed FXCM will be providing with that new FXCM trading service. That is up to FXCM.

The current data feed will not change.

6. That documentation will not explain this detail. For more details refer to:
http://www.sierrachart.com/index.php?page=doc/doc_TradeWindow.html#ReverseCancel

10. Our current answer is as clear as can be.

We are looking into the possibility of showing the actual real millisecond time in the Trade Activity Log.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2016-01-06 01:52:33]
User754985 - Posts: 109
3. Please refer me to documentation for "Download 5-sec historical intraday data" setting in IB's Trading service settings. How does it work and Why is it "not recommended"? I have tried to set it on/off but did not notice any change.

6.
6. When reversing positions automatically I can see that the orders are split into 2 parts (exit and new entry) - contrary to what's written in the documentation.

I am confused: what does a SupportReversal flag in ACSIL have to do with order entry from Charts/DOM?
I have read it regardless but still cannot find any explanation. I am not using any attached orders;
I set sc.SupportReversal=True and do BuyEntry/SellEntry in a somewhat modified SC supplied sample code. Position is established correctly but in 2 legs.

Order  2015-12-28 09:15:02.000  Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | Buy Entry | Flatten order during reverse | Last: 87.476006  8716    Market  50000  Buy      Order Sent      DU257241  Close    -50000  
Order  2015-12-28 09:15:02.001  Auto-trade: AUD.JPY-CASH-IDEALPRO 1 Min #1 | Trading CrossOver Example | BuyEntry | Last: 87.476006  8717    Market  50000  Buy      Order Sent      DU257241  Close    -50000  
Order  2015-12-28 09:15:02.002  IB open order update  8716  4056  Market  50000  Buy Open DU257241 Close  -50000  
Order  2015-12-28 09:15:02.003 IB open order update  8717  4057  Market  50000  Buy Open DU257241 Close  -50000  
Order  2015-12-28 09:15:04.000  IB order fill (execution)8716  4056  Market  50000  Buy Filled87.483 50000  DU257241 Close    -50000  
Fill  2015-12-28 09:15:04.001  IB order fill (execution)8716  4056  Market  50000  Buy Filled 87.483 50000  DU257241  Close      0001f4e8.56809048.01.01
Order  2015-12-28 09:15:04.002  IB order fill (execution)8717  4057  Market  50000  Buy Filled 87.483 50000  DU257241  Close      
Fill  2015-12-28 09:15:04.003  IB order fill (execution)8717  4057  Market  50000  Buy Filled 87.483 50000  DU257241  Open    50000  0001f4e8.56809049.01.01
[2016-01-06 04:00:22]
Sierra Chart Engineering - Posts: 104368
3. This is an undocumented and unsupported feature. Not all of Interactive Brokers functionality is documented or supported because there are so many problems with Interactive Brokers. They really are quite a mess from our perspective.

You should use the Sierra Chart Forex symbols (File >> Find Symbol >> Forex) and then set the Trade and Current Quote Symbol to the corresponding Interactive Brokers symbol:
http://www.sierrachart.com/index.php?page=doc/doc_ChartSettings.html#TradeAndCurrentQuoteSymbol

6. We have researched this, and we have added a new subsection to the SupportReversals documentation:
http://www.sierrachart.com/index.php?page=doc/doc_AutoTradeManagment.php#SupportReversals

It is near the end of that SupportReversals section. It describes that there are two orders used and why that is the case.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
Date Time Of Last Edit: 2016-01-06 04:01:43
[2016-01-06 14:09:04]
User754985 - Posts: 109
3. What would be the benefit of using FXCMs "old retail" feed? I first hoped that I at least can use their mid-point price (which in theory should be the same for their current and "spread-marked-up" feed...But after observing/ comparing their mid-point price (derived from retail feed) with their "current" feed bid-ask prices on their website (in a quiet market), I saw that "marking-up" on their side happens unevenly, is biased to either the bid or ask...at their discretion..So, makes it not really usable/comparable to IB's.

On the other side (hold my fingers crossed), IB most probably improved their FX feed from 2016..As i write this now, I can very often see more ticks in IB's feed per minute than in FXCM's (e.g. EURJPY), anywhere from 240 to 1000+ ticks(!!),i.e. not really snapshots! This leads to being nearly no difference between their the "historical bars" and "RT bars"...My problem solved.

6. Yes, going "unmanaged" one can do anything.
The benefit of "SupportReversals" is that in case of prior position "issues" (wrong quantity), with "supportreversals" total order size would be calculated automatically, without the user having to handle all such situations in the code manually..

It would be great to have one total order size in case of reversal with "market" orders, and split - as you described now - in case reversal happens with limits.

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account