Leitura de tecla pressionada não funciona em backtest, mas funciona em conta real !

 

Olá a todos !


Tenho encontrado problemas em fazer funcionar uma rotina de captura de teclas durante o backtest. A rotina está escrita em conformidade com as orientações fornecidas pelos manuais e rotinas apresentadas aqui no Portal, mas ela SIMPESMENTE NÃO FUNCIONA EM BACKTEST !!!!  Uma coisa que  tá me deixando doido é que quando alterno do terminal de teste para o terminal "real" as ordens de venda são listadas lá, mas no backtest NÃO APARECE NADA , NENHUMA ORDEM É COLOCADA ! NADA !

Existem certas "MALDADES" na linguagem MQL5 que não são reveladas aos "simples mortais", como eu, apenas aos que pagam 5 mil reais em algum curso "oficial"...  Isso eu já percebi !

Se alguém puder (e quiser) ajudar, serei muito grato !

Obrigado !


o Código .... ---> 


void OnChartEvent(const int id, 

                  const long    &lparam,

                  const double  &dparam,

                  const string  &sparam)

  {

  

  if (id==CHARTEVENT_KEYDOWN)

      {


        if(lparam==39) //---> Seta para Direita

            CompRa();

            

        if(lparam==17) //---> Tecla CONTROL

            VenDa();  

            

        if(lparam==20) //---> Tecla CAPS LOCK !

            trade.PositionClose(_Symbol,0);

     

         Print("TECLA PRESSIONADA ---> ",lparam);

      }

          return;

     

  }


 

Olá, 

Apanhei bastante com estas situações, mas acabei aprendendo alguma coisa.

O MT5 é muito bom , mas tem muito a melhorar.

Algumas situações funcionam em produção e não funcionam em backtest, outras situações funcionam de forma diferente em teste e em produção.

Alguns testes/erros você só conseguirá fazer/verificar em produção.

Então, é manter a calma e tentar se adequar ao MT5.

É o único que temos!!!

 
groyks:

Olá a todos !


Tenho encontrado problemas em fazer funcionar uma rotina de captura de teclas durante o backtest. A rotina está escrita em conformidade com as orientações fornecidas pelos manuais e rotinas apresentadas aqui no Portal, mas ela SIMPESMENTE NÃO FUNCIONA EM BACKTEST !!!!  Uma coisa que  tá me deixando doido é que quando alterno do terminal de teste para o terminal "real" as ordens de venda são listadas lá, mas no backtest NÃO APARECE NADA , NENHUMA ORDEM É COLOCADA ! NADA !

Existem certas "MALDADES" na linguagem MQL5 que não são reveladas aos "simples mortais", como eu, apenas aos que pagam 5 mil reais em algum curso "oficial"...  Isso eu já percebi !

Se alguém puder (e quiser) ajudar, serei muito grato !

Obrigado !
...

Olá  groyks, a lógica é simples, sem custos e para todos: existem vários recursos que não funcionam no backtesting do MT5, uma vez que esse recurso é relativamente novo, e foi construído juntamente com o novo terminal, em 2010. Um deles é justamente o processamento de eventos de teclas. Outros exemplos são o processamento de dados do book ou de funções socket, como WebRequest().
Sds.,
Rogério Figurelli

Razão: