iOpen

Retourne le prix Open de la barre (indiquée par le paramètre 'shift') sur le graphique correspondant.

double  iOpen(
   const string        symbol,          // Symbole
   ENUM_TIMEFRAMES     timeframe,       // Période
   int                 shift            // Décalage
   );

Parameters

symbol

[in]  Le nom du symbole de l'instrument financier. NULL signifie le symbole courant.

timeframe

[in]  Période. Peut être l'une des valeurs de l'énumération ENUM_TIMEFRAMES. 0 signifie la période actuelle du graphique.

shift

[in]  L'indice de la valeur reçue des timeseries (décalage en arrière du nombre spécifié de barres relativement à la barre courante).

Valeur de Retour

Le prix d'ouverture (Open) de la barre (indiquée avec le paramètre 'shift') sur le graphique correspondant ou 0 en cas d'erreur. Pour connaître les détails de l'erreur, appelez la fonction GetLastError().

Note

La fonction retourne toujours les données actuelles. Pour cela, elle effectue une demande à la timeserie pour le symbole et la période spécifiés à chaque appel. Cela signifie que s'il n'y a pas de données prêtes au premier appel à la fonction, la préparation des résultats peut prendre un peu de temps.

La fonction ne stocke pas les résultats des appels précédents, et il n'y a pas de cache local pour un retour rapide de la valeur.

Exemple :

input int shift=0;
//+------------------------------------------------------------------+
//| Handler de l'évènement "tick"                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   datetime time  = iTime(Symbol(),Period(),shift);
   double   open  = iOpen(Symbol(),Period(),shift);
   double   high  = iHigh(Symbol(),Period(),shift);
   double   low   = iLow(Symbol(),Period(),shift);
   double   close = iClose(NULL,PERIOD_CURRENT,shift);
   long     volume= iVolume(Symbol(),0,shift);
   int      bars  = iBars(NULL,0);
 
   Comment(Symbol(),",",EnumToString(Period()),"\n",
           "Heure : "  ,TimeToString(time,TIME_DATE|TIME_SECONDS),"\n",
           "Open: "  ,DoubleToString(open,Digits()),"\n",
           "High: "  ,DoubleToString(high,Digits()),"\n",
           "Low: "   ,DoubleToString(low,Digits()),"\n",
           "Close: " ,DoubleToString(close,Digits()),"\n",
           "Volume: ",IntegerToString(volume),"\n",
           "Barres: "  ,IntegerToString(bars),"\n"
           );
  }

Voir également

CopyOpen, CopyRates