Asesores Expertos: Controlador de eventos multimoneda OnTick (símbolo del string) - 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:


Es difícil entender sin log y código por qué no se puede crear el indicador, especialmente si tienes todo funcionando. Comprueba dos veces la ruta al espía, tal vez la ruta al espía es incorrecta o algo similar.
 
Olegts:


Compruebe el nombre del indicador - intenta cargar "Spy Control panel MCM" con espacios, y cargado "spy_control_panel_mcm" con guiones bajos.

 
Lizar:
Es difícil entender sin log y código por qué no se puede crear el indicador, especialmente si tienes todo funcionando. Comprueba dos veces la ruta al espía, tal vez la ruta al espía es incorrecta o algo así.
Gracias por tu ayuda, Renat tiene razón, durante el proceso de subida al servidor mql5.com el archivo tenía guiones bajos en lugar de espacios, he eliminado los espacios en el nombre, corregido el nombre en OnTick(string symbol).mqh, enviado para su comprobación, esperando el resultado....
 
Olegts:
Gracias por su ayuda, Renat tiene razón, durante la carga en el servidor mql5.com el archivo tiene guiones bajos en lugar de espacios, he eliminado los espacios en el nombre, en OnTick(símbolo de cadena).mqh he corregido el nombre, lo envié para su comprobación, esperando el resultado....
Lo tengo.
 
Lizar:
Entendido.
¡Sin errores! Muchas gracias por el modo multidivisa, porque estaba luchando con OnTimer(). No sé dónde apareció el problema con los espacios, si en mi Opera o en el servidor, pero Renat tiene un ojo excelente - ¡encontró la diferencia!
 
Olegts:
¡Sin errores! Muchas gracias por el modo multidivisa, porque estaba teniendo problemas con OnTimer(). No sé dónde apareció el problema con los espacios, si en mi Opera o en el servidor, pero Renat tiene un ojo excelente: ¡encontró la diferencia!
De nada. A mí también me gusta este esquema de trabajo.
 
Lizar:
De nada. Me gusta este esquema de trabajo también.
Konstantin, hola. Si usted tiene algo de tiempo libre, por favor visite este hilo - Resultados de las pruebas multidivisa Asesores Expertos. Su palabra sería muy útil. Gracias por su trabajo.
 
tol64:
Konstantin, hola. Si usted tiene algo de tiempo libre, por favor visite este tema - Resultados de las pruebas multidivisa Asesores Expertos. Su palabra sería muy útil. Gracias por su trabajo.
De acuerdo. Voy a echar un vistazo.
 

El código del artículo no está actualizado. Perdí medio día luchando contra molinos de viento. En 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 este "chamanismo" con variables globales es innecesario. OnCalculate se llama perfectamente bien dentro del probador.