Discussione sull’articolo "Creazione di un Expert Advisor, che fa Trading su una Serie di Strumenti"

 

Il nuovo articolo Creazione di un Expert Advisor, che fa Trading su una Serie di Strumenti è stato pubblicato:

Il concetto di diversificazione delle attività sui mercati finanziari è tranquillo e ha sempre attratto i trader principianti. In questo articolo, l'autore propone un approccio estremamente semplice alla costruzione di un Expert Advisor multi-valuta, per una prima introduzione a questa direzione delle strategie di trading.

La soluzione più razionale sarebbe quella di posizionare l'intera parte analitica dell'Expert Advisor nell'indicatore multi-valuta, e per l'Expert Advisor dai buffer degli indicatori, prendere solo i segnali pronti per il controllo dei trade. La versione di questo tipo di indicatore è presentata dall'indicatore MultiStochastic.mq5, che fornisce un'analisi visiva delle condizioni di mercato.

Figura 9. Indicatore MultiStochastic

Autore: Nikolay Kositsin

 
  1. Grazie all'autore per l'articolo.

  2. Perché la scelta di uno strumento nel tester, con i parametri dell'Expert Advisor e le altre condizioni di test invariati, influisce sui risultati del test?

EURUSD

GBPUSD

USDJPY

    3.I risultati del lavoro dell'Expert Advisor dipendono dalla scelta del grafico e dal periodo del grafico allegato all'Expert Advisor, in altre condizioni invariate?

    4. Perché in

    dtema2 = NormalizeDouble(TEMA[2] - TEMA[3], _Digits + 4);
    dtema1 = NormalizeDouble(TEMA[1] - TEMA[2], _Digits + 4);

    invece di

    _Digits

non si usa

SymbolInfoInteger(Symbol_, SYMBOL_DIGITS)

e perché il valore _Digits è aumentato di +4?

 
ias:
  1. Perché la scelta di uno strumento nel tester, con parametri EA invariati e altre condizioni di test, influisce sui risultati del test?

Posso solo supporre che sia legato all'algoritmo di generazione dei tick. leggete questo https://www.mql5.com/ru/forum/1031.

Ho concluso che ci si può fidare solo della modalità di test con i prezzi di apertura, provate, forse i risultati coincideranno.

Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
  • www.mql5.com
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5".
 
ias:

2. È difficile da dire! Anch'io sono molto curiosa!

3. Beh, dipenderanno dal periodo del grafico per ovvie ragioni! Ma non dovrebbero esserci differenze sostanziali a seconda del chip su cui si trova l'Expert Advisor. Nella vita reale, i tick su tutti i chip agganciano la funzione OnTick() in modo diverso, ma comunque su grandi timeframe la differenza dovrebbe essere di pochi centesimi.

4. Grazie per la gaffe rilevata, la sistemeremo! La precisione è stata aumentata di quattro cifre per eliminare le situazioni in cui i valori di dtema1 e dtema2 possono essere uguali a zero. È una questione di gusti, a chi piace cosa.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

5.E' consentito l'uso di

ENUM_TIMEFRAMES timeframe=0
в
if (IsNewBar(Number, Symbol_, 0) || Recount[Number])
nei test?
 
ias:

È consentito l'uso

nei test?
Nessun problema!
 
ias:

Perché la scelta di uno strumento nel tester, con parametri di Expert Advisor invariati e altre condizioni di test, influisce sui risultati del test?

Perché l'MT5 è difettoso!

Se, ad esempio, una curva di un altro strumento viene sovrapposta al grafico EURUSD.

#proprietà indicator_separate_window ....

copied=CopyClose(InstrumentName,0,0,CountsBars,Buffer);

se EURJPY - tutto va bene, ma se EURCAD i dati sono talvolta in errore

Se EURCAD su EURCAD, tutto va bene.

Su Alpari nel 90%, su altre piattaforme meno.

In breve, alcuni strumenti non sono combinati!

 
È più logico che i sistemi multicurrency elaborino l'algoritmo principale su un timer, in modo da non dipendere dall'intensità del flusso di tick sullo strumento principale (su cui si "blocca" l'Expert Advisor). Solo in questo caso i risultati del test multicurrency saranno identici per qualsiasi strumento selezionato durante il test.
 
Kos:

È più logico per i sistemi multicurrency elaborare l'algoritmo principale tramite un timer, in modo da non dipendere dall'intensità del flusso di tick sullo strumento principale (sul quale l'Expert Advisor si "blocca"). Solo in questo caso i risultati dei test multicurrency saranno identici per qualsiasi strumento selezionato durante il test.
Tutto funziona normalmente senza timer in MQL4.
 
Kos:

È più logico che i sistemi multicurrency elaborino l'algoritmo principale su un timer, in modo da non dipendere dall'intensità del flusso di tick sullo strumento principale (su cui si "blocca" l'Expert Advisor). Solo in questo caso i risultati dei test multicurrency saranno identici per qualsiasi strumento selezionato durante i test.

Lo dico da molto tempo. :)

Negli Expert Advisor che esistono ora, il timer non è coinvolto nemmeno al 10% di quello che dovrebbe essere.

L'idea della necessità di gestire la possibilità di fare trading su certi strumenti in base a parametri è abbastanza buona (io stesso uso queste cose fin dalla MT4), ma l'implementazione è francamente zoppa.

A mio avviso, le valute dovrebbero essere raccolte in gruppi in base a qualche attributo, e nei parametri gestire gli interi gruppi, e il lavoro finale su ogni strumento separatamente da svolgere già a livello di variabili o array (a seconda dell'implementazione).

 
gisip:
Tutto funziona bene in MQL4 senza timer.

Beh, non esiste in MQL4, inoltre non ci sono strutture e classi lì, suggerisci di rinunciare a loro qui?


IMHO

Usare o non usare la libreria standard è una questione di gusti (nel peggiore dei casi, si può usare solo il proprio codice), ma rinunciare a tutti i vantaggi solo perché non sono disponibili in MT4 non è molto ragionevole.....