Corrección de un error de matriz fuera de rango en MT4 EA - Página 2

 

Publi

Página 2 de 402 PrimerPrimer 12
Resultados 11 al 13 de 13

Tema: Corrección de un error de matriz fuera de rango en MT4 EA

  1. #11

    Cita Iniciado por ;
    Hice un EA con el siguiente... extern int IntIndTF1 = 4; externo int IntInd1S1 = 2; externo int IntInd1S2 = 14; externo int IntIndTF2 = 1; externo int IntInd2S1 = 3; externo int IntInd2S2 = 9; PerH1 = High[iHighest(SymbolToManage,IntIndTF1,MODE_HIGH,IntInd 1S2,IntInd1S1)]; PerL1 = Low[iLowest(SymbolToManage,IntIndTF1,MODE_LOW,IntInd1S 2,IntInd1S1)]; PerM1 = NormalizeDouble((PerH1 PerL1)/2,Digits); PerH2 = Alto[iHighest(SymbolToManage,IntIndTF2,MODE_HIGH,IntInd 2S2,IntInd2S1)]; PerL2 = Low[iLowest(SymbolToManage,IntIndTF2,MODE_LOW,IntInd2S 2,IntInd2S1)];...
    Intente ajustar su bucle for original, desde el siguiente bloque de código, el bucle nunca se ejecuta, por lo que no pueden ocurrir errores: I=0 pero comprueba igt;Bars. Con I, la disminución debería ser: for(int I=Bars-IndicatorCounted()-1;igt;0;I#8212

  2. #12

    Cita Iniciado por ;
    cita Intenta arreglar tu bucle for primero, en el siguiente bloque de código, el bucle nunca se ejecuta, por lo que no pueden ocurrir errores: =0 comprueba igt;Bars. Con I, la disminución debería ser: for(int I=Bars-IndicatorCounted()-1;igt;0;I)
    El código está dentro de un ea solo, no es un indicador ¿IndicatorCounted () seguirá funcionando dentro de un ea?

  3. #13

    Cita Iniciado por ;
    Inserté el -1 en el límite de barras y parece funcionar sin afectar ningún cambio en los resultados, así que está bien. Para estar seguro de que iLowest/iHigheset no viene -1 Hice esto, bastante seguro de que no es la forma correcta porque los resultados son terribles... int BarsCounted1 = TFBars1-MathMax(IntInd1S2,IntInd1S1 1); if (BarsCounted1 lt; 0) return; int LimitBars1 = TFBars1-BarsCounted1; for (BarCount1 = LimitBars1-1; BarCount1 gt;= 0; BarCount1--) { if ((iHighest(SymbolToManage,IntIndTF1,MODE_HIGH,IntI nd1S2,BarCount1 IntInd1S1) lt; 0) || (iLowest(SymbolToManage,IntIndTF1,MODE_LOW ,IntInd1S2,BarCount1 IntInd1S1)...
    Había estado pensando en algo similar a este Código insertado para (int I=(IndicatorCounted()==0)? Bars(symbol,tf)-1-MathMax(IntInd1S2,IntInd1S1 1):1;igt;0;I# 8212;-RRB- int hi=iHighest(símbolo,tf,modo,IntInd1S2,I); if(hola! =-1)PerH1=High#91;hola #93;; else PerH1=-1; int lo=iLowest (...); if(lo! =-1)PerL1=Bajo#91;lo#93;; else PerL1=-1;

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.