Chart Event For MT4 Backtester

To add comments, please log in or register
Tradeing
575
Tradeing  

Hello,

i had find out with the help of a Moderator that in the Strategy Tester the function OnChartEvent() does not work, i wanted to ask if somebody knows a trick or solution how i can get the chart event also in a Strategy backtest.

qjol
3196
qjol  
Tradeing
575
Tradeing  
qjol:
what about asking service desk

i did think the forum is the place where such thinks must be ask.
William Roeder
20108
William Roeder  
How do you expect us USERS to help you when "OnChartEvent() does not work"? We can't fix OnChartEvent, only MQ can.
Alain Verleyen
38380
Alain Verleyen  
PlanandTrade:

Hello,

i had find out with the help of a Moderator that in the Strategy Tester the function OnChartEvent() does not work, i wanted to ask if somebody knows a trick or solution how i can get the chart event also in a Strategy backtest.


OnChartEvent() is not yet implemented in the Strategy Tester. What are you trying to do with it ?
Tradeing
575
Tradeing  
angevoyageur:
OnChartEvent() is not yet implemented in the Strategy Tester. What are you trying to do with it ?

I have try to use buttons for trading during a backtest, but without the OnChartEvent() i cannot let the EA open a trade when i click a button, or is there another way to do that?
Taskin Osman
778
Taskin Osman  
same problem here, implementing OnChartEvent in Tester is really important. Without backtesting its very hard to develop
Fernando Carreiro
4960
Fernando Carreiro  

I know this is a an old thread, but I recently needed to debug some of my code that implements "buttons" to control certain aspects of an EA I was coding and had need for it to work in the Strategy Tester.

The solution I came up with was to check the button states on every incoming tick when the EA was in Visual Mode.

In other words, something like this:

void CheckResetButton()
{
   if( bool( ObjectGetInteger( 0, idResetButtonObject, OBJPROP_STATE ) ) )
   {
      Print( "Reset Button Clicked" );
      ObjectSetInteger( 0, idResetButtonObject, OBJPROP_STATE, false );
   }
}

void OnTick()
{
   // Only needed in Visual Testing Mode
   if( IsVisualMode() )
   {
      // Check Chart Buttons in Visual Mode
      CheckResetButton();
   }

   return;
}
Nikolay
188
Nikolay  

@FMIC, nice simple solution.

@PlanandTrade, depending on your use case the following solution may or may NOT be possible (for one use case of mine it worked):

  • implement the reaction to the events in mqh file
  • for the Strategy Tester you implement an additional indicator that listens to the events and calls the reactions in the mqh file
  • for Real Time, you adjust your EA source code to use the mqh file event reactions or use the EA with the indicator
ddmmmyyyy B
14
ddmmmyyyy B  
Fernando Carreiro:

I know this is a an old thread, but I recently needed to debug some of my code that implements "buttons" to control certain aspects of an EA I was coding and had need for it to work in the Strategy Tester.

The solution I came up with was to check the button states on every incoming tick when the EA was in Visual Mode.

In other words, something like this:

I am new to MQL4 programming. Is your code work on MQL4 as well?

I copied and pasted your code to my EA and it returned error "idResetButtonObject undeclared identifier". I changed "idResetButtonObject" to my button objects,

but still unable to use the buttons in back testing mode. I am not sure what I missed. Please assist. thank you.

Fernando Carreiro
4960
Fernando Carreiro  
ddmmmyyyy B:

I am new to MQL4 programming. Is your code work on MQL4 as well?

I copied and pasted your code to my EA and it returned error "idResetButtonObject undeclared identifier". I changed "idResetButtonObject" to my button objects,

but still unable to use the buttons in back testing mode. I am not sure what I missed. Please assist. thank you.

Yes it works on MQL4 but it is only a code sample/snippet. That is why I stated in my post: "something like this"! You have to adapt it according to your own needs!

12
To add comments, please log in or register