Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 38

 
Ecco un esempio di come uso l'indicatore, sono tutti uguali.
double  iMAf( string symbol, ENUM_TIMEFRAMES timeframe, int period, int ma_shift, ENUM_MA_METHOD ma_method, int applied_price, int shift){
 
 
 
                   int handle=iMA(symbol,timeframe,periodd(period),ma_shift, ma_method,applied_price);Sleep(2000);
                    CopyBuffer(handle,0,0,100,MA);
                    ArraySetAsSeries(MA,true);
    return( (MA[shift])); } 
                   

Prescritto fuori da tutte le funzioni

 double MA[]; 
//---- handles for indicators
int MA_handle;

Ho scritto qualcosa di sbagliato in generale, o dove cercare in generale, cosa c'è di sbagliato?

 

Le maniglie sono create in OnInit()

void OnInit()
  {
   ma_h=iMA(_Symbol,_Period,MA_Period,0,MODE_SMA,PRICE_CLOSE);
  }

Otteniamo i dati in OnTick ()

void OnTick()
  {
   CopyBuffer(ma_h,0,1,2,ma);
  }

Questo è un esempio di un costrutto standard.

 
Ora, userò il blocco note per trovare questi indicatori in modo specifico
 
Grazie!!!!
 
Si attiva solo una volta, all'avvio, e poi?
 
Si creano gli indicatori una volta, e poi si ottengono i valori da essi mentre si lavora.
 
Scusa, cosa farebbe ridisegnare la maniglia con l'arrivo di nuovi tick o almeno barre, se viene creata nel suo init? Davvero, voglio solo capire.
 
Dimka-novitsek:
Scusa, cosa farebbe ridisegnare la maniglia con l'arrivo di nuovi tick o almeno barre, se viene creata nel suo init? Davvero, voglio solo capire.
Handle è id, riferimento all'indicatore. una volta ricevuto e poi CopyBuffer( handle,....)
 
Dimka-novitsek:
Quattromilatrecento e due non è una stringa, e comunque cosa c'è di male?

Quando il compilatore emette un errore, indica il numero di linea e il numero di posizione del cursore.

Quando il terminale emette un errore, indica il numero di errore. Vedi la sezione Runtime Errors nel manuale, e quale errore corrisponde al valore "4302". Il luogo di creazione della maniglia è un problema secondario :)

 
GRAZIE!!!