Dubbio su iClose

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico

Moderator: Dainesi

Post Reply
pieroim
Posts: 31
Joined: 09/06/2017, 18:52

Dubbio su iClose

Post by pieroim » 05/09/2017, 10:40

Col seguente codice, usando le variabili periodo ( che può diventare PERIOD_M5, PERIOD_M1, PERIOD_H1) e lungh (vari interi)

c = NormalizeDouble(iClose(NULL, periodo, lungh), Digits);

nell'ipotesi che siano impostati a PERIOD_H1 e 4, ero certo che in assoluto avrei ottenuto il prezzo di chiusura del quinta candela da 1 ora a ritroso rispetto a quella in formazione. Questo indipendentemente dalla vista del grafico, a 5 min piuttosto che a qualsiasi altro intervallo.
Con mia grande sorpresa il valore "c" invece cambia, e di tantissimo, in base proprio alla vista del grafico.. praticamente annullando l'utilità di questa funzione.. possibile che funzioni davvero così o sbaglio qualcosa io?

Sponsor

Sponsor
 

pieroim
Posts: 31
Joined: 09/06/2017, 18:52

Re: Dubbio su iClose

Post by pieroim » 05/09/2017, 17:37

Niente, non va.

Codice di esempio semplificato della funzione:

 int trend(string periodo = " ", int lungh = 0)
 {
 // PERIOD_M5, PERIOD_M1, PERIOD_H1
  double c, o, a;
  ResetLastError();

  o = iOpen(Symbol(), periodo, lungh);
  Alert(Symbol() + "   iOpen: " + o + "   Per: " + periodo + "   Lungh: " + lungh + "  Err: " + GetLastError());
  c = iClose(Symbol(), periodo, lungh);
  Alert(Symbol() + "   iClose: " + c + "   Per: " + periodo + "   Lungh: " + lungh + "  Err: " + GetLastError());
  a = (Ask+Bid)/2; // valore sempre positivo
  return (a);
 }

- Valori attesi Open/Close x la quinta barra a H1: open 47,96, close 47,88 

---- Results from the alert window: (Grafico principale ad H1) - 3 chiamate alla funzione:

CrudeOIL iClose: 47.88    Per: PERIOD_H1   Lungh: 4   Err: 0     > ok!
CrudeOIL iOpen: 47.96    Per: PERIOD_H1   Lungh: 4   Err: 0     > ok!
CrudeOIL iClose: 47.88    Per: PERIOD_M5   Lungh: 4   Err: 0     > Bad!
CrudeOIL iOpen: 47.96    Per: PERIOD_M5   Lungh: 4   Err: 0     > Bad!
CrudeOIL iClose: 48.55    Per: PERIOD_M5   Lungh: 2   Err: 0     > Bad!
CrudeOIL iOpen: 48.01    Per: PERIOD_M5   Lungh: 2   Err: 0     > Bad!


---- Results from the alert window: (Grafico principale ad M5) - 3 chiamate alla funzione:

CrudeOIL iClose: 48.77    Per: PERIOD_H1   Lungh: 4   Err: 0   > Bad!
CrudeOIL iOpen: 48.69    Per: PERIOD_H1   Lungh: 4   Err: 0   > Bad!
CrudeOIL iClose: 48.77    Per: PERIOD_M5   Lungh: 4   Err: 0   > Ok!
CrudeOIL iOpen: 48.69    Per: PERIOD_M5   Lungh: 4   Err: 0   > Ok!
CrudeOIL iClose: 48.89    Per: PERIOD_M5   Lungh: 2   Err: 0   > Ok!
CrudeOIL iOpen: 48.87    Per: PERIOD_M5   Lungh: 2   Err: 0   > Ok!

La funzione ignora ciò che gli viene chiesto (H1 ed M5) e risponde in base alla vista attiva! Questo mi sembra molto grave.. cosa c'è che non va?

pieroim
Posts: 31
Joined: 09/06/2017, 18:52

Re: Dubbio su iClose

Post by pieroim » 05/09/2017, 17:48

Risolto!
Il problema era il passaggio della stringa, la funzione vuole solo interi! Ora funziona..

Post Reply

Who is online

Users browsing this forum: cocacolla70 and 1 guest