- Share my profitable EA -- Steady Growth
- Tester: Testing Visualization: Manual Trading
- EA Model. Help Me Please!
Сontrol point model is only virtual model for running back testing of EA. These control points are diffrence from real points in past and calculated if you don't have deep detailed history.
1) I still do not how control points work. how it separate into 12 point? If using
hourly chart, is it run each 5 minute(60 minute/12 points)?
2) For every tick model. is it exactly same with real time data if using a full detail history data?
It is impossible since test useing simulated data generated by softwre based on real history data.
But in real time, only have price at some time and no price data or no data-change at some time, you can not use simulated data at real time in real world since only there are real price data at real time.
1) I still do not how control points work. how it separate into 12 point? If using hourly chart, is it run each 5 minute(60 minute/12 points)?
yes, 12 point data generated by softwre based on real history data of hours, but 12 point not same as real 5 min that time.
2) For every tick model. is it exactly same with real time data if using a full detail history data?
no, data generated through another mode by softwre based on real history data.
static datetime last_tick = NULL; bool new_control = false; if (last_tick != NULL) { for (int m = 5; m <= 60; m += 5) { if (m < 60) { if (TimeMinute(last_tick) == m-1 && TimeMinute(TimeCurrent()) == m) { new_control = true; break; } } else { if (TimeMinute(last_tick) == 59 && TimeMinute(TimeCurrent()) == 0) { new_control = true; break; } } } } if (new_control) { . . . } last_tick = TimeCurrent();
I started a new thread for the EA I'm working on that has this very same problem. Please review
Backtesting Control Points - What's the calculation ? What's the solution ?
'Backtesting Control Points - What's the calculation ? What's the solution ?'
On a 1HR Chart, 60min/5min = 12 control points. or 60min/10min = 6 control points. In the article
Strategy Tester: Modes of Modeling during Testing
posted somewhere here on this forum they state that if theres no data on the smaller time frame they use 12 control points, hence 60min/5min = 12 control points. They also state that once data on the smaller time frame becomes available they use 6 control points, hence 60min/10min = 6 control points.
The code block I posted previously may not be the precise solution but it may be a step in the right direction. Basically, the variable "new_control" only becomes active if the tick passes to a new control interval.
ps. I'm expecting responses to this.
One thread would be enough for this. The same issue is unclear in all these topics.
Sie haben mich im Grunde auf die Idee gebracht, den Takt so zu unterteilen, dass er nur ausgeführt wird, wenn ein neues Intervall innerhalb dieses Takts abgeschlossen wurde. Dies sieht folgendermaßen aus:
Auf einem 1-Stunden-Diagramm, 60 Minuten/5 Minuten = 12 Kontrollpunkte. oder 60min/10min = 6 Kontrollpunkte. In dem Artikel
Strategy Tester: Modes of Modeling during Testing
, der irgendwo hier in diesem Forum gepostet wurde, geben sie an, dass sie 12 Kontrollpunkte verwenden, wenn es keine Daten zum kleineren Zeitrahmen gibt, also 60 Minuten / 5 Minuten = 12 Kontrollpunkte. Sie geben auch an, dass sie, sobald Daten für den kleineren Zeitrahmen verfügbar sind, 6 Kontrollpunkte verwenden, also 60 Minuten/10 Minuten = 6 Kontrollpunkte.
Der Codeblock, den ich zuvor gepostet habe, ist möglicherweise nicht die genaue Lösung, aber möglicherweise ein Schritt in die richtige Richtung. Grundsätzlich wird die Variable „new_control“ nur dann aktiv, wenn der Tick auf ein neues Kontrollintervall übergeht.
p.s. Darauf erwarte ich Antworten.
Thank you for your code I've been looking for a code for a long time that will make the main program behave in every tick like in the control point.
Your code is the only one that has actually helped me so far.
There is only a small problem that this code does not open an order at real trading time, what could be the reason?
it would also be nice of you if you could develop us another code that shows even more similar results as Controll Point returns.
I am very curious about your feedback
Thank you very much
void OnTick(){ static datetime M5curr=0; datetime M5prev=M5curr; M5curr = iTime(_Symbol, PERIOD_M5, 0); if(M5prev != M5curr) OnControlPoint();
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use