Errores, fallos, preguntas - página 1140

 

En MQL4 se puede prescribir la línea del indicador MODE_TE NKANSEN y shift (desplazamiento relativo a la barra actual)

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, MODE_TENKANSEN, 0);

¿Cómo puedo escribir exactamente la misma función en mq5?

Escribí una línea, pero da un error 'iIchimoku' - parámetros incorrectos cuentan Ichimoku.mq5

Esto es lo que obtengo en la TENKANSEN_LINE, 0

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, TENKANSEN_LINE, 0);
 
Zeleniy:

En MQL4 se puede prescribir en una línea qué línea utilizar en el indicador MODE_TE NKANSEN y shift (desplazamiento relativo a la barra actual)

¿Cuál es la forma correcta de escribir exactamente la misma función en 5?

¿qué devuelve en 5?
iIchimoku
 
Zeleniy:

En MQL4 se puede escribir en una línea qué línea del indicador iIchimoku MODE_TE NKANSEN y shift (desplazamiento relativo a la barra actual)

¿Cómo puedo escribir exactamente la misma función en mq5?

Escribí una línea, pero da un error 'iIchimoku' - parámetros incorrectos cuentan Ichimoku.mq5

Esto es lo que obtengo en la línea TENKANSEN_LINE, 0

En MQL5, la entrada del indicador iIchimoku es diferente.

int  iIchimoku(
   string           symbol,            // имя символа
   ENUM_TIMEFRAMES  period,            // период
   int              tenkan_sen,        // период Tenkan-sen
   int              kijun_sen,         // период Kijun-sen
   int              senkou_span_b      // период Senkou Span B
   );
Документация по MQL5: Технические индикаторы / iIchimoku
Документация по MQL5: Технические индикаторы / iIchimoku
  • www.mql5.com
Технические индикаторы / iIchimoku - Документация по MQL5
 

La función OnTesterPass() no se llama después de todas las pasadas de optimización, y siempre se salta varias pasadas de optimización. Esto sucede incluso si el marco se crea forzosamente utilizando un bucle.

Como resultado de la optimización de esta plantilla, el número de pases en el diario del terminal será siempre de 5 a 20 pases menos que los especificados para la optimización.

¿Para qué sirve la optimización lenta y la función OnTesterPass() si siempre falla al probar varias pasadas y esas pueden ser las buscadas?

input int         StringReadOrSumma=1000;
//---
void OnTick()  {  }
//---
long PassNum;
string NameFrameStatistik="stat";
long FrameID_Statistik;
double OnTesterResult;
double ArrValueStatistik[];
//---
double OnTester()
  {
   ArrayResize(ArrValueStatistik,1);
   ArrValueStatistik[0]=StringReadOrSumma;
   if(!FrameAdd(NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik)) return(0.0);
   return(0.0);
  }
//---
void OnTesterPass()
  {
   if(!FrameNext(PassNum,NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik))
     { Print(__FUNCTION__,__LINE__);return;}

   static int numPass=0;
   numPass++;
   Print(ArrValueStatistik[0]," --- ",numPass);
  }
 
lewvik:

La función OnTesterPass() no se llama después de todas las pasadas de optimización, y siempre se salta varias pasadas de optimización. Esto sucede incluso si el marco se crea forzosamente utilizando un bucle.

Como resultado de la optimización de esta plantilla, el número de pases en el diario del terminal será siempre de 5 a 20 pases menos que los especificados para la optimización.

¿Para qué sirve la optimización lenta y la función OnTesterPass() si nunca prueba varias pasadas y esas son probablemente las buscadas?

El evento puede generarse para varios cuadros a la vez. Es decir, es mejor leer los fotogramas en un bucle, por ejemplo, a través de while(!FrameNext(...)).

 
antt:

Se puede generar un evento para varios cuadros a la vez. Es decir, es mejor leer los fotogramas en un bucle, por ejemplo, while(!FrameNext(...)).

Traté de leer los marcos en el bucle y crear en el bucle, el resultado es el mismo - varios pases desaparecen en algún lugar sin un rastro. Varios marcos o uno crea ninguna diferencia. ¿Por qué? ¿Es un error o estoy algo mal, si un error - es una suposición grave, ¿cómo es que - he buscado y buscado los parámetros correctos y, finalmente, perdido en la búsqueda!

Solicitud de servicio#1007598| 2014.05.04 12:33

 

gente, que me pueda decir como en mql5 calcularla cantidad de fondos libres necesarios para abrir 1 lote de algún símbolo

Sé cómo hacerlo en mql4, pero en mql5 no lo encuentro

 

Se ha detectado un error de este tipo en el probador de EA. Cliente Metatrader 5. Construye 930. Corredor: Otkrytie. FORTALEZAS.

En el probador las órdenes canceladas se muestran como si se hubieran ejecutado. Dice 2.0/2.0. Aunque el pedido se acaba de cancelar:

En la cuenta demo, las órdenes canceladas aparecen como no ejecutadas (o parcialmente ejecutadas). Por ejemplo, 2.0/0.0 o 2.0/1.0. Que es el comportamiento correcto:

En consecuencia, este fallo interfiere en el seguimiento de la cantidad real ejecutada. Al hacer las pruebas.

¿Es un error? :)

 
harbor:

gente, que me pueda decir como en mql5 calcularla cantidad de fondos libres necesarios para abrir 1 lote de algún símbolo

En mql4 sé cómo, pero en mql5 no lo encuentro

Tal vez sea así:

Print("Margin=", SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)); 
 
escoman:

Se ha detectado un error de este tipo en el probador de EA. Cliente Metatrader 5. Construye 930. Corredor: Otkrytie. FORTALEZAS.

En el probador las órdenes canceladas se muestran como si se hubieran ejecutado. Dice 2.0/2.0. Aunque el pedido se acaba de cancelar:

Gracias por el mensaje. Corregido.