Especialistas: Manipulador de eventos Multi Moedas OnTick(string símbolo) - página 2

 
2011.08.24 12:40

1. Copy
   indicators\spy_control_panel_mcm.ex5 ok
   indicators\ds.ex5 ok
   include\ontick(string_symbol).mqh ok
   include\ctrade.mqh ok
   experts\atcrollback.ex5 ok

2. Compile

3. Configuration
   atcrollback on EURUSD:M12 every tick 2011.01.01-2011.08.01


4. Start
   finished in 0 min 9 sec


5. Statistics
loading of Spy Control panel MCM EURUSD,M12 failed
2011.01.01 00:00:00   expert removed because custom indicator 'Spy Control panel MCM' cannot load [4802]
tester stopped because OnInit critical error
   5 kb of log files
   there are no trading operations


4 errors

У меня все работает, выложил на проверку на чемп. вот такие дела:(
я так понял шпион не запустился, в чем может быть причина? там обязательно mq5 выкладывать, или ex5 достаточно?

 
Olegts:


É difícil entender, sem o registro e o código, por que o indicador não pode ser criado, especialmente se tudo estiver funcionando. Verifique novamente o caminho para o espião, talvez o caminho para o espião esteja errado ou algo semelhante.
 
Olegts:


Verifique o nome do indicador - ele tenta carregar "Spy Control panel MCM" com espaços e carregou "spy_control_panel_mcm" com sublinhados.

 
Lizar:
É difícil entender, sem o registro e o código, por que o indicador não pode ser criado, especialmente se tudo estiver funcionando. Verifique novamente o caminho para o espião, talvez o caminho para o espião esteja errado ou algo do gênero.
Obrigado pela ajuda, Renat está certo, durante o processo de upload para o servidor mql5.com, o arquivo recebeu sublinhados em vez de espaços, removi os espaços no nome, corrigi o nome em OnTick(string symbol).mqh, enviei-o para verificação, aguardando o resultado....
 
Olegts:
Obrigado pela ajuda, Renat está certo, durante o upload para o servidor mql5.com o arquivo ficou com sublinhados em vez de espaços, removi os espaços no nome, em OnTick(string symbol).mqh corrigi o nome, enviei-o para verificação e estou aguardando o resultado....
Consegui.
 
Lizar:
Consegui.
Sem erros! Muito obrigado pelo modo de várias moedas, pois eu estava tendo dificuldades com o OnTimer(). Não sei onde o problema com os espaços apareceu, seja no meu Opera ou no servidor, mas Renat tem um excelente olho - ele encontrou a diferença!
 
Olegts:
Sem erros! Muito obrigado pelo modo de várias moedas, pois eu estava tendo dificuldades com o OnTimer(). Não sei onde o problema com os espaços apareceu, seja no meu Opera ou no servidor, mas Renat tem um excelente olho - ele encontrou a diferença!
De nada. Eu também gosto desse esquema de trabalho.
 
Lizar:
De nada. Eu também gosto desse esquema de trabalho.
Konstantin, olá. Se você tiver algum tempo livre, visite este tópico - Resultados do teste de Expert Advisors em várias moedas. Sua opinião seria muito útil. Obrigado por seu trabalho.
 
tol64:
Konstantin, olá. Se você tiver algum tempo livre, visite este tópico - Resultados do teste de Expert Advisors em várias moedas. Sua opinião seria muito útil. Obrigado por seu trabalho.
Muito bem. Vou dar uma olhada.
 

O código do artigo está desatualizado. Perdi metade de um dia lutando contra moinhos de vento. Em particular:

void EventCustom(ENUM_CHART_EVENT_SYMBOL event,double price)
  {
   if(!testing) EventChartCustom(chart_id,custom_event_id,(long)event,price,_Symbol);
   else
     {
      if(GlobalVariableSet(_Symbol+"_custom_id",custom_event_id)==0) return;
      if(GlobalVariableSet(_Symbol+"_event",event)==0) return;
      if(GlobalVariableSet(_Symbol+"_price",price)==0) return;
      GlobalVariableSet(_Symbol+"_flag",2);
     }
   return;
  }



void OnTick()
  {
   if(_testing_)
     {
      for(int i=0;i<_symbols_total_;i++)
        {
         string __symbol__=_symbol_[i];
         if(MathAbs(GlobalVariableGet(__symbol__+"_flag")-2)<0.1)
           {
            GlobalVariableSet(__symbol__+"_flag",1);
            OnTick(__symbol__);
           }
        }   
     }   
  }



todo esse "xamanismo" com variáveis globais é desnecessário. OnCalculate é chamado perfeitamente bem dentro do testador.