Cosa restituiscono le funzioni Lowest e Highest - pagina 6

 
Stavo anche pensando, apparentemente in questa situazione non si tratta di pompare, ma di iniziare a costruire la nuova barra senza aspettare che la storia venga pompata. E questo è abbastanza giusto. Ma d'altra parte, immaginate un Expert Advisor di trading. Si verifica un errore di connessione e poi la connessione viene ripristinata. L'esperto può aprire una posizione sulla base dei valori errati dell'indicatore fino a quando la storia non è completamente scambiata. Quindi, la questione va oltre lo scopo di questo argomento e riguarda la sicurezza dell'autotrading in generale. Il problema non è semplice, ovviamente. Forse, la soluzione sarebbe una variabile predefinita "lunghezza dell'ultimo periodo continuo della storia"? Gli indicatori (esperti) potrebbero leggerlo e gestire la situazione in qualche modo.
 
È qui che la memorizzazione del valore delle barre (non solo di Time[0]) può aiutare. Cioè:

start() {..... if (PrevBars!=Bars-1) { init(); PrevBars=Bars-1; }
 
Coloro che fanno trading serio con gli EA sono probabilmente consapevoli di questo problema. E qualche tipo di trattamento per questa situazione è incluso nell'EA.
 
La memorizzazione dei valori delle barre (non solo Time[0]) .... può aiutare.

Ecco un frammento di quel file di log che mostra che quando inizia una nuova barra, le barre aumentano di 1 e non del numero di barre da aggiornare. Quindi non aiuta
2006.10.31 23:58:25 CZZ2 EURUSD,M1: shift=0, Bars=38230, Time[shift]=2006.10.31 22:51, High[shift]=1.2763, Low[shift]=1.2763 2006.10.31 23:58:25 CZZ2 EURUSD,M1: shift=1, Bars=38230, Time[shift]=2006.10.31 22:45, High[shift]=1.2762, Low[shift]=1.2762 2006.10.31 23:58:23 CZZ2 EURUSD,M1: shift=0, Bars=38229, Time[shift]=2006.10.31 22:45, High[shift]=1.2762, Low[shift]=1.2762



Coloro che fanno trading serio con gli EA sono probabilmente consapevoli di questo problema. E qualche tipo di trattamento per questa situazione è incluso nell'EA.

Beh, possiamo provare a gestire la situazione in qualche modo, ma sembra che non possiamo fare a meno di alcuni trucchi astuti. Soprattutto tenendo conto della posizione rigida di MQ su carte senza fori.
D'altra parte, il terminale sa se ha bisogno di pompare la storia o no. Se MQL avesse accesso a questa conoscenza, il problema sarebbe risolto in modo molto più naturale.


 
Poi confrontiamo Time[0] e Time[1]. Io stesso ho lottato solo una volta con una situazione del genere, quindi non posso darvi un codice pratico dall'inizio.
 
Poi confrontiamo Time[0] e Time[1]. Io stesso ho lottato solo una volta con una situazione del genere, quindi non posso darvi alcun codice pratico. <br / translate="no">.

Questo non farà nulla se prima non abilitate il codice del tipo "grafico senza buchi" perché l'esistenza di buchi è una situazione normale in MT. Anche se su grandi orizzonti temporali catturerà quasi tutti i fallimenti.
 
In effetti, questa è una sorta di "demonizzazione" :)
Il codice deve essere scritto con la massima protezione, perché il pompaggio dei dati può essere causato non solo dal terminale, ma anche dall'ISP, dal centro dati, dal broker, dal blocco del computer e così via.
 
A proposito, per sicurezza. 28. Ricerca dei prezzi estremi - http://www.alpari-idc.ru/ru/experts/articles/29.html
 
Temo che il codice con la massima protezione sia inadatto all'uso pratico :). Dato che il trading è rischioso in generale, avremmo potuto limitarci a una protezione ragionevole. Ma qui stiamo parlando di una situazione piuttosto frequente. A proposito, la mia conclusione sulla migliore sicurezza dei grandi timeframe nel post precedente era sbagliata. La barra precedente può avere dei valori High, Low e Сlose non corretti prima dello swapping della storia, mentre la barra attuale ha dei valori High, Low e Open non corretti.
 
Sì, si scopre che i timeframe grandi sono ancora più pericolosi di quelli piccoli, perché non vedo alcun modo semplice per determinare la correttezza dei dati delle ultime due barre. Potete immaginare un indicatore appeso ai minuti e che riempie la variabile globale GoodHistoryDepht. Altri indicatori controllano questo valore rispetto alla loro profondità di calcolo richiesta e prendono decisioni. Ma a causa della posizione dell'MQ sui fori, la maggior parte del tempo (e più lungo è il timeframe, più grande, fino al completo rifiuto delle barre giornaliere) sarà semplicemente inadatto al trading. Soprattutto visto che i fallimenti della comunicazione preferiscono vivere in conti reali.