Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 811

 
SILVERPRINT:
Mql4 quando si fa riferimento all'indicatore invece dei dati del tester gli ultimi dati inMql5 sono uscitilo stesso?

Non capisco niente. Prova a riformulare e a mettere i segni di punteggiatura.

 

Tutti gli indicatori creati con metodi della libreria standard devono essere aggiornatimanualmente?

Ci sono due metodi

RefreshCurrent
Refresh


Ho capito che il primo è necessario seho bisogno di unaggiornamento automatico?

E la seconda, soloRefresh, per aggiornaremanualmente una volta al tick dell'intero array di dati?

 
SILVERPRINT:

Tutti gli indicatori creati con metodi della libreria standard devono essere aggiornatimanualmente?

Ci sono due metodi


Ho capito che il primo è necessario seho bisogno di unaggiornamento automatico?

E la seconda, soloRefresh, per aggiornaremanualmente una volta al tick dell'intero array di dati?


Per favore, mostra il codice di come crei un indicatore nel tuo Expert Advisor.

 
Vladimir Karputov:

Non capisco niente. Prova a riformulare e a mettere i segni di punteggiatura.


In mql4 l'informazione degli indicatori sull'indice zero nel tester ha dato una data flipper dalla storia. Avete dovuto ibarshiftare lo stesso in mql5?

 
SILVERPRINT:

In mql4 le informazioni degli indicatori sull'indice zero nel tester davano un flipper di date dalla storia. Avete dovuto ibarshiftare lo stesso in mql5?


Riformulare. Mettere i segni di punteggiatura. Scrivere in russo.

 
Vladimir Karputov:

Mostra il codice di come crei l'indicatore nell'EA.

#include <Indicators\Trend.mqh>
#include <Indicators\Oscilators.mqh>
#include <Indicators\TimeSeries.mqh>

MqlTick infotick;
MqlDateTime currentTime;
CiMA ValueofMA200;
CiMA ValueofMA20;
CiMA ValueofMAHour;
CiATR atr;
CiTime timeh1;
CiTime timeD1;


   sym=_Symbol;
   ValueofMA200.Create(sym,PERIOD_D1,slowma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMA20.Create(sym,PERIOD_D1,fastwma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMAHour.Create(sym,PERIOD_H1,mahours,0,MODE_SMA,PRICE_CLOSE);
   atr.Create(sym,PERIOD_H1,200);
   timeh1.Create(sym,PERIOD_H1);
   timeD1.Create(sym,PERIOD_H1);
   
   timeh1.BufferResize(25);
   timeD1.BufferResize(200);
   
   timeh1.Refresh(PERIOD_H1);
   timeD1.Refresh(PERIOD_D1);

         ValueofMA200.Main(0);
         ValueofMA20.Main(0);
         ValueofMAHour.Main(0);    
         atr.Main(0);
Circa come questo
 
SILVERPRINT:
Come questo

Sì, se usate la classe della libreria standard per creare indicatori, allora dovete usare i metodiRefresh per recuperare i dati

 
Vladimir Karputov:

Sì, se usate la classe della libreria standard per creare indicatori, allora dovete usare i metodiRefresh per recuperare i dati

Come funzionano questi metodi? Cosa è meglio usare?

RefreshCurrent
Refresh
Ho capito cheRefreshCurrent è un metodo costoso su ogni tick.
 
SILVERPRINT:

1) Come funzionano questi metodi? 2) Quale è meglio usare?


1) Navigate a questo metodo nell'editor (cliccando al centro sul nome del metodo passerete a questo metodo) - questo vi mostrerà come funziona il metodo. La ricetta è universale: cliccando in mezzo a qualsiasi metodo o funzione si passa al codice della funzione o del metodo stesso.

2) Non ci sono due modi per dirlo. Alcuni usano la creazione di indicatori attraverso le classi, altri usano la creazione di maniglie (iMA, iMACD ...).

 
Vladimir Karputov:

1) Passate a questo metodo nell'editor (cliccando al centro sul nome del metodo vi porterà a questo metodo), così potete vedere come funziona il metodo. La ricetta è universale: cliccando in mezzo a qualsiasi metodo o funzione si passa al codice della funzione o del metodo stesso.

2) Non ci sono due modi per dirlo. Alcuni usano la creazione di indicatori attraverso le classi, altri usano la creazione di maniglie (iMA, iMACD ...).


Il mio mouse non ha il pulsante centrale, è fatto di argento puro)).Probabilmente i miei problemi con la chiamata ottimale sono già stati risolti nel corso degli anni. Non vorrei aggiornare l'intero array ad ogni tick.

Motivazione: