Download MetaTrader 5

Chart Event For MT4 Backtester

To add comments, please log in or register
Tradeing Trader
573
Tradeing Trader  

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
3245
qjol  
Tradeing Trader
573
Tradeing Trader  
qjol:
what about asking service desk

i did think the forum is the place where such thinks must be ask.
whroeder1
17070
whroeder1  
How do you expect us USERS to help you when "OnChartEvent() does not work"? We can't fix OnChartEvent, only MQ can.
Alain Verleyen
Moderator
35043
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 Trader
573
Tradeing Trader  
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
838
Taskin Osman  
same problem here, implementing OnChartEvent in Tester is really important. Without backtesting its very hard to develop
Fernando Carreiro
3952
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
175
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
3952
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