iSpread

Restituisce il valore di spread della barra (indicato dal parametro 'shift') sul chart corrispondente.

long  iSpread(
   const string        symbol,          // Simbolo
   ENUM_TIMEFRAMES     timeframe,       // Periodo
   int                 shift            // Slittamento
   );

Parametri

symbol

[in] Il nome simbolico dello strumento finanziario. NULL significa il simbolo corrente.

timeframe

[in]  Periodo. Può essere uno dei valori dell'enumerazione ENUM_TIMEFRAMES. 0 significa il periodo del chart corrente.

shift

[in] L'indice del valore ricevuto dalla timeseries (spostamento all'indietro di un numero specificato di barre rispetto alla barra corrente).

Valore di ritorno

Il valore Spread della barra (indicato dal parametro 'shift') sul chart corrispondente o 0 in caso di errore. Per i dettagli dell'errore, chiamare la funzione GetLastError().

Nota

La funzione restituisce sempre i dati effettivi. A tale scopo esegue una richiesta alle timeseries per il simbolo/periodo specificato durante ogni chiamata. Ciò significa che se non ci sono dati pronti durante la prima chiamata di funzione, potrebbe essere necessario un po' di tempo per preparare il risultato.

La funzione non memorizza i risultati delle chiamate precedenti e non esiste una cache locale per il ritorno rapido dei valori.

Esempio:

input int shift=0;
//+------------------------------------------------------------------+
//| Funzione-event handler "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",
           "Time: "  ,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",
           "Bars: "  ,IntegerToString(bars),"\n"
           );
  }

Guarda anche

CopySpread, CopyRates