NexusFi: Find Your Edge


Home Menu

 





MultiCharts lag time?


Discussion in MultiCharts

Updated
      Top Posters
    1. looks_one bobbakerr with 63 posts (24 thanks)
    2. looks_two Big Mike with 19 posts (19 thanks)
    3. looks_3 Jura with 11 posts (8 thanks)
    4. looks_4 Bimi with 10 posts (7 thanks)
      Best Posters
    1. looks_one bretter with 4 thanks per post
    2. looks_two RM99 with 2.3 thanks per post
    3. looks_3 Big Mike with 1 thanks per post
    4. looks_4 bobbakerr with 0.4 thanks per post
    1. trending_up 57,327 views
    2. thumb_up 144 thanks given
    3. group 23 followers
    1. forum 171 posts
    2. attach_file 2 attachments




 
Search this Thread

MultiCharts lag time?

  #131 (permalink)
 diverdan 
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
Posts: 185 since Feb 2010
Thanks Given: 106
Thanks Received: 99

Hi Bob

I have been sort of lurking in your thread for a while.

I have been using MC 6 with IB for trading FX live for 3 - 4 months and 4 months in sim.

I have currently upgraded to MC7 and am now running in sim again until I am confident to use real money plus as it is holiday times the FX is not suitable for my trading style.

Bottom line is that I have never experienced this sort of slippage or delays that you have experienced.

As I am running on sim, I could run a version of your code (doesn't have to be the actual system) against a FX pair if that would be be of help to you?

Cheers,

Daniel

Visit my NexusFi Trade Journal Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Better Renko Gaps
The Elite Circle
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
ZombieSqueeze
Platforms and Indicators
Trade idea based off three indicators.
Traders Hideout
 
  #132 (permalink)
 
bobbakerr's Avatar
 bobbakerr 
Riverdale, Idaho, USA
 
Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker: Optimus Futures, Rithmic Data, TradeStation
Trading: CL, ES
Posts: 115 since Aug 2010
Thanks Given: 241
Thanks Received: 51


diverdan View Post
... I have never experienced this sort of slippage or delays that you have experienced.

As I am running on sim, I could run a version of your code (doesn't have to be the actual system) against a FX pair if that would be be of help to you? ...


Hi Daniel,

Yes, please do so. The more this is tested, the better the code could become, or the more likely MC will address this very huge problem.

-- Bob

Started this thread Reply With Quote
  #133 (permalink)
 
MultiCharts's Avatar
 MultiCharts 
Columbus, Ohio, US
 
Experience: Intermediate
Platform: MultiCharts
Broker: Multiple/Multiple
Trading: ES, EUR/USD
Posts: 168 since Oct 2010
Thanks Given: 74
Thanks Received: 172



bobbakerr View Post
I am very disappointed with MC 7. I was hoping it would have eliminated my backtesting (and FORWARD TESTING) bugs. But things are just the same.

Yes, MC 7 has some nice additions. But as far as acting on data tick by tick and posting Buy / SS signals timely and posting them at the correct price, forget it. At least for 2-point Range Bars, even on such a slow instrument as ES.

I wrote a work-around program to try to help MC eliminate the bugs that I was encountering. (I'll list the code below.) It uses InsideBid and InsideAsk, so that everything should be current. But just watching it run today, I took notes on what happened from 2:18 PM to 3:20 PM Central time.

Before I list what happened, for the day (since midnight), MC says the strategy made +2801 Net for 1 Contract of ES on 26 R.T.'s, with 100% Success Ratio.

Now the results from watching it run 'Live' for the time period shown above:
2:18 -- Should have gotten SS signal at 1323.00. MC finally gives the signal some minutes later, but inserts it 3 minutes Before my signal, at 1323.75.
2:32 -- Should have gotten Buy signal at 1322.75. MC finally gives the signal some minutes later, but inserts it 2 minutes Before my signal, at 1321.75.
2:36 -- Should have gotten SS signal at 1321.75. MC finally gives the signal 2 minutes later, but inserts it 3 minutes Before my signal, at 1322.75.
2:38 -- Should have gotten Buy signal at 1322.25. MC finally gives the signal 2 minutes later, but inserts it 1 minute Before my signal, at 1321.50.
2:44 -- Should have gotten SS signal at 1322.00. MC finally gives the signal 6 minutes later, but inserts it 1 minute Before my signal, at 1322.75.
3:00 -- Should have gotten Buy signal at 1323.25. MC finally gives the signal 3 1/2 minutes later, but inserts it 8 minutes Before my signal, at 1322.00.
3:06 -- Should have gotten SS signal at 1322.50. MC finally gives the signal 18 minutes later (After the market Closes!), but inserts it 2 1/2 minutes Before my signal, at 1323.75. This is totally unbelievable!


*****
MultiCharts needs to address these problems. And they are huge problems. Now that MC 7 is out, their programmers have time to see why this happens. It is so wrong it is sinful. I will post my ACTUAL code below. I hope there are major flaws in it so that MultiCharts is NOT wrong.
*****

 
Code
{** Top Window (.50-cent Range bar -- CME) = 'Current' Expiration Contract (the Trading contract).
  When 2 Days left before its Expiration, switch to Next month out for Top Window. **}
{** Bottom Window (50-cent Range bar -- CME) = 3 months farther out (in Expiration).
{Both are Rithmic Data Feed.}

inputs:  len(3);
variables:  MA(0),B1(0),B2(0),A1(0),A2(0),diffB(0),diffA(0),
            diff(0),Price(0),AdjMA(0);
            
If CurrentBar=1 then ClearDebug;

MA=AverageFC{(Price,len)}(C of Data1,len);
B2=InsideBid of Data2; B1=InsideBid of Data1;
A2=InsideAsk of Data2; A1=InsideAsk of Data1;
diffB=B2-B1; diffA=A2-A1;
Price=(C+C[1]+C[2])/3;
AdjMA=Price+(diffB+diffA)/2;

If date>=1110718 {LastBaronChart} then begin
  print(Time," ",C," ","B2"," ",B2," ",
  "diffB",diffB," ","A2"," ",A2," ","diffA",diffA," ","AdjMA"," ",AdjMA);
end;

If InsideBid of Data2>AdjMA then
  Buy("BAsk") Next Bar at {InsideAsk}Market;
If InsideAsk of Data2<AdjMA then
  SellShort("SSBid") Next Bar at {InsideBid}Market;

Hello Bob,

As Bimi has pointed out, please add print statements to your code. For example like this:

 
Code
If InsideBid of Data2>AdjMA then
begin
print("Send Buy: ", date, time_s);
  Buy("BAsk") Next Bar at {InsideAsk}Market;
 end;
 
If InsideAsk of Data2<AdjMA then
begin
print("Send Sell: ", date, time_s);
  SellShort("SSBid") Next Bar at {InsideBid}Market;
 end;
May I ask you what are your data1 and data2 series? I would suggest you to create to identical charts, add your strategy to each of them and turn on auto trading on one of them. Then, you can compare print output from these two charts. If you see significant difference please contact MultiCharts support directly so we can analyze the situation.

You can also come to our Live Chat Mon-Fri between 6:30AM and 2PM EST so our customer care specialists can connect to your machine remotely and help you: Customer Support Messenger

MultiCharts - Raising the Trading Standard.
Please send me a private message if you have any further questions about MultiCharts
Follow me on Twitter Reply With Quote
Thanked by:
  #134 (permalink)
 
bobbakerr's Avatar
 bobbakerr 
Riverdale, Idaho, USA
 
Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker: Optimus Futures, Rithmic Data, TradeStation
Trading: CL, ES
Posts: 115 since Aug 2010
Thanks Given: 241
Thanks Received: 51


MultiCharts View Post
Hello Bob,

As Bimi has pointed out, please add print statements to your code. For example like this:

 
Code
If InsideBid of Data2>AdjMA then
begin
print("Send Buy: ", date, time_s);
  Buy("BAsk") Next Bar at {InsideAsk}Market;
 end;
 
If InsideAsk of Data2<AdjMA then
begin
print("Send Sell: ", date, time_s);
  SellShort("SSBid") Next Bar at {InsideBid}Market;
 end;
May I ask you what are your data1 and data2 series? I would suggest you to create to identical charts, add your strategy to each of them and turn on auto trading on one of them. Then, you can compare print output from these two charts. If you see significant difference please contact MultiCharts support directly so we can analyze the situation.

You can also come to our Live Chat Mon-Fri between 6:30AM and 2PM EST so our customer care specialists can connect to your machine remotely and help you: Customer Support Messenger


I did add the Print statements as Bimi suggested. I also now added yours as you showed.

My Data1 and Data2 series are as I listed at the top of my Code: Specifically, Data1 = ESU1, Data2 = ESZ1.

I will go onto your Live Chat so that you can observe what happens on my screen. It would probably be more efficient if you just loaded onto your own computer what I have and watched it yourself. But I will do as you say. However, I have to leave right now for a couple of hours, then I'll contact you via the Live Chat. Hope you're still there.

Started this thread Reply With Quote
  #135 (permalink)
 
bobbakerr's Avatar
 bobbakerr 
Riverdale, Idaho, USA
 
Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker: Optimus Futures, Rithmic Data, TradeStation
Trading: CL, ES
Posts: 115 since Aug 2010
Thanks Given: 241
Thanks Received: 51

I went to Live Chat on MultiCharts this morning. I asked for 'the best' and I think I got the best: 'Roman'.

He found the problems and seemed to be very knowledgeable, both with my code and all aspects of MultiCharts.

The main problem that was causing the time delays was a setting behind the scenes. Under 'Format Signals/Format/Properties/Advanced' he unchecked 'RealTime-History Matching'. When it was checked, that's what was causing MC to wait on giving a Signal until a tick was received from Data2. This sometimes took many minutes, for Data2 is a far-out contract.

He also cleaned-up my graphs in Data2 and simplified my code a little.

I'm very pleased with what Roman did. I now feel pretty confident with MultiCharts. I've always liked what MC could do. And now it does what I want it to do!

Some further forward-testing and I just may be ready to go again.

Note: The signals produced now are nowhere near as 'good' as what was produced by the program using the wrong setting. But the results are still looking pretty good. I just have to experiment around a little to see what I actually want to do.

THANK YOU AGAIN, ROMAN AND MULTICHARTS.

Started this thread Reply With Quote
  #136 (permalink)
 bomberone1 
London
 
Experience: Beginner
Platform: MultiCharts
Posts: 277 since Nov 2010
Thanks Given: 14
Thanks Received: 29

Great, I am curios to compare the improvment of the code, and how much do you improved the original code to make it easy.
My best.

Reply With Quote
  #137 (permalink)
 Seberbach 
Midland, Michigan USA
 
Experience: Advanced
Platform: TradeStation, Biocomp
Trading: TF
Posts: 21 since Aug 2010
Thanks Given: 71
Thanks Received: 22

Since I have both MC and TradeStation, I have been following this thread with great interest.
For TradeStation, I mentioned (in early post this thread) the idea of limit or stop offset from the close of prior bar sufficient to create a short delay, so any "optimizing" would not be "misled" by over optimistic assumption of instant transmission of orders and instant promotion to front of line in order book. That is no guarantee of real time being exactly like back testing, but I have found that it can help a lot in making test closer to real time in many cases. Back test usually gets less optimistic, while real time slippage can become less, or not.

With TradeStation, I have problems with trading a data1 by using data2 as proxy, since I, like yourself, did not know how to precisely synchronize "inside the bar" ordering with two data streams using one as a proxy for the other; the ticks will seldom arrive simultaneously in both. TradeStation, I think by default, will wait for the close of data1 or the next tick of data1 if "looking inside bars" before issuing any orders, and I believe TradeStation cannot even deal with data sync for other than time based bars. "TradeStation does not support mixed data intervals for advanced bar types" and "....Does not support look inside bar with advanced bar types"

I was not even aware of the "advanced" features of MultiCharts data syncing, except for the discovery early on that I could chart advanced bar types like Kagi bars for data2 and time bars for data1 on the same chart! I did not have a clue as to how these are really synchronized.....let alone options I could set.

Maybe this will also resolve my own unanswered questions! I was charting with Kagi bars and time bars for the data 2 and data 3 proxies overlaid, and data1 at the top running at 1 minute intervals.....so my stops and limits were reset once every minute maximum, usually much less often, and canceled at the end of a minute unless the signal was "renewed" except for stops or targets for duration of the trade (set at the entry of the trade relative to the entry price), and could enter or exit up to about one minute after I sent out the order (until cancel). TradeStation cancels hypothetical order close of next bar by default for the back testing.

I would suggest trying this experiment: running a chart of SPY ETF for data2 and try another chart with the ETF for data1 to see what a finer grained tick size does to this syncing with various futures....

In proxy signal trading (as I call it anyway), the order prices, stops and limits creating the delayed executions, apply to the data1 only, whereas ordering signals may come from the other data streams as well. Some ETFs might hit stops or limits faster, or emit ordering signals faster due to smaller space batween ticks, particularly the leveraged ones.

Reply With Quote
Thanked by:
  #138 (permalink)
 
bobbakerr's Avatar
 bobbakerr 
Riverdale, Idaho, USA
 
Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker: Optimus Futures, Rithmic Data, TradeStation
Trading: CL, ES
Posts: 115 since Aug 2010
Thanks Given: 241
Thanks Received: 51

Seberbach, I'd throw TradeStation away. I have it also, but I don't even look at it. MultiCharts, now that my problem has been solved, is way, way ahead of TradeStation.

And it has been obeying the signals perfectly and timely since the fix this morning.

Just my opinion.

Started this thread Reply With Quote
Thanked by:
  #139 (permalink)
 
atata's Avatar
 atata 
Calgary, AB
 
Experience: Intermediate
Platform: NT, IB, TOS, MC
Broker: IB, Rithmic
Trading: CL, ES, GC, ZS, ZB
Posts: 116 since Mar 2010
Thanks Given: 90
Thanks Received: 99

My worst CL slippage was ~6-7 cents if I remember correctly on my IB account however I did not trade cl for long enough to consider myself as an expert.
Also you might aware of this already however not stated in the posts:
beside setting IOG = true for your signal
variables you'd like to be processed tick by tick you shall declare them with "IntrabarPersist" otherwise they will be processed at the first tick of next bar. This might help you with time delay.

If you have 400-500 RT a day than I suggest to use only limit orders for entries to eliminate at least the entry slippage. You'll RT will be less but your slippage as well. Also you can try to exit with limit and configure MC to turn your limit order into market order after 2-5 seconds.
I did see early May the cl going over $1 in matter of seconds and just a minute before I was thinking to go long... lol I would've make money faster for that period than Bill Gates - while that type of a move does not happen very often yet your account have to be able to handle such move if goes against you. Hope it helps.

atata

Reply With Quote
  #140 (permalink)
 
bobbakerr's Avatar
 bobbakerr 
Riverdale, Idaho, USA
 
Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker: Optimus Futures, Rithmic Data, TradeStation
Trading: CL, ES
Posts: 115 since Aug 2010
Thanks Given: 241
Thanks Received: 51


Thank you, atata.

Started this thread Reply With Quote




Last Updated on April 4, 2012


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts