Errori, bug, domande - pagina 2489

 
Slava:

Oh, a proposito, OnCalculate ha il parametro rates_total

In OnCalculate il parametro rates_total mostra anche più di quello che è configurato nel terminale.

 
Alexey Viktorov:

In OnCalculate il parametro rates_total mostra anche più di quello che è impostato nel terminale.

rates_total mostra sempre il numero di barre disponibili sul grafico corrente.

Non capisco il senso della sua affermazione.

 

Non ho un terminale client a portata di mano al momento per citare la guida. Da un dispositivo mobile in due clichttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars

Paragrafo appositamente evidenziato

Per un calcolo più economico gli indicatori possono avere più barre disponibili di quanto specificato nel parametro "Max bars in window". Man mano che arrivano nuove barre, le barre più vecchie non vengono immediatamente rimosse dalla cache dei dati. Questo permette di non ricalcolare completamente l'indicatore ad ogni nuova barra, ma solo di calcolare ulteriormente i suoi valori per le nuove barre.

Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
Slava:

rates_total mostra sempre il numero di barre disponibili sul grafico corrente.

Non capisco il significato della sua affermazione

Mi dispiace, la risposta è nelle immagini.

Ma nel debugger mostra

E devi scorrere 1268 barre per controllare il valore dell'indicatore. Solo dopo si può controllare quali valori di alto e/o basso così come la barra aperta/chiusa sono usati nei calcoli dell'indicatore.

È solo molto scomodo. Ma ci si abitua rapidamente e ci si adatta a tutto ciò che non è buono.

 

Errori di compilazione previsti

class A { public:
        void operator[]( int = 1 ) {} //нормально ???
};
void OnStart()
{
        A a;
        a[]; //нормально ???
}
 
Alexey Viktorov:

Mi dispiace, la risposta è nelle immagini.

Ma il debugger mostra

E per controllare il valore dell'indicatore dobbiamo scorrere 1268 barre. Solo dopo si può controllare quali valori di alto e/o basso così come la barra aperta/chiusa sono usati nei calcoli dell'indicatore.

È solo molto scomodo. Ma ci si abitua rapidamente e ci si adatta a tutto ciò che non è buono.

Ha letto attentamente la mia citazione nel post qui sotto?

Questo comportamento è sempre stato presente dall'introduzione dell'impostazione " numero massimo di barre sul grafico", cioè dall'inizio di MT4. E abbiamo spiegato molte volte in questi 15 anni perché non tagliamo ogni volta il numero di barre secondo questa impostazione. E ora non tagliamo ogni volta.

Nessuno legge la documentazione. Ma c'è un paradosso. Ci chiedono ancora di scrivere qualcos'altro nella documentazione, che non leggono.

 
Slava:

1. Dove è necessario aggiornare la documentazione?

2. L'identificatore a una cifra della barra è sempre stato il tempo della barra, non il numero della barra.

3. se il tuo grafico è stato chiamato da qualcuno a ChartSetSymbolPeriod, avresti facilmente catturato un cambiamento nel numero di barre. Sorpresa?

4. A proposito, c'è il parametro rates_total in OnCalculate.

1. esattamente dove hai indicato nel post successivo. Basta aggiungere che ci sarà un RESET, e questo reset sarà esattamente attraverso le barre max della finestra + 1439.

2. Ok, ne terrò conto. Anche se ti rendi conto che non ci possono essere due bar sotto lo stesso tempo, vero?

3. non è una sorpresa. Sto parlando specificamente del fatto che se non si cambia né il timeframe né il simbolo, potrebbe esserci un reset da 6439 a 5000.

4. Se avete letto attentamente il mio post sopra, lo avrete notato:

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

Errori, bug, domande

Alexey Kozitsyn, 2019.06.28 10:40

Cari sviluppatori. Se voglio chiedervi, è normale il ripartizionamento automatico dei buffer degli indicatori? Per ri-partizionamento intendo quanto segue: max barre nella finestra, per esempio 5000. La dimensione del buffer + rates_total sono resettati a 5000 quando raggiungono 6439. Lo stesso accade quando max barre in finestra = 10000. Il reset avviene al 11439.

A causa di questo gli indicatori possono bloccarsi e mostrare dati errati.

Costruire 2085. Ho notato questo comportamento da circa 2000 builds.

Ho indicato anche tassi_totale. Il problema è che tassi_totale e buffer non sono azzerati a 0 (non sarebbe un problema allora, basta ricalcolare l'intero indicatore ed è fatta). E prende il valore delle barre massime nella finestra. Questo è esattamente ciò di cui dovresti scrivere.

Per facilitarvi il compito, vorrei vedere un tale record:

Per un calcolo più economico, gli indicatori possono avere più barre disponibili di quanto specificato nel parametro "Max bars in window". Man mano che arrivano nuove barre, le barre più vecchie non vengono immediatamente rimosse dalla cache dei dati. Questo non permette all'indicatore di essere ricalcolato completamente ad ogni nuova barra, ma solo di aggiungere i suoi valori alle nuove barre. Le vecchie barre vengono cancellate una volta raggiunto il valore di Max bars nella finestra +1439 bars.

Sì, a proposito, per favore chiarisci, il valore 1439 è salvato anche per altri TF? O solo per M1?

 
Slava:

Ha letto attentamente la mia citazione nel post qui sotto?

Questo comportamento è sempre stato presente dall'introduzione dell'impostazione " numero massimo di barre per grafico", cioè dall'inizio di MT4. E abbiamo spiegato molte volte in questi 15 anni perché non riduciamo ogni volta il numero di barre secondo questa impostazione. E ora non tagliamo ogni volta.

Nessuno legge la documentazione. Ma c'è un paradosso. Ancora ci chiedono di scrivere qualcos'altro nella documentazione, che non leggono

Qui si parla di "paradossi" con la lettura della documentazione. E ho notato più di una volta che hai dei paradossi nella lettura dei post. Solo che spesso non li si legge fino in fondo. Tutti abbiamo i nostri difetti. Solo che è meglio non concentrarsi sui difetti degli altri, ma sui difetti del prodotto che sviluppate e che usiamo.

Grazie.

 
Alexey Kozitsyn:

Ho indicato anche rates_total. Il problema è che rates_total e buffers non vengono resettati a 0 quando rates_total e buffers vengono ri-partizionati.

il riferimento non è corretto, è fuorviante, ho scrittohttps://www.mql5.com/ru/forum/304239/page57#comment_11519307

In MQL5 i buffer in generale funzionano come i soliti array, in MT4 il terminale trattava i buffer in qualche modo - li resettava a EMPTY_VALUE, poi ... Non ricordo dove ho scritto della differenza tra gli indicatori MT5 e MT4

Devi cancellare i buffer - li cancelli come un normale array, il terminale imposta solo la dimensione dell'array-buffer stesso.

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
  • 2019.04.30
  • www.mql5.com
21 февраля 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Igor Makanu:

Il riferimento non è corretto, è fuorviante

Questo è il punto, è meglio cambiare la documentazione una volta in modo corretto, completo e aggiornato, che spiegare la stessa cosa per 15 anni a persone diverse che non hanno trovato qualcosa nella documentazione.