Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 949

 
Vasiliy Sokolov:

Este es un método de plantilla. El tipo de parámetro en él se ajustará según el tipo pasado en estos paréntesis. El tipo se determina estáticamente, en tiempo de compilación. Puedes leer más sobre esto en "plantillas de funciones y clases":https://www.mql5.com/ru/docs/basis/oop/templates.

Gracias.

 
Artyom Trishkin:
  1. Se genera un nuevo tick - la condición se cumple, por ejemplo, la indicación del patrón se dibujará en este tick y se generará una alerta.
    1. Necesitamos una función para recibir una condición con la bandera de esta condición establecida por los dos párrafos siguientes
    2. Necesidad de una función de dibujo de patrones
    3. Necesita una función para enviar la alerta (no necesariamente una función - hay funciones estándar para sólo alerta, sólo correo electrónico y sólo push)
  2. Después de que se cumpla la condición anterior, tenemos que detener la ejecución de múltiples repeticiones de la misma acción de la acción anterior hasta un período de tiempo igual a...
    1. Si hay un indicador de que ya se han realizado tres de los pasos anteriores del paso 1 , entonces no haga nada - vaya al paso 3, de lo contrario vaya al paso 1
  3. En cuanto la barra cambie a la siguiente, reinicia la condición hasta el siguiente periodo de tiempo descrito anteriormente
    1. Necesitamos una función para definir una nueva barra. En cuanto se haya definido una nueva barra, se pasa al paso 1. En caso contrario, se pasa al paso 2.

Gracias, intentaré hacerlo

 
¿Pueden decirme si las funciones TimeLocal y TimeCurrent pueden dar la hora con precisión de milisegundos?
 

¡Buenas tardes!

El asesor está dando avisos:

posible uso de la variable no inicializada 'hv1' test_gme.mq5 154 23
0 error(es), 14 advertencia(s), tiempo de compilación: 1306 mseg 1 15

Aquí está el código: ¿Cuál es el error?

//============================================================================================================
   int GetSignal (string sb)
  {
    int    dig=int(SymbolInfoInteger(pos.Symbol(), SYMBOL_DIGITS));
   double vpoint  = SymbolInfoDouble(sb,SYMBOL_POINT);
   double op1,op2,op3,op4,op5,op6,op7,
              cl1,
              hi1,hi2,hi3,hi4,hi5,hi6,hi7,
              lo1,lo2,lo3,lo4,lo5,lo6,lo7;
 double hv1,hv2,hv3,hv4,hv5,hv6,hv7;
 double gr1,gr2,gr3,gr4,gr5,gr6,gr7;
 //pp=NormalizeDouble(pp, dg);
 // op=NormalizeDouble(pos.PriceOpen() , dg);
  hv1=NormalizeDouble(hv1, dig);
  hv2=NormalizeDouble(hv2, dig);
  hv3=NormalizeDouble(hv3, dig);
  hv4=NormalizeDouble(hv4, dig);
  hv5=NormalizeDouble(hv5, dig);
  hv6=NormalizeDouble(hv6, dig);
  hv7=NormalizeDouble(hv7, dig);
  gr1=NormalizeDouble(gr1, dig);
  gr2=NormalizeDouble(gr2, dig);
  gr3=NormalizeDouble(gr3, dig);
  gr4=NormalizeDouble(gr4, dig);
  gr5=NormalizeDouble(gr5, dig);
  gr6=NormalizeDouble(gr6, dig);
  gr7=NormalizeDouble(gr7, dig);
  //=================================================================================================
      double ma_sred1 =NormalizeDouble(iMA(sb,PERIOD_M5,sr,0,MODE_SMA,PRICE_CLOSE),dig);      //for M5
   //==============================================================================================
           op1=NormalizeDouble(iOpen(sb,PERIOD_M5,1),dig);       //m5
           op2=NormalizeDouble(iOpen(sb,PERIOD_M5,2),dig);      //m10 sintez
           op3=NormalizeDouble(iOpen(sb,PERIOD_M5,3),dig);     //m15 si
           op4=NormalizeDouble(iOpen(sb,PERIOD_M5,4),dig);    //m20 si
           op5=NormalizeDouble(iOpen(sb,PERIOD_M5,5),dig);   //m25 si
           op6=NormalizeDouble(iOpen(sb,PERIOD_M5,6),dig);  //m30 si
           op7=NormalizeDouble(iOpen(sb,PERIOD_M5,7),dig); //m35 si
 //==================================================================================
       cl1=NormalizeDouble(iClose(sb,PERIOD_M5,1),dig);     //m5
 //=================================================================================   
  //   hay1=NormalizeDouble(iHigh(sb,PERIOD_M5,30),dig);
    
     //   niz1=NormalizeDouble(iLow(sb,PERIOD_M5,30),dig);
       
 //======================================================================================
            lo1=NormalizeDouble(iLow(sb,PERIOD_M5,1),dig);                                      //m5
            lo2=NormalizeDouble(MathMin(iLow(sb,PERIOD_M5,1),iLow(sb,PERIOD_M5,2)),dig);  //m10
            lo3=NormalizeDouble(MathMin(lo2,iLow(sb,PERIOD_M5,3)),dig);                       //m15 
            lo4=NormalizeDouble(MathMin(lo3,iLow(sb,PERIOD_M5,4)),dig);                      //m20
            lo5=NormalizeDouble(MathMin(lo4,iLow(sb,PERIOD_M5,5)),dig);                     //m25
            lo6=NormalizeDouble(MathMin(lo5,iLow(sb,PERIOD_M5,6)),dig);                    //m30
            lo7=NormalizeDouble(MathMin(lo6,iLow(sb,PERIOD_M5,7)),dig);                   //m35
      
 //=========================================================================================================
            hi1=NormalizeDouble(iHigh(sb,PERIOD_M5,1),dig);                                       //m5
            hi2=NormalizeDouble(MathMax(iHigh(sb,PERIOD_M5,1),iHigh(sb,PERIOD_M5,2)),dig);  //m10 sint
            hi3=NormalizeDouble(MathMax(hi2,iHigh(sb,PERIOD_M5,3)),dig);                        //m15 sint
            hi4=NormalizeDouble(MathMax(hi3,iHigh(sb,PERIOD_M5,4)),dig);                       //m20 sint
            hi5=NormalizeDouble(MathMax(hi4,iHigh(sb,PERIOD_M5,5)),dig);                      //m25 sint
            hi6=NormalizeDouble(MathMax(hi5,iHigh(sb,PERIOD_M5,6)),dig);                     //m30 sint
            hi7=NormalizeDouble(MathMax(hi6,iHigh(sb,PERIOD_M5,7)),dig);                    //m35 sint
 
fregat555:

¡Buenas tardes!

El asesor está dando avisos:

posible uso de la variable no inicializada 'hv1' test_gme.mq5 154 23
0 error(es), 14 advertencia(s), tiempo de compilación: 1306 mseg 1 15

Aquí está el código: ¿cuál es el error?

Añadir =0 .

double hv1=0,hv2=0,hv3=0...
 
Gracias.
 

Al compilar, todo está bien, no hay errores ni advertencias. Pero

Al hacer la prueba, da lo siguiente:

2018.12.01 17:53:00.074 Core 4 genetic pass (0, 509) probado con error "OnInit failed" a las 0:00:00.000

 
Creo que está funcionando. Gracias.
 
¿Puede decirme cómo obtener una lista de directorios en el directorio especificado MQL5\Files?
 
Aleksey Vyazmikin:
Por favor, dígame cómo obtener una lista de directorios en un directorio especificado MQL5\Files ?
Ejemplo deLifeHack for Trader: Un backtest es bueno, pero cuatro es mejor:
Razón de la queja: