Importazione di dati e tester virtuale (sviluppo)

 

Ispirato dall'argomento qui, secondo me MT5 con tutta la sua potenza manca di alcune opzioni valide. Questo non è un thread sul perché MetaQuotes non mi ha dato. Ma piuttosto come posso trovare soluzioni al problema. Sembra che avere il controllo di tick-data e market-info non sarebbe implementato all'interno della nostra generazione di meta-trader. Allora perché è importante? Darò alcune ragioni di seguito.

1) Il mio broker ha uno spread medio su EURJPY per esempio molto più basso di quello di default-data come posso testare con questo spread medio più basso e viceversa? Broker non-mt5.

2) Il mio sistema è progettato per i mercati che oscillano, come potrebbe il mio sistema gestire un mercato con tendenza prolungata. Il mio algoritmo è abbastanza buono per mantenere il mercato fuori fase? Viceversa per il Trending.

3) Credo che i mercati siano casuali, come posso testare questo sistema su alcuni dati casuali e confrontare i risultati con i dati reali?

4) Il mio broker/venditore ... mi ha dato/venduto tonnellate di dati di alta qualità ma non ha un server mt5, come posso portarli in mt5 per eseguire i miei back-test?

5) Credo nei Real-Ticks non nei tick generati da un algoritmo. Ho salvato i miei tick per gli ultimi x anni e preferirei usare quelli, quali sono le mie opzioni?

6) Voglio fiducia e un migliore controllo dell'Environment[market-info] e dei Data[price|time|spreads], cosa devo fare?

Avevo altre ragioni, ma in qualche modo non riesco a ricordarle tutte in questo momento. Spero di sentire le vostre ragioni :)

 

L'obiettivo:

Credo che l'obiettivo dovrebbe essere semplice. E l'obiettivo semplice che ho in mente è far sì che il tester di strategie mt5 usi i dati in formato .csv | .hst. Tutte le altre chicche possono venire dopo.

Credo che la prima fase della discussione dovrebbe essere "è fattibile". La domanda ovvia qui "perché mt5". Come ho detto, è più potente del suo predecessore. La maggior parte di noi [che si preoccupa], sono pesantemente investiti nel linguaggio mql*. Inoltre, discutere di altre piattaforme non va bene su questo sito. E infine reinventare la ruota è fuori questione.

Come tale, sto cercando idee per incorporare il più possibile da ciò che abbiamo. Quindi sentiamo quelle idee brillanti gente!

1> Sto pensando che se questi EMULATION_MODES potessero essere imbrigliati completamente all'interno del back-tester renderebbe tutto possibile. Inoltre, avere la capacità di dormire all'interno del back-tester sarebbe anche uno strumento utile. Sto ancora facendo ricerche su questo e dando un'occhiata all'attuale Virtual Stuff già sviluppato. Scusate se non sembra che io sappia il fatto mio, ma c'è una richiesta per questo argomento ed è per questo che ho bisogno di voi ragazzi. Grazie.

 
Ubzen:

L'obiettivo:

Credo che l'obiettivo dovrebbe essere semplice. E l'obiettivo semplice che ho in mente è far sì che il tester di strategie mt5 usi i dati in formato .csv | .hst. Tutte le altre chicche possono venire dopo.

Credo che la prima fase della discussione dovrebbe essere "è fattibile". La domanda ovvia qui "perché mt5". Come ho detto, è più potente del suo predecessore. La maggior parte di noi [che si preoccupa], sono pesantemente investiti nel linguaggio mql*. Inoltre, discutere di altre piattaforme non va bene su questo sito. E infine reinventare la ruota è fuori questione.

Come tale, sto cercando idee per incorporare il più possibile da ciò che abbiamo. Quindi sentiamo quelle idee brillanti gente!

1> Sto pensando che se questi EMULATION_MODES potessero essere imbrigliati completamente all'interno del back-tester renderebbe tutto possibile. Inoltre, avere la capacità di dormire all'interno del back-tester sarebbe anche uno strumento utile. Sto ancora facendo ricerche su questo e dando un'occhiata all'attuale Virtual Stuff già sviluppato. Scusate se non sembra che io sappia il fatto mio, ma c'è una richiesta per questo argomento ed è per questo che ho bisogno di voi ragazzi. Grazie.

Per favore siate consapevoli che lo Strategy Tester è ancora, per quanto posso vedere, un lavoro in corso. Ho scoperto in prima persona che alcune cose semplicemente non funzionano, molti tipi di oggetti sono supportati ma non è possibile fare clic destro sul grafico e vedere una lista di oggetti, quindi siate un po' cauti quando progettate una soluzione, ciò che progettate potrebbe non essere supportato. Se per esempio avete creato dei prodotti per il mercato che si basano su oggetti Button o ChartGetInteger() con CHART_FIRST_VISIBLE_BAR, CHART_VISIBLE_BARS, CHART_WIDTH_IN_PIXELS e CHART_HEIGHT_IN_PIXELS, allora avrete dei prodotti che non potranno essere provati come prodotti Demo perché queste funzioni/caratteristiche non funzionano in Strategy Tester.

Cos'altro non funziona nello Strategy Tester?

Ciò di cui abbiamo veramente bisogno è che Metaquotes codifichi un'applicazione locale History Data Server, che non solo gestirebbe i nostri dati storici memorizzati, ma ci permetterebbe anche di creare i nostri Simboli personalizzando le proprietà dei Simboli... il back testing con i grafici offline sarebbe facile.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 
Ubzen:

L'obiettivo:

Credo che l'obiettivo dovrebbe essere semplice. E l'obiettivo semplice che ho in mente è far sì che il tester di strategie mt5 usi i dati in formato .csv | .hst. Tutte le altre chicche possono venire dopo.

...

Come può essere possibile? Non abbiamo alcun controllo sullo Strategy Tester. Abbiamo solo 2 opzioni, credo:

  1. Usare lo Strategy Tester così com'è, e cercare di lavorare sui dati. ST usa il file .hcs, la cui struttura è sconosciuta al momento AFAIK. È possibile sostituire questi file con i propri e ottenere dei risultati?
  2. Utilizzare un Virtual Strategy Tester, sul quale abbiamo il controllo totale. Questo significa più lavoro ma anche più indipendenza, mentre non dipende più dalformato hcs cambia per esempio.

Possiamo indagare sulle 2 opzioni. La mia idea era più sulla seconda.

 

Scrivere un sistema completo non è un compito semplice, ma è un obiettivo raggiungibile.

Tuttavia, nel momento in cui si inizia a scrivere un tale sistema, si spenderà il proprio tempo nello sviluppo di questo sistema, e non nel trading o nello sviluppo di sistemi di trading. Perché la quantità di lavoro è infinita.

La decisione principale da prendere, è quella di decidere di costruire il proprio sistema. Devi muoverti completamente al di fuori di MT5, altrimenti dovrai sempre e continuamente fare qualche tipo di compromesso, e scrivere doppio codice (come è ora per MT4-MT5). Inoltre, alcune grandi cose come gli agenti tester di strategia non sono così facili da implementare.

C'è almeno un frameworkgià esistente , quindi qualcosa del genere dovrebbe essere usato.

Let me google that for you
Let me google that for you
  • bit.ly
Let Me Google That For You
 
graziani:

Scrivere un sistema completo non è un compito semplice, ma è un obiettivo raggiungibile.

Mi interessa capire come lo faresti funzionare con gli EA e gli indicatori codificati in mql5 ?
 
RaptorUK:
Sono interessato a capire come lo faresti funzionare con gli EA e gli indicatori codificati su mql5?

non puoi. devi uscire da MT5. tutti i futuri EA/indicatori sono scritti al di fuori di MT4/MT5, quindi usi MT4/MT5 come fornitore di tick stream e per l'esecuzione degli ordini.

Per scopi di backtest, è possibile invertire il formato del database ( proibito ma realizzabile), e sostituire M1 con S1 (un secondo, non un tick) record, e poi semplicemente eseguire attraverso la storia M1 in ST. ma non vedo alcuna utilità per questo, perché per il flusso live, è necessario scrivere un EA completamente diverso, che deve utilizzare indicatori interni come dovrebbe essere l'elaborazione del flusso di tick raccolti, e non gli array di storia.

Il mio punto era che iniziando tale progetto, ci si concentrerebbe sulla costruzione di un altro 'MT4/5' e non sul trading.

 
graziani:

non puoi. devi uscire da MT5. tutti i futuri EA/indicatori sono scritti al di fuori di MT4/MT5, quindi usi MT4/MT5 come fornitore di tick stream e per l'esecuzione degli ordini.

Per scopi di backtest, è possibile invertire il formato del database ( proibito ma realizzabile), e sostituire M1 con S1 (un secondo, non un tick) record, e poi semplicemente eseguire attraverso la storia M1 in ST. ma non vedo alcuna utilità per questo, perché per il flusso live, è necessario scrivere un EA completamente diverso, che deve utilizzare indicatori interni come dovrebbe essere l'elaborazione del flusso di tick raccolti, e non gli array di storia.

Il mio punto era che iniziando tale progetto, ci si concentrerebbe sulla costruzione di un altro 'MT4/5' e non sul trading.

Grazie per la risposta, pensavo di aver capito cosa stavi suggerendo, volevo solo che tu fossi chiaro, e lo sei stato.

 

@RaptorUK: Grazie, capisco che tutto può non essere supportato. Non conosco tutto ciò che non funziona all'interno dello strategy tester. Non sto facendo un prodotto per il mercato. Qualcuno che fa prodotti ha il proprio set di problemi. Possono modificare i codici che facciamo noi o aspettare mq. Mq non partecipa a queste discussioni, (ci ignora), ho finito di chiedere loro qualcosa.

@angevoyageur: Sono d'accordo che abbiamo bisogno di qualcosa come l'opzione#2. Non mi dispiace fare un po' più di lavoro per avere più indipendenza. Qualunque cosa ci venga in mente, deve essere facilmente adottata e accettata. Altrimenti tutto il lavoro sarà vano. Non credo che potremmo renderlo facile come : [codifica il tuo ea in mql5] [avvia lo strategy tester] [e lo strategy tester virtuale prende il sopravvento]. Tuttavia, potremmo usare la sostituzione drop-in per le funzioni che già esistono mettendo una 'v' davanti al nome della funzione.

@graziani: Che ne dici di questo per semplice. FileRead( my.csv ); FileRead( my.market.info ). Sostituisci il tuo Marketinfo() con vMarketInfo(). DrawObjects come si muove il tester della strategia. Fate un Report.......Done. :), Allora cosa ne pensi? Più facile a dirsi che a farsi, vero?

Spostarsi al di fuori di mt4 o mt5 non funzionerebbe perché sto cercando di raccogliere supporto da codificatori simili a me che si spostano da mql4-mql5. Al fine di mantenere la motivazione su tali progetti, è necessario un adattamento di successo da parte di altri, anche solo per scopi di test|bug-reporting. Mi piacciono gli agenti e gli ottimizzatori, speravo che qualcuno dicesse che è facile da implementare (ecco come) :(. Ammettiamolo, tutte le caratteristiche di mt4/mt5 non saranno supportate dalla prima versione di questo VST.

Ottenere il supporto per i dati, le informazioni di mercato, l'esecuzione del mercato, la multi-valuta e un semplice reporting è ciò di cui abbiamo bisogno in questo momento. Più persone possono offrirsi volontarie in qualsiasi momento per questo progetto, più successo avrà. Se il progetto diventerà uno spostamento al di fuori di mt, dovremo costruire tutto quanto sopra + un sacco di altre cose che non avevamo mai dovuto considerare prima.

Speravo davvero che potessimo usare i codici mql5 già pronti. Se nessuno suggerisce un modo per farlo angevoyageur#1, allora passeremo a angevoyageur#2.

 
RaptorUK:

Grazie per la risposta, pensavo di aver capito quello che stavi suggerendo, volevo solo che tu fossi chiaro, e lo sei stato.


Non si tratta di fare qualcosa al di fuori di MT5. Non si tratta di riprogrammare tutto ciò che già funziona con lo Strategy Tester. Non si tratta di sostituire lo Strategy Tester. L'idea è quella di sviluppare qualcosa che completi lo Strategy Tester , con una o l'altra delle due opzioni (vedi sopra), o una combinazione delle due.
 
Ubzen:

@RaptorUK: Grazie, capisco che tutto può non essere supportato. Non conosco tutto ciò che non funziona all'interno dello strategy tester. Non sto facendo un prodotto per il mercato. Qualcuno che fa prodotti ha il proprio set di problemi. Possono modificare i codici che facciamo o aspettare mq. Mq non partecipa a queste discussioni, (ci ignora), ho finito di chiedere loro qualcosa.

@angevoyageur: Sono d'accordo che abbiamo bisogno di qualcosa come l'opzione#2. Non mi dispiace fare un po' più di lavoro per avere più indipendenza. Qualunque cosa ci venga in mente, deve essere facilmente adottata e accettata. Altrimenti tutto il lavoro sarà vano. Non credo che potremmo renderlo facile come : [codifica il tuo ea in mql5] [avvia lo strategy tester] [e lo strategy tester virtuale prende il sopravvento]. Tuttavia, potremmo usare la sostituzione drop-in per le funzioni che già esistono mettendo una 'v' davanti al nome della funzione.

@graziani: Che ne dici di questo per semplice. FileRead( my.csv ); FileRead( my.market.info ). Sostituisci il tuo Marketinfo() con vMarketInfo(). DrawObjects come si muove il tester della strategia. Fate un Report.......Done. :), Allora cosa ne pensi? Più facile a dirsi che a farsi, vero?

Spostarsi al di fuori di mt4 o mt5 non funzionerebbe perché sto cercando di raccogliere supporto da codificatori simili a me che si spostano da mql4-mql5. Al fine di mantenere la motivazione su tali progetti, è necessario un adattamento di successo da parte di altri, anche solo per scopi di test|bug-reporting. Mi piacciono gli agenti e gli ottimizzatori, speravo che qualcuno dicesse che è facile da implementare (ecco come) :(. Ammettiamolo, tutte le caratteristiche di mt4/mt5 non saranno supportate dalla prima versione di questo VST.

Ottenere il supporto per i dati, le informazioni di mercato, l'esecuzione del mercato, la multi-valuta e un semplice reporting è ciò di cui abbiamo bisogno in questo momento. Più persone possono offrirsi volontarie in qualsiasi momento per questo progetto, più successo avrà. Se il progetto diventerà uno spostamento al di fuori di mt, dovremo costruire tutto quanto sopra + un sacco di altre cose che non avevamo mai dovuto considerare prima.

Speravo davvero che potessimo usare i codici mql5 già pronti. Se nessuno suggerisce un modo per farlo angevoyageur#1, allora passeremo a angevoyageur#2.

Siamo sulla stessa lunghezza d'onda.
Motivazione: