Getting the index of the lowest close price for the last 30 Candles.

Trabajo finalizado

Plazo de ejecución 28 minutos
Comentario del Ejecutor
Excellent customer and developer. Thanks.
Comentario del Cliente
Developer was very patient and knowledgeable will definately work with The Huy Phan again

Tarea técnica

I have written an EA buy I am struggling to use ILowest within a loop.

If I print out ILowest I get the correct value. But If I iterate through a loop and increase the start position of ILowest I get different values.

Surely the logic is the same for printing it out on each new candle as it is changing the start index.

I require help to work out this logic.

Basically I want to save the previous lowest candle for the last 25 candles into an arraybased on close price.

If candle[1] is the lowest array[0] = 0

if candle[2] is also lowest array[1]=0

if candle[3] is second lowest array[2]=1 

   if(!isNewBar() && InpTradeOnNewBar)
     {
      return;
     }
       
  //Something like this can be done
  ArrayResize(buyarr,30)

  buyarr[0] = ilowest(Symbol(),Period(),Mode_close,InpLookBackPeriod,1) - 1;

  //Shift values up one

   if(CopyRates(Symbol(),Period(),0,InpLookBackPeriod,BuyRates) < InpLookBackPeriod ||
      CopyRates(Symbol(),Period(),0,InpSLookBackPeriod,SellRates) < InpSLookBackPeriod)
     {
      return;
     }

   buyrank=iLowest(Symbol(),Period(),MODE_CLOSE,InpLookBackPeriod,1) - 1;
   sellrank=iHighest(Symbol(),Period(),MODE_CLOSE,InpSLookBackPeriod,1) - 1;


   
   Print(buyrank); //this prints the correct value. I would like to save this value for the previous 25 candles

   ArrayResize(buyarr,InpLookBackPeriod);

   for(int i=0; i<InpLookBackPeriod; i++)
     {
      buyarr[i] = iLowest(Symbol(),Period(),MODE_CLOSE,InpLookBackPeriod,i+1) - 1;
     }
ArrayPrint(buyarr); // This prints out totally incorrect values.

Han respondido

1
Desarrollador 1
Evaluación
(71)
Proyectos
103
20%
Arbitraje
6
0% / 83%
Caducado
3
3%
Libre
2
Desarrollador 2
Evaluación
(169)
Proyectos
204
30%
Arbitraje
25
40% / 44%
Caducado
12
6%
Libre
3
Desarrollador 3
Evaluación
(75)
Proyectos
124
44%
Arbitraje
14
29% / 50%
Caducado
17
14%
Libre
4
Desarrollador 4
Evaluación
(361)
Proyectos
643
26%
Arbitraje
92
72% / 14%
Caducado
12
2%
Trabaja
Ha publicado: 1 ejemplo

Información sobre el proyecto

Presupuesto
30+ USD
Plazo límite de ejecución
a 1 día(s)