Lega dei sistemi di trading. Continuate a fare un buon lavoro. - pagina 24

 
Georgiy Merts:

Amici, perché siete così preoccupati per la pubblicità... Invece di "Alpari" la gente scrive "la famosa casa di intermediazione su A". O invece di "Insta" - "la famosa società di intermediazione su I" - beh, è ridicolo! Perché diventare paranoici? La domanda era abbastanza specifica, e se la risposta è considerata "pubblicità" - beh, non so, allora bisogna vedere pubblicità in quasi tutti i post...

Restiamo nella ragione, ognuno è abbastanza intuitivo da distinguere la pubblicità dalle spiegazioni.

Ho letto della TDS. Sono molto sorpreso. Le seguenti caratteristiche sono dichiarate:

1. Nessun limite di dimensione dei file di 2 Gb.
2. La possibilità di test simultanei in diverse copie del terminale.
Possibilità di importare dati di tick da diversi broker.
4. Simulazione dello slittamento durante il test.
5.Test con lo spread reale.

Naturalmente tutto questo è utile, ma perché avete bisogno di programmi di terze parti per tutto questo, se MetaTrader ha tutto?

Inoltre lavorare con i tick per il posizionamento TS, che tiene le posizioni per più di un giorno, semplicemente non ha senso. Ho confrontato i test in modalità 1M OHLC e in modalità "real ticks" - la differenza è molto piccola. Non ha senso sprecare una grande quantità di tempo per testare i tick, se la più veloce modalità 1M OHLC è sufficiente per il TS di posizione?

Il test passa anche attraverso il tester MT4.

Ma le quotazioni non sono curvo-piegate, caricate dal terminale da metaquotes, ma quelle reali da Dukas o dal vostro broker.

Sulle caratteristiche:

1.Nessun limite alla dimensione del file 2Gb. - Ripeto che quelle citazioni su cui si sta testando hanno ben poco in comune con la realtà.

2. La possibilità di test simultanei in più copie del terminale. - Intendo il lavoro con i preventivi ottenuti tramite TDS.

3. La possibilità di importare dati di tick da diversi broker. - Non c'è questa possibilità incorporata in MT4, e non c'è mai stata.

4. Simulare lo slittamento durante il test. - inoltre non lo sono e non lo saranno mai.

5.Test con spread reale - simile al punto 4.

"Inoltre - lavorare con i tick per un TS di posizionamento che tiene le posizioni per più di un giorno - semplicemente non ha senso. Ho confrontato i test in modalità 1M OHLC e in modalità "real ticks" - la differenza è estremamente piccola. Perché sprecare una grande quantità di tempo nel test dei tick, se per il TS di posizione la più veloce modalità 1M OHLC è sufficiente?

- è la differenza che è estremamente piccola, è la differenza che distingue una strategia perdente da una redditizia ))))

- Se non sapete cosa farne, avrete sicuramente bisogno di una soluzione che funzioni bene in futuro.

Nessun lavoro serio può essere fatto con queste citazioni. Non importa quanto tempo una posizione sia tenuta sul mercato, anche se è un giorno o un anno.

 
Boris Gulikov:

Il test viene fatto anche attraverso il tester MT4.

Tranne che le quotazioni non sono storte, caricate dal terminale da metaquotes, ma reali da Dukas o dal vostro broker.

Su fics:

...................

Ahhhh... Stai usando una vecchia versione... MT4... Allora ha senso.

No... Metatrader 4 non è la nostra strada. Abbiamo testato solo con MT5 per diversi anni e abbiamo compilato le versioni funzionanti per MT4.

1. Le citazioni su cui faccio il test sono ESATTAMENTE le stesse che erano nella realtà. Soprattutto se si usa la modalità "tutti i tick basati sul reale". Ma come ho visto - questo è ridondante. Per i TC posizionali - il modo 1M OHLS va bene.

2. Ho testato MT5 in 24 threads contemporaneamente - tutti i core della rete domestica locale sono utilizzati.

3. In MT5 - è possibile importare facilmente le quotazioni di qualsiasi fornitore (come DucaCopi - importazione, tutto è possibile). Ma sono abbastanza contento di quelli alparish.

4. In MT5 - ottima imitazione dello slippage. Ma per la TS posizionale lo slittamento non ha importanza. Beh, una dozzina o due di punti scivolano a volte... Questo è meno del 10% del TP o SL medio... Perché inseguire questo slittamento?

5. In MT5, il test viene effettuato esattamente per lo spread reale. Dovete attivare la modalità "tutti i tick basati sul reale". Ma di nuovo, per Lega TS, con le sue strategie di posizione - tutti i tick danno praticamente la stessa immagine della modalità "quattro tick al minuto" (1M OHLC). La differenza sorge, come ho detto prima, se il DC ha uno spread pazzesco - ma non a causa di questo spread in sé, ma per il fatto che i prezzi Ask sono ottenuti in modo abbastanza diverso, e i trade sono diversi come risultato.

E, di nuovo, potresti essere tu ad avere dati diversi sulle zecche. Per me c'è poca differenza. Molto più influenzato dalla differenza dello spread.

Il mio verdetto, che si conferma solo usando TDS: MT4 è una piattaforma obsoleta, non adatta ai test. Solo MT5 !!!


Sì, beh, guardate voi stessi - come posso essere d'accordo che TDS è una cosa necessaria, se MT5 ha tutto ciò che fornisce inizialmente, più permette alcune cose che TDS, come ho capito, non permette (ad esempio, l'utilizzo di test paralleli su diversi core, o test di più simboli contemporaneamente)? Non vedo alcun vantaggio. Per MT4 - sì, TDS presenta grandi possibilità aggiuntive (e in MT4, infatti, la generazione di tick è seriamente diversa da quella reale). Ma MT4 è una piattaforma superata da tempo, e la uso solo perché il mio conto DC è su MT4.

 
Georgiy Merts:

Ehm... Non capisco. Perché è che "un tale EA non si adatta al tester"? Dove credete che lo stia testando?

L'idea della Lega TC è stata suggerita da me due anni fa, e la gente era estremamente scettica al riguardo. Il modello generale e il primo TC della Lega sono stati scritti un anno fa, avevo un vecchio computer allora, e ho invitato le persone a partecipare ai test. Nell'ultimo thread della TC League ho descritto come farlo, e due persone mi hanno aiutato con i test... Avevano il tester MetaTrader più comune dopo tutto!

La lettura diretta dei dati nell'Expert Advisor non è diversa dalla lettura dei dati dal grafico - le funzioni sono le stesse, ma se vuoi i dati dal grafico, devi specificare il simbolo e il timeframe corrente, e se vuoi alcuni dati specifici, devi specificarli. Il controllo delle impostazioni interne non è molto più complicato - tutti i dati sono semplicemente equiparati in una semplice funzione, e viene aggiunto del codice per attivare e disattivare le singole funzioni. Non è molto complicato.

Ho già il mio ottimizzatore - uso le capacità fornite da MetaTrader - durante l'ottimizzazione l'Expert Advisor raccoglie i data frame e li esamina, scegliendo il migliore in base al principio di un massimo - in modo che la performance sui test in avanti e indietro fosse il minimo (assicurando così che il TS non avrà performance peggiori di questo massimo trovato su tutta la storia). Una tale combinazione di parametri di input viene trovata e scritta nel log come testo di funzione pronto. Dopo l'ottimizzazione, prendo questo registro e trasferisco direttamente questa funzione nel codice della classe TC. Questo è tutto. TC è ottimizzato e inviato al "pool comune". E ci lavorerà fino a quando non supererà di nuovo i parametri di controllo.

Voglio dire, se hai una lega di fatto sotto forma di un singolo EA, ma deve essere testato solo in tempo reale, non sto parlando di esecuzione periodica dei blocchi nell'ottimizzatore, allora è un passo indietro rispetto ad altri EA, cioè la multicurrency è un plus, e la mancanza di tester è un minus.

Sarebbe diverso se fosse possibile eseguire League nel tester, come il solito EA multicurrency in MT5.

Per quanto ho capito il codice è compatibile con il conto MT4, e penso che se si fa un ottimizzatore di blocchi integrato, sarà possibile eseguirlo in tester, e se è così, rispetto all'attuale modalità di test, potrebbe risparmiare anni:)

 
Ivan Negreshniy:

Voglio dire che se hai un EA singolo de facto in Lega, ma ha bisogno di essere testato solo in tempo reale, non sto parlando di esecuzione periodica dei blocchi nell'ottimizzatore, allora è un passo indietro rispetto ad altri EA, cioè la multicurrency è un plus, ma l'assenza del tester è un minus.

Sarebbe diverso se fosse possibile eseguire League in tester, per esempio, come il solito EA multicurrency in MT5.

Per quanto ho capito, pur lavorando sul conto MT4, il codice è compatibile anche con MT5 e penso che se si fa un ottimizzatore di blocchi integrato, si potrebbe benissimo correre nel tester, e se così fosse, rispetto alla modalità di test attuale, si potrebbero risparmiare anni :)

Sì, proprio così.

Il codice della lega è multipiattaforma, compila su MT4 e MT5 senza modifiche.

Ogni TS è organizzato come una classe separata. Così il modulo eseguibile della lega si presenta così:

//+------------------------------------------------------------------+ //|                                                        TS_090817 | //|                                     Copyright 2017, George March | //+------------------------------------------------------------------+ /* Советник на основе фабрик, сделанный 090817 - оболочка для МТ5. */ #property description "TS_090817" #include <MyLib\DebugOrRelease\DebugSupport.mqh> #include <MyLib\Common\CurSymEnum.mq5> #include <MyLib\Factories\ForTrade\EURUSD\EURUSD_FactoriesIncludes.mqh> // Объявляем фабрики частей эксперта. // ЕМА сопровождение CTrendDTS_EURUSD_01_EPF epfFact_0(NULL); CTrendSAR_EURUSD_01_EPF epfFact_1(NULL); CTrendSP_EURUSD_01_EPF epfFact_2(NULL); CFlatSP_EURUSD_01_EPF epfFact_3(NULL); CFlatSAR_EURUSD_01_EPF epfFact_4(NULL); CFlatRTS_EURUSD_01_EPF epfFact_5(NULL); CTrendRTS_EURUSD_01_EPF epfFact_6(NULL); CFlatDTS_EURUSD_01_EPF epfFact_7(NULL);

// PriceChannel сопровождение CTrendDTS_EURUSD_PrCh_EPF epfFact_8(NULL); CTrendSAR_EURUSD_PrCh_EPF epfFact_9(NULL); CTrendSP_EURUSD_PrCh_EPF epfFact_10(NULL); CFlatSP_EURUSD_PrCh_EPF epfFact_11(NULL); CFlatSAR_EURUSD_PrCh_EPF epfFact_12(NULL); CFlatRTS_EURUSD_PrCh_EPF epfFact_13(NULL); CTrendRTS_EURUSD_PrCh_EPF epfFact_14(NULL); CFlatDTS_EURUSD_PrCh_EPF epfFact_15(NULL);

// ZZPendings сопровождение CTrendDTS_EURUSD_ZZPnd_EPF epfFact_16(NULL); CTrendSAR_EURUSD_ZZPnd_EPF epfFact_17(NULL); CTrendSP_EURUSD_ZZPnd_EPF epfFact_18(NULL); CFlatSP_EURUSD_ZZPnd_EPF epfFact_19(NULL); CFlatSAR_EURUSD_ZZPnd_EPF epfFact_20(NULL); CFlatRTS_EURUSD_ZZPnd_EPF epfFact_21(NULL); CTrendRTS_EURUSD_ZZPnd_EPF epfFact_22(NULL); CFlatDTS_EURUSD_ZZPnd_EPF epfFact_23(NULL); // Файл шаблона советника #include <MyLib\TSTemplate\ExpertAdvisorT.mq5>

Tutti.

In questo caso questo è il codice di tutti i TS su Eurodollar, che lavorano insieme con un lotto minimo.

Possiamo dichiarare altri TS, per altri simboli. Tutto è compilato - basta testarlo.

Ma, per l'ottimizzazione, si usano classi speciali, i successori delle classi di base di TS, in cui si possono impostare le impostazioni, e che sono in grado di formare i file stessi con le funzioni necessarie per fare le impostazioni in TS.

 
Georgiy Merts:

Ehm... Non capisco. Perché è che "un tale EA non si adatta al tester"? Dove credete che lo stia testando?

L'idea della Lega TC è stata suggerita da me due anni fa, e la gente era estremamente scettica al riguardo. Il modello generale e il primo TC della Lega sono stati scritti un anno fa, avevo un vecchio computer allora, e ho invitato le persone a partecipare ai test. Nell'ultimo thread della TC League ho descritto come farlo, e due persone mi hanno aiutato con i test... Avevano il tester MetaTrader più comune dopo tutto!

La lettura diretta dei dati nell'Expert Advisor non è diversa dalla lettura dei dati dal grafico - le funzioni sono le stesse, ma se vuoi i dati dal grafico, devi specificare il simbolo e il timeframe corrente, e se vuoi alcuni dati specifici, devi specificarli. Il controllo delle impostazioni interne non è molto più complicato - tutti i dati sono semplicemente equiparati in una semplice funzione, e viene aggiunto del codice per attivare/disattivare le singole funzioni. Non è molto complicato.

Ho già il mio ottimizzatore - uso le capacità fornite da MetaTrader - durante l'ottimizzazione, l'Expert Advisor raccoglie i frame di dati e li esamina, scegliendo il migliore in base al principio di un massimo - in modo che la massima performance sui test back and forward fosse il minimo (assicurando così che il TS non dovrebbe avere performance peggiori di questo massimo trovato su tutta la storia). Una tale combinazione di parametri di input viene trovata e scritta nel log come testo di funzione pronto. Dopo l'ottimizzazione, prendo questo registro e trasferisco direttamente questa funzione nel codice della classe TC. Questo è tutto. TC è ottimizzato e inviato al "pool comune". E ci lavorerà fino a quando non supererà di nuovo i parametri di controllo.

In quale TF si costruisce il canale e il robot fa trading sul pound-buck?

 
Roman Shiredchenko:

Su quale TF è costruito il canale e il robot fa trading sul bax della sterlina?

М15

 
Georgiy Merts:

М15

grazie

 
Georgiy Merts:

Sì, proprio così.

Il codice della lega è multipiattaforma, si compila su MT4 e MT5 senza modifiche.

Ogni TS è organizzato come una classe separata. Così il modulo eseguibile della lega si presenta così:

Tutti.

In questo caso questo è il codice di tutti i TS su Eurodollar, che lavorano insieme con un lotto minimo.

Possiamo dichiarare altri TS, per altri simboli. Tutto viene compilato e poi testato.

Ma per l'ottimizzazione - si usano classi speciali come discendenti delle classi base di TS, in cui si possono impostare le impostazioni, e che sono in grado di formare proprio i file con le funzioni necessarie per fare le impostazioni in TS.

La struttura è modulare e in linea di principio la sovraottimizzazione di una strategia individuale durante il test dovrebbe funzionare.

I problemi, a prima vista, possono essere solo con la velocità e il caching del codice nel tester, che non permetterà di caricare dinamicamente il codice MQL compilato al volo.

Non so se hai intenzione di sviluppare la tua Lega in questa direzione, ma mi interesserebbe, dato che io stesso ho avuto pensieri simili di recente.

Mi sono imbattuto in un effetto sorprendente di ottimizzazione a breve termine su piccoli timeframe e posso riprodurlo, ma purtroppo non ho ancora uno strumento per eseguirlo in un tester.

 
Ivan Negreshniy:

La struttura è modulare e in linea di principio la riottimizzazione di una strategia separata durante il test dovrebbe funzionare.

I problemi, a prima vista, possono essere solo con la velocità e il caching del codice nel tester, che non permetterà di caricare dinamicamente il codice MQL compilato al volo.

Non so se hai intenzione di sviluppare la tua Lega in questa direzione, ma mi interesserebbe, dato che io stesso ho avuto pensieri simili di recente.

Mi sono imbattuto in un effetto sorprendente di ottimizzazione a breve termine su piccoli timeframe e posso riprodurlo, ma purtroppo non ho ancora uno strumento per eseguirlo in un tester.

Una vera compilazione dinamica è difficilmente possibile in MetaTrader.

Io ce l'ho "semi-dinamico". Cioè, qualche TS mostra parametri di controllo - lo riottimo, trovo i parametri che hanno mostrato buoni risultati negli ultimi due anni (anno - indietro, anno - avanti), applico le modifiche alla classe TS (è qui che funziona la "compilazione dinamica"), poi ricompilo tutto e mando a lavorare.

Ottimizzazione a breve termine... Secondo me, tutto qui è molto traballante e instabile... Il mio obiettivo è quello di ottenere un TS stabile che funzioni per molto tempo, anche se con poco profitto...

 
Georgiy Merts:

Una vera compilazione dinamica è difficilmente possibile in MetaTrader.

Io ce l'ho "semi-dinamico". Cioè, qualche TS mostra parametri di controllo - lo riottimo, trovo i parametri che hanno mostrato buoni risultati negli ultimi due anni (anno - indietro, anno - avanti), applico le modifiche alla classe TS (è qui che funziona la "compilazione dinamica"), poi ricompilo tutto e mando a lavorare.

Ottimizzazione a breve termine... Secondo me, tutto è molto traballante e instabile qui... Il mio compito è solo quello di ottenere un TC stabile che funzioni per molto tempo, anche con poco profitto.

La compilazione dinamica può essere fatta attraverso la linea di comando mql.exe, ma è problematico ricaricare il modulo compilato durante i test.

Ma non mi interessa, perché posso sovraccaricare un neuronet anche attraverso gli array, ma per ottenere e debuggare strategie a lungo termine e stabili, ad esempio uno strumento per il loro test veloce diventa importante rispetto a quelli a breve termine.

Motivazione: