Imparare e scrivere insieme in MQL5 - pagina 40

 
L'indicatore entra nel processo generale indipendente di ricalcolo degli indicatori, che corre parallelamente agli esperti.
 
Dimka-novitsek: ... Ma cosa farà ridisegnare la maniglia dell'indicatore con nuovi tick o almeno barre, se viene creata in OnInit?

Non è la maniglia dell'indicatore che viene ridisegnata, ma le costruzioni grafiche dell'indicatore stesso. L'handle è solo un valore intero.

Dimka-novitsek:
In qualche modo non è realistico scrivere in esso!

Lasciatemi spiegare in termini semplici. L'indicatore può essere eseguito in due modi: manualmente e programmaticamente. In entrambi i casi, il terminale crea e supporta gli stessi processi di calcolo. Dopo il soft start, come in quello manuale, basta avviare l'indicatore una volta, e poi sarà calcolato secondo il codice. Per un avvio di programma dell'indicatore, si usa la funzione iCustom() e le sue funzioni analoghe. Una volta che iCustom() con il corretto set di parametri è avviato con successo, i processi di calcolo appropriati funzioneranno allo stesso modo, come fanno all'avvio manuale.

A quel punto, diversi indicatori possono essere lanciati programmaticamente. Un handle è solo un identificatore che permette di indirizzare un certo processo di calcolo. Utilizzando un handle, potete copiare i dati calcolati di un certo indicatore lanciato programmaticamente.

Di conseguenza, per avviare l'indicatore programmaticamente e ottenere il suo handle, in generale, è sufficiente farlo in OnInit(). Non si avvia l'indicatore manualmente ad ogni tick per "ridisegnarlo".

 
Grazie!!!!
 
Grazie! In pratica ho capito. E così sono seduto qui a pensare da due ore. Beh, non sono contento dell'annuncio di Hendle nell'exit. Questo è un robot multicurrency dove sono elencate circa venti coppie di valute. In diversi punti del robot ci sono chiamate alle funzioni specificate, sono impostati diversi tempi... Il robot non è realistico per dichiarare così tante maniglie prima dei calcoli, cioè può essere reale, ma è senza senso... Il 4 ha funzionato e ha frusciato!!! Sono seduto qui e sto davvero lottando...
int OnInit()
  {
//---
  if(Digits() == 3 || Digits() == 5) slip=slip *10; 
  //рисовка места под дашборд   
   time1 = 0;
   initGraph();
   ArrayInitialize(avg_,1);
//---
 ATR_handle=iATR(symbol,periodd(timeframe),period);
   return(0);
  }
//+------------------------------------------------------------------+
 
In realtà ERR_MARKET_NOT_SELECTED 4302 Nessun simbolo selezionato in MarketWatch - trattando ulteriormente il problema, come dove è la radice del problema.

Come non è selezionato? Cosa non è selezionato? Cos'è MarketWatch? Qual è il simbolo? Coppia di valute? Quindi, no, ho una coppia di valute nel mio codice come input di funzione molto bene!
 
Lo controllerò anche, e penso di sapere come fare. Ma non riesco a trovare MarketWatch su Google o Yandex, tranne una linea che è stata fissata nella nuova versione.
 
Dimka-novitsek:
In realtà, ERR_MARKET_NOT_SELECTED 4302 Simbolo non selezionato in MarketWatch - trattando ulteriormente il problema, come dove è la radice del problema.

Come non è selezionato? Cosa non è selezionato? Cos'è MarketWatch? Qual è il simbolo? Coppia di valute? Quindi, no, ho una coppia di valute nel mio codice come input di funzione molto bene!

Guardate la funzione SymbolSelect(). MarketWatch è la finestra di Market Watch. Prima di fare una domanda, prova a trovare la risposta usando la ricerca nel forum in alto a destra.

P.S. Non è necessario scrivere un grazie in ogni post. :)

 

Sì.

Controllato-inserito l'impronta, così.

 double iATRf (string symbol, int timeframe, int period, int shift  ){
  
  Print("symbol");Print(symbol); Print("timeframe");Print(timeframe); Print( "period");Print( period);Print("shift");Print(shift);  
  
    ATR_handle=iATR(symbol,periodd(timeframe),period);
   CopyBuffer(ATR_handle,0,0,100,ATR);
    ArraySetAsSeries(ATR,true); 
    return( ATR[shift]); }  

E sapete, il controllo ha mostrato che la funzione accetta parametri normali e sani. Ecco fatto. E mi guarderò i link per capire meglio la questione! Grazie!

 
Dimka-novitsek:
Lo controllerò anche, e penso di sapere come fare. Ma MarketWatch non è stato trovato in Google e Yandex, tranne una linea che è stata fissata nella nuova versione.
Beh, Dimon Vladimirovich, sei un tipo divertente :)
 

Grazie!!!

Questo significa che la piattaforma non supporta questa coppia? 2012.09.21 16:23:17 Impossibile creare un indicatore iMA per CADJPY/PERIOD_D1, codice errore 4302

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - Документация по MQL5