Asesores Expertos: Exp_3Parabolic

 

Exp_3Parabolic:

Sistema de trading basado en tres Parabólicos de tres marcos temporales diferentes.

Fig. 1. Gráfico con algunas operaciones de ejemplo

Autor: Nikolay Kositsin

 

¡Buenas tardes!

Quería intentar crear un Asesor Experto similar a este, pero utilizando un indicador diferente... Desgraciadamente, su código contiene errores que no permiten utilizarlo... Me doy cuenta de que soy un cojo, pero he colgado un programa que supuestamente funciona, no un trozo de código.... Si puedes dar explicaciones...

Saludos a ti, Asad.

 
Asadych:

¡Buenas tardes!

Quería intentar crear un Asesor Experto similar a este, pero utilizando un indicador diferente... Desgraciadamente, su código contiene errores que no permiten utilizarlo... Me doy cuenta de que soy un cojo, pero he colgado un programa que supuestamente funciona, no un trozo de código.... Si puedes dar explicaciones...

Un saludo, Asad.

He cargado el Asesor Experto en el Probador en el gráfico horario y he pulsado el botón "Start". ¡El Asesor Experto funciona sin un solo error como hace un año!

Resultado de la prueba


 
¿Mis operaciones no se ejecutan en el probador tanto en ejecución como en optimización? ¿Cuál es la razón....
 
krishna5:
¿Mis operaciones no se ejecutan en el probador tanto en ejecución como en optimización? ¿Cuál es la razón....

Hay un error en el código, en lugar de

//+------------------------------------------------------------------+
//| corrección del tamaño de la orden pendiente a un valor admisible |||
//+------------------------------------------------------------------+
bool StopCorrect(string symbol,int &Stop)
  {
//----
   int Extrem_Stop=int(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
   if(!Extrem_Stop) return(false);
   if(Stop<Extrem_Stop) Stop=Extrem_Stop;
//----
   return(true);
  }

debería ser

//+------------------------------------------------------------------+
//| corrección del tamaño de la orden pendiente a un valor admisible |||
//+------------------------------------------------------------------+
bool StopCorrect(string symbol,int &Stop)
  {
//----
   int Extrem_Stop=int(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
   if(!Extrem_Stop) return(true);
   if(Stop<Extrem_Stop) Stop=Extrem_Stop;
//----
   return(true);
  }
 
Rashid Umarov:

Hay un error en el código, en lugar de

debería ser

La publicación es antigua, tiene la primera edición del includnik. En el nuevo includnik se ve así:

bool StopCorrect(string symbol,int &Stop)
  {
//----
   long Extrem_Stop;
   if(!SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL,Extrem_Stop)) return(false);
   if(Stop<Extrem_Stop) Stop=int(Extrem_Stop);
//----
   return(true);
  }