MultiCharts lag time? - MultiCharts | futures io social day trading
futures io futures trading


MultiCharts lag time?
Updated: Views / Replies:29,841 / 171
Created: by bobbakerr Attachments:2

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors Ė all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you donít need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Reply
 2  
 
Thread Tools Search this Thread
 

MultiCharts lag time?

  #121 (permalink)
Elite Member
Riverdale, Idaho, USA
 
Futures Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker/Data: Optimus Futures, Rithmic Data, TradeStation
Favorite Futures: CL, ES
 
bobbakerr's Avatar
 
Posts: 106 since Aug 2010
Thanks: 211 given, 39 received


Bimi View Post
I have not looked at your code, so I can't comment on the location of the problem.
For the pages I have read here, I do observe a few things:
1. you do not have a flow chart (ie you do not have a clear view of the whole picture)
2. you have not tested your logic in an indicator. ie. there is no certainty that your logic is firing at the time and places that you expected them to be. So much for the claim that the order was sent an hour late !
3. If I ask for your pseudo code, probably you do not have it either. Not that it is a must, but will show you how you have came to code your logic.
4. If I ask for a variable map, probably you will look at me with a blank face.
5. If I ask for an audit print out, what can you offer me? do you have the audit trail for the order that was an hour late?

I am not saying these to dis you.
I am merely describing the observations -- you have not done your due diligence,
and hope you realize that walking with a big stick is not going to get you anywhere any faster.
You have to start with your code... go through each step with a fine tooth comb.
you have to manually calculate each variable and condition... under all permutations, and to verify their applicability.
Before you have done the above, calling MultiCharts to the carpet will not make you look pretty.

There are debugging step you must make.
There are audit trails you must trace.
If you like, I can take you through them step by step.
It is not particularly difficult to do, but
it is not going to be quick.
You must take your time (and care) to walk through the code
and apply them to all the possible real life scenario.


Bimi, read all the posts. You'll then see my code, at least enough of it to see my logic.
1) Because of you, I do have a Flow Chart.
2) About the order sent 1 hour late: I SAW IT HAPPEN. There was no trade in the Data2 series for over 1 hour. When it finally traded, MC inserted that trade back in time over 1 hour. And then it proceeded to give a Signal there, which proved to be very profitable. (This was not during actual, real-money trading.) I have no record of it for I didn't know it was going to happen. I would have to take screen shots constantly, or record all day long as Big Mike suggested, to prove it to you. But I don't need to prove it to anyone. I saw it happen. And I see it happen on much smaller time periods all the time. I don't lie.
3) I don't even know what 'pseudo code' is.
4) Yes, for a 'variable map' I have a blank face.
5) For the response to this, read #2 again.

And you're right about all the debugging, etc., I must do. I'm trying to do that. But I was a grading and paving contractor during my working days. I was not a professional programmer. I've taught myself what little I know. I'm just a hard worker who often times looks for too many shortcuts.

I'm 66 years old and I still have not learned patience. So when I see things go constantly 'wrong', I really get angry. You look at what I programmed. It's on P.4, Post #79. (Since then I have changed it to try to work around the problems that have come up. I'm trying to use InsideBid and InsideAsk now. But I've run into problems there also.) If you can spot the problems that cause the time lag, then please let me know. I see nothing wrong myself. But then I'm old, worn-out, and have no patience. You're young, bright, and quick. I envy you.

Reply With Quote
 
  #122 (permalink)
Trading for Fun
London
 
Futures Experience: None
Platform: mc, TS, ninja
Favorite Futures: es
 
Bimi's Avatar
 
Posts: 118 since Mar 2010
Thanks: 42 given, 58 received


bobbakerr View Post
Bimi, read all the posts. You'll then see my code, at least enough of it to see my logic.
1) Because of you, I do have a Flow Chart.
2) About the order sent 1 hour late: I SAW IT HAPPEN. There was no trade in the Data2 series for over 1 hour. When it finally traded, MC inserted that trade back in time over 1 hour. And then it proceeded to give a Signal there, which proved to be very profitable. (This was not during actual, real-money trading.) I have no record of it for I didn't know it was going to happen. I would have to take screen shots constantly, or record all day long as Big Mike suggested, to prove it to you. But I don't need to prove it to anyone. I saw it happen. And I see it happen on much smaller time periods all the time. I don't lie.

In programming, nobody is a lier, the only lier is the fleeting intrabar variable.

There is no need to get hang up on the delayed order. It happened, we have to find out why.
There is no need worry about someone not believing you.
That's not the point of the exercise; we are here to code, not assign blame.
There are ways to insert audit trails in the code to track your variables, orders, conditions, etc.,
Once I have shown you how, you can do that to all the coding projects.



bobbakerr View Post
3) I don't even know what 'pseudo code' is.
4) Yes, for a 'variable map' I have a blank face.
5) For the response to this, read #2 again.

And you're right about all the debugging, etc., I must do. I'm trying to do that. But I was a grading and paving contractor during my working days. I was not a professional programmer. I've taught myself what little I know. I'm just a hard worker who often times looks for too many shortcuts.

I'm 66 years old and I still have not learned patience. So when I see things go constantly 'wrong', I really get angry. You look at what I programmed. It's on P.4, Post #79. (Since then I have changed it to try to work around the problems that have come up. I'm trying to use InsideBid and InsideAsk now. But I've run into problems there also.) If you can spot the problems that cause the time lag, then please let me know. I see nothing wrong myself. But then I'm old, worn-out, and have no patience. You're young, bright, and quick. I envy you.

No need to pull the passive-aggressive routine...
We all have our challenges, I will leave my sob story for another day, another place.

Reply With Quote
 
  #123 (permalink)
Elite Member
Singapore
 
Futures Experience: Beginner
Platform: Multicharts, R
Favorite Futures: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received



RM99 View Post
I'll sum it all up for you.

1) Trade RTH.
2) Use variable profit limits that allow you big or bigger wins (which leads to a P/L ratio of 2:1 or better).
3) Use sophisticated money management techniques like trailing stops, tiered stops, etc...but ALWAYS LIMIT YOUR DOWNSIDE LOSS and keep your upside wins unlimited.
4) Avoid strategies that win by a thousand paper cuts. Start seeking an edge based off larger moves. HFT is for guys that are directly plugged into the exchange or running their own tradeserver/market maker capability.

Hi RM99

Thank you very much for your post - it is very pertinent for me at my stage of the journey.

To date I have primarily been developing strategies with a fixed profit target and stop loss. I have introduced variable stop loss management which respond to changes in conditions (by moving the stop in the direction of the trade or exiting). This is all good.

I was thinking about either reducing the fixed target amounts to increase the % winning, maybe introducing multiple targets or somehow staying with winning trades for longer through trailing stops.

You seem to be recommending the trailing stop option?

Lots is written in futures.io (formerly BMT) about entries, but not much is written about trailing stops. Do you have any good suggestions for information sources. Perhaps you could explain about how tiered stops work? Any help or assistance you could provide would be very much appreciated.

Thanks again,

Daniel

Reply With Quote
 
  #124 (permalink)
Fortitudo et Honor
Austin, TX
 
Futures Experience: Advanced
Platform: TradeStation
Favorite Futures: Futures
 
Posts: 882 since Mar 2011
Thanks: 128 given, 703 received


diverdan View Post
Hi RM99

Thank you very much for your post - it is very pertinent for me at my stage of the journey.

To date I have primarily been developing strategies with a fixed profit target and stop loss. I have introduced variable stop loss management which respond to changes in conditions (by moving the stop in the direction of the trade or exiting). This is all good.

I was thinking about either reducing the fixed target amounts to increase the % winning, maybe introducing multiple targets or somehow staying with winning trades for longer through trailing stops.

You seem to be recommending the trailing stop option?

Lots is written in futures.io (formerly BMT) about entries, but not much is written about trailing stops. Do you have any good suggestions for information sources. Perhaps you could explain about how tiered stops work? Any help or assistance you could provide would be very much appreciated.

Thanks again,

Daniel

I'll respond, but we shouldn't hijack this guy's thread. Maybe you can start a new thread on the topic.

Some basics.

Obviously you have a basic/simple trailing stop which has a fixed trail. Fixed trails offer a little more flexibility than simple fixed stops. However, the fixed trail itself presents some challenges and limitations. The larger the trail amount, the more forgiving it is to retracements (not exiting you earlier than you would have liked). However, a larger trail also means you give up more profit when the market finally moves against you for good (after the trend has ended). Pulling your stops in tight has the opposite tradeoff, you cling to more profit, but you might get stopped early out of trades that wanted to continue after a pullback, but you couldn't survive the retracement because your trail was too tight.

Tiered stops (fixed or trailing) simply involve placing a second stop once a threshold is reached. I highly recommend that you research "maximum favorable excursion" (MFE) as a percentage and how to do the analysis as to what the average MFE is for your trading results. This will allow you to set things like a second stoploss amount that overrides the first (locking in and ensuring at that point that you breakeven, take a small amount of profit, a medium amount of profit...etc...whatever you want).

You can also place a "floor" on your trails which essentially waits for a trade to reach a certain profit amount before activating the trailing stop. (essentially a tier for the trailing stop).

I've also developed my own parabolic and hyperbolic stops...which are essentially trailing stops that shrink following a parabolic or hyperbolic pattern. Basically, in order to overcome the issue in the first paragraph, you can have a trail start out wide and forgiving, but as the trade progresses, the size of the trail shrinks, locking in a certain amount of profit. If you shrink slowly at first, but then race to lock in profits after a few ticks...this will have favorable results in certain market conditions. If you have a wide trail at first that quickly shrinks at first, but then slows to a more reasonable pace later....that also has it's advantages, but only in certain markets.

The essence here is that you can familiarize yourself with any number of combinations of stops, trails, etc. Automation allows you to craft/code your stops to behave however you want. Only iniate upon certain conditions, etc.

I like to incorporate both a price action exit (based upon some action by the market, retracement, pullback, end of trend, etc) and then also protect it with a trailing stop that initiates on some floor amount. I also like to lock in a break even at some point. So at some points in a trade, I may have 3 different exits working.....one at the break even, one that's trailing and one that's waiting if the price action criteria are met. This allow the flexibility to let the trade continue, but if my price action criteria happen to slip and not catch it....or for whatever reason, my trail hasn't shrunk above break even yet.....etc, etc.

This is where trial and error comes in. You craft a strategy with an entry edge. You start to optimize the profit/loss amounts and you start "trying" different exit strategies to wring out more profit.

Don't fixate yourself on win%. You should concern yourself more with overall profit, net profit/trade, and profit/loss ratio.

I really don't care if the win% is 5%, as long as the strategy is profitable (to my liking), has acceptible drawdown, has a large profit/loss ratio and doesn't take 100 trades to make a dollar (high net profit/trade average).

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
The following 4 users say Thank You to RM99 for this post:
 
  #125 (permalink)
Elite Member
Riverdale, Idaho, USA
 
Futures Experience: Intermediate
Platform: Optimus Futures + MultiCharts + TradeStation
Broker/Data: Optimus Futures, Rithmic Data, TradeStation
Favorite Futures: CL, ES
 
bobbakerr's Avatar
 
Posts: 106 since Aug 2010
Thanks: 211 given, 39 received

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;

Reply With Quote
 
  #126 (permalink)
Fortitudo et Honor
Austin, TX
 
Futures Experience: Advanced
Platform: TradeStation
Favorite Futures: Futures
 
Posts: 882 since Mar 2011
Thanks: 128 given, 703 received


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;

If you're getting a delay in several minutes from a simulated forward signal to a live signal, I would agree, that something is definitely, VERY off.

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
 
  #127 (permalink)
Trading for Fun
London
 
Futures Experience: None
Platform: mc, TS, ninja
Favorite Futures: es
 
Bimi's Avatar
 
Posts: 118 since Mar 2010
Thanks: 42 given, 58 received


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;

can you insert the PRINT statements here:

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

  // PRINT CURRENTTIME_S and your key logic variables here

end;

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

  // PRINT CURRENTTIME_S and your key logic variables here

end;


Last edited by Bimi; July 20th, 2011 at 12:40 PM. Reason: added CURRENTTIME_S
Reply With Quote
The following user says Thank You to Bimi for this post:
 
  #128 (permalink)
Trading for Fun
London
 
Futures Experience: None
Platform: mc, TS, ninja
Favorite Futures: es
 
Bimi's Avatar
 
Posts: 118 since Mar 2010
Thanks: 42 given, 58 received


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;


add CURRENTTIME_S to your PRINT audit trail.

Reply With Quote
 
  #129 (permalink)
Trading for Fun
London
 
Futures Experience: None
Platform: mc, TS, ninja
Favorite Futures: es
 
Bimi's Avatar
 
Posts: 118 since Mar 2010
Thanks: 42 given, 58 received

you should always add this to the top of the code:

[intrabarodergeneration=true]

or

[intrabarodergeneration=false]

Reply With Quote
The following user says Thank You to Bimi for this post:
 
  #130 (permalink)
Trading for Fun
London
 
Futures Experience: None
Platform: mc, TS, ninja
Favorite Futures: es
 
Bimi's Avatar
 
Posts: 118 since Mar 2010
Thanks: 42 given, 58 received


since you have assigned B2 to InsideBid of Data2,
why do you not use B2?

by using different variables, you are introducing room for errors.

 
Code
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;

Reply With Quote

Reply



futures io > > > > MultiCharts lag time?

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)

Linda Bradford Raschke: Reading The Tape

Elite only

Adam Grimes: TBA

Elite only

NinjaTrader: TBA

January

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
John Ehlers Zero Lag ebtrader ThinkOrSwim Programming 3 April 2nd, 2017 10:49 PM
how the macd zero lag indicator works DarrenH NinjaTrader 6 September 13th, 2013 04:31 PM
Queue a backtest in multicharts same symbol on multiple time frames? crbucks MultiCharts 4 June 23rd, 2011 11:33 AM
MBTrading Data Error-Lag Sad Planet Reviews of Brokers and Data Feeds 3 May 5th, 2011 06:05 AM
MACD_Zero Lag Indicator Explanation GilR NinjaTrader 4 February 25th, 2011 07:36 AM


All times are GMT -4. The time now is 10:03 AM.

Copyright © 2017 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts
Page generated 2017-12-12 in 0.25 seconds with 20 queries on phoenix via your IP 54.90.92.204