OnChartEvente() com a função ChartSetInteger(ChartID(), CHART_EVENT_MOUSE_MOVE, true); no OnInit

 

estou tentando localizar a posição do mouse no examinador de estrategia, não estou conseguindo, funciona perfeitamente no ativo.

//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
void OnInit() 
  { 
//--- enable CHART_EVENT_MOUSE_MOVE messages 
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,1); 
  } 
//+------------------------------------------------------------------+ 
//| MouseState                                                       | 
//+------------------------------------------------------------------+ 
string MouseState(uint state) 
  { 
   string res; 
   res+="\nML: "   +(((state& 1)== 1)?"DN":"UP");   // mouse left 
   res+="\nMR: "   +(((state& 2)== 2)?"DN":"UP");   // mouse right  
   res+="\nMM: "   +(((state&16)==16)?"DN":"UP");   // mouse middle 
   res+="\nMX: "   +(((state&32)==32)?"DN":"UP");   // mouse first X key 
   res+="\nMY: "   +(((state&64)==64)?"DN":"UP");   // mouse second X key 
   res+="\nSHIFT: "+(((state& 4)== 4)?"DN":"UP");   // shift key 
   res+="\nCTRL: " +(((state& 8)== 8)?"DN":"UP");   // control key 
   return(res); 
  } 
//+------------------------------------------------------------------+ 
//| ChartEvent function                                              | 
//+------------------------------------------------------------------+ 
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) 
  { 
   if(id==CHARTEVENT_MOUSE_MOVE) 
      Comment("POINT: ",(int)lparam,",",(int)dparam,"\n",MouseState((uint)sparam)); 
  }

como faça para executar isso aqui em cima no exminador de estrategia ? 

Muito Obrigado !



 
zuqueto200:

estou tentando localizar a posição do mouse no examinador de estrategia, não estou conseguindo, funciona perfeitamente no ativo.

como faça para executar isso aqui em cima no exminador de estrategia ? 

Muito Obrigado !



Defina "examinador de Estratégia"...

Por acaso é "Backtest" ??

Diversos eventos são desabilitados quando executamos backtest... do contrário eles levariam semanas para serem executados...

 
zuqueto200:

estou tentando localizar a posição do mouse no examinador de estrategia, não estou conseguindo, funciona perfeitamente no ativo.

como faça para executar isso aqui em cima no exminador de estrategia ? 

Muito Obrigado !



OnChartEvent só funciona para EAs no testador de estratégias, indicadores bugam nele.

https://www.mql5.com/en/docs/runtime/testing

"When testing in an EA, we can handle custom events using the OnChartEvent() function, but in the indicators, this function can not be called in the tester. Even if the indicator has the OnChartEvent() event handler and this indicator is used in the tested EA, the indicator itself will not receive any custom events."
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
Testing Trading Strategies - MQL5 programs - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5