Argomento interessante per molti: cosa c'è di nuovo in MetaTrader 4 e MQL4 - grandi cambiamenti in arrivo - pagina 49
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Non sembra. Quando ne ho davvero bisogno, lo faccio.
È un peccato che le tue opzioni siano limitate da qualche sviluppatore di software di terze parti.
Non si può.
Non dire stronzate, vai su PR la cucina ;)
Jacket, non sporcare la tua immagine qui tra i "nubendi e i PR" secondo la tua classificazione. Vai al tuo QQ.
P.S. Per i commercianti c'è l'alfabetizzazione, dove possono reintegrare la loro conoscenza delle realtà del mercato FOREX e le sue varie caratteristiche dai loro scambi abituali. Allarga i tuoi orizzonti!
Jacket, non sporcare la tua immagine qui tra i "nubendi e i PR" secondo la tua classificazione. Vai al tuo QQ.
MetaQuotes, naturalmente, ha sovradimensionato (sottodimensionato) il formato dello storico memorizzato (MqlRates). Questo è comprensibile. Quando il formato è stato sviluppato, gli spread fissi prevalevano nel mercato forex, mentre gli spread di mercato (fluttuanti) erano ancora esotici.Anche se era chiaro che anche gli spread fissi di fatto fluttuavano, perché le società di brokeraggio "non garantiscono la loro fissità nei momenti di novità e rapidi cambiamenti di mercato" (le virgolette rappresentano qui una citazione da una tipica offerta di quasi tutte le società di brokeraggio di quel periodo).
Ma i tempi sono cambiati e abbiamo quello che abbiamo - gli spread galleggiano su ogni tick, e va bene così. Solo che le citazioni storiche non lo riflettono, purtroppo.
Solo un valore di spread per ogni barra viene memorizzato nella storia. E non è sufficiente ora. E porta a distorsioni quando si testa sulla storia, perché non c'è coincidenza della storia di trading reale e il trading nel tester, anche se un broker fornisce assolutamente onesto (corrispondente alla traduzione reale tick-feed) base storia. La ragione è insufficiente potere descrittivo del formato MqlRates.
Questa struttura presuppone l'invariabilità dello spread all'interno di una barra, che non corrisponde alla realtà attuale del trading.
Più avanti si discute su quale potrebbe essere il formato "completo", l'ho chiamato "Mql_6_Rates" in modo condizionale per rendere chiaro che attualmente non è supportato.
Di seguito ci sono due varianti: la prima è una struttura impacchettata (per il disco) senza compressione con algoritmi speciali. Potrebbe essere compresso molte volte più piccolo (2-3, presumibilmente) per ridurre il traffico di trasferimento. Il formato compresso non è discusso qui.
Il formato "impacchettato" dovrebbe essere ottimale quando viene memorizzato sul disco del commerciante. Quando viene caricato dal disco nella memoria, può essere spacchettato al volo, le funzioni di spacchettamento sono "attaccate" alla struttura.
La storia scompattata (per l'accesso da MQL) potrebbe essere, diciamo, questa:
È più grande di adesso, ma lo spread è calcolato in tutti i punti fissi della barra. Cioè, se dobbiamo scrivere le informazioni in barre di minuti secondo lo schema tradizionale {Open+High+Low+Close}, allora dovremmo scriverle "per intero".
A mio parere, questa informazione è ridondante e tende a creare illusioni massime al punto di apertura. I momenti di apertura delle barre per i diversi simboli non coincidono, mentre esattamente al momento dell'inizio del minuto (astronomico) i prezzi bid-ask sui simboli corrispondono alle ultime offerte scambiate, cioè i prezzi di chiusura. Pertanto, il formato più adatto per testare i minuti (il più sano compromesso tra tradizione e buon senso) potrebbe essere il seguente
// Il risparmio corrispondente in formato disco impacchettato sarebbe di altri 7 byte, cioè SizeOf(Mql_6_PackedRates) sarebbe ridotto a 31 byte.
Per il test ecologico (più ragionevole) "per prezzi di apertura", si dovrebbe prendere il tempo di inizio astronomico di un minuto, cioè il prezzo di chiusura della barra precedente. In questo caso, si otterrebbe un esatto sincronismo multivaluta dei prezzi. Questo sincronismo è vitale per il debugging degli EA multivaluta che scambiano ordini di mercato. Per il trading di ordini limite e stop, l'informazione sugli estremi su ogni barra è vitale. È anche completamente disponibile nel formato che stiamo discutendo.
--
In realtà, sto sviluppando questi formati proprio ora per i miei scopi. Pubblicarli qui è solo un sottoprodotto del mio sviluppo. Forse qualcuno può trovarli utili.
In un test ecologico (il più sensato) dei "prezzi di apertura", si dovrebbe prendere l'ora astronomica di inizio del minuto, cioè il prezzo di chiusura della barra precedente.
ignorare il divario sarà fondamentale in alcuni casi
p.s. se avete bisogno di risparmi nel traffico, potete memorizzare offset invece di valori assoluti di prezzo, per i quali il doppio è molto
MetaQuotes, naturalmente, ha esagerato (underdid) il formato della storia memorizzata (MqlRates). È comprensibile. Quando il formato è stato sviluppato nel mercato forex, gli spread fissi prevalevano, mentre gli spread di mercato (fluttuanti) erano ancora esotici.Anche se era chiaro che anche gli spread fissi erano in realtà fluttuanti, perché le società di brokeraggio "non garantiscono la loro fissità in tempi di novità e rapidi cambiamenti nel mercato" (le virgolette qui rappresentano una citazione da un'offerta tipica di quasi tutte le società di brokeraggio di quel periodo).
MT5 è stato originariamente posizionato come un terminale di scambio. E sulle borse ECN-legge di formazione dei prezzi sono MOLTO tempo fa. Quindi, la scusa della carenza è insostenibile. Non c'era (e non c'è) nella loro squadra un algotrader forte, che possa essere ascoltato. A quanto pare, solo "il numero di anni di sviluppo di successo della piattaforma" è più importante della logica.
Non stavo cercando di trovare delle scuse. Per trovare delle scuse, devi prima accusare. Non ho davvero tempo per questo.... :)
Allora è un'indulgenza (bisogna diffidare di una cosa del genere - è peggio della critica nuda e cruda):
Quando è stato sviluppato il formato della cronologia memorizzata (MqlRates), MetaQuotes, naturalmente, ha esagerato (underdid). È comprensibile. Quando il formato è stato sviluppato nel mercato del forex, gli spread fissi hanno prevalso, gli spread di mercato (fluttuanti) erano ancora esotici.Anche se era chiaro che anche gli spread fissi erano in realtà fluttuanti, perché le società di brokeraggio "non garantiscono la loro fissità in tempi di novità e rapidi cambiamenti nel mercato" (le virgolette qui rappresentano una citazione da una tipica offerta di quasi tutte le società di brokeraggio di quel periodo).
ignorare il divario sarà fondamentale in alcuni casi