Discussion de l'article "Création d’un Expert Advisor, qui trade sur un certain nombre d’instruments"

 

Un nouvel article Création d’un Expert Advisor, qui trade sur un certain nombre d’instruments a été publié :

Le concept de diversification des actifs sur les marchés financiers est vieux et a toujours attiré les traders débutants. Dans cet article, l’auteur propose une approche extrêmement simple d’une élaboration d’un Expert Advisor multi-devises, pour une première introduction à cette direction des stratégies de trading.

La solution la plus rationnelle serait de placer toute la partie analytique de l’Expert Advisor dans l’indicateur multi-devises, et pour l’Expert Advisor à partir des tampons d’indicateurs, de ne prendre que les signaux prêts pour le contrôle des trades. La version de ce type d’indicateur est présentée par l’indicateur MultiStochastic.mq5, offrant une analyse visuelle des conditions du marché.

figure 9. Indicateur multi-stochastique

Auteur : Nikolay Kositsin

 
  1. Merci à l'auteur pour cet article.

  2. Pourquoi le choix d'un instrument dans le testeur, avec des paramètres d'Expert Advisor et d'autres conditions de test inchangés, affecte-t-il les résultats du test ?

EURUSD

GBPUSD

USDJPY

    3. les résultats du travail du conseiller expert dépendent-ils du choix du graphique et de la période du graphique d'attachement du conseiller expert, dans d'autres conditions inchangées ?

    4. Pourquoi en

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

    au lieu de

    _Digits

n'est pas utilisé

SymbolInfoInteger(Symbol_, SYMBOL_DIGITS)

et pourquoi la valeur de _Digits est-elle augmentée de +4 ?

 
ias:
  1. Pourquoi le choix d'un outil dans le testeur, avec des paramètres d'EA et d'autres conditions de test inchangés, affecte-t-il les résultats du test ?

Je ne peux que supposer que c'est lié à l'algorithme de génération de tick. Lisez ce https://www.mql5.com/ru/forum/1031.

J'y ai conclu que vous ne pouvez faire confiance qu'au mode de test par les prix d'ouverture, essayez-le, peut-être que les résultats coïncideront.

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

2. c'est difficile à dire ! Je suis moi-même très curieux !

3) Eh bien, elles dépendent de la période du graphique pour des raisons évidentes ! Mais il ne devrait pas y avoir de différences sérieuses en fonction de la puce sur laquelle l'Expert Advisor est assis. Dans la vie réelle, les ticks sur toutes les puces accrochent la fonction OnTick() différemment, mais sur les grandes périodes, la différence ne devrait être que de quelques centimes.

4. Merci pour l'erreur détectée, nous allons la corriger ! La précision a été augmentée de quatre chiffres pour éliminer les situations où les valeurs dtema1 et dtema2 peuvent être égales à zéro. C'est une question de goût, qui aime quoi.

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

5. est-il permis d'utiliser

ENUM_TIMEFRAMES timeframe=0
в
if (IsNewBar(Number, Symbol_, 0) || Recount[Number])
dans les tests ?
 
ias:

Peut-on l'utiliser

dans le cadre d'un test ?
Pas de problème !
 
ias:

Pourquoi le choix d'un outil dans le testeur, avec des paramètres d'Expert Advisor inchangés et d'autres conditions de test, affecte-t-il les résultats du test ?

Parce que MT5 a des problèmes !

Si, par exemple, une courbe d'un autre instrument est superposée au graphique de l'EURUSD.

#property indicator_separate_window ....

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

si EURJPY - tout va bien, mais si EURCAD les données sont parfois erronées

Si EURCAD sur EURCAD, tout va bien.

Sur Alpari, 90%, sur d'autres plateformes, moins.

En bref, certains instruments ne sont pas combinés !

 
Il est plus logique pour les systèmes multidevises de traiter l'algorithme principal sur une minuterie, afin de ne pas dépendre de l'intensité du flux de ticks sur l'instrument principal (sur lequel le conseiller expert est "suspendu"). C'est seulement dans ce cas que les résultats des tests multidevises seront identiques pour n'importe quel instrument sélectionné pendant les tests.
 
Kos:

Il est plus logique pour les systèmes multidevises de traiter l'algorithme principal par une minuterie, afin de ne pas dépendre de l'intensité du flux de ticks sur l'instrument principal (sur lequel l'Expert Advisor est "suspendu"). C'est seulement dans ce cas que les résultats des tests multidevises seront identiques pour n'importe quel instrument sélectionné pendant les tests.
Tout fonctionne normalement sans minuterie dans MQL4.
[Supprimé]  
Kos:

Il est plus logique pour les systèmes multidevises de traiter l'algorithme principal sur une minuterie, afin de ne pas dépendre de l'intensité du flux de ticks sur l'instrument principal (sur lequel l'Expert Advisor est "accroché"). C'est seulement dans ce cas que les résultats des tests multidevises seront identiques pour n'importe quel instrument sélectionné pendant les tests.

Je le répète depuis longtemps. :)

Dans les conseillers experts qui existent aujourd'hui, la minuterie n'est même pas impliquée à hauteur de 10 % de ce qu'elle devrait être.

L'idée de la nécessité de gérer la possibilité de trader sur certains instruments en fonction de paramètres est plutôt bonne (j'utilise moi-même ce genre de choses depuis MT4), mais la mise en œuvre est franchement boiteuse.

A mon avis, les devises devraient être rassemblées en groupes selon certains attributs, et dans les paramètres pour gérer l'ensemble des groupes, et le travail final sur chaque instrument séparément à effectuer déjà au niveau des variables ou des tableaux (en fonction de l'implémentation).

[Supprimé]  
gisip:
Tout fonctionne bien dans MQL4 sans timer.

Eh bien, il n'existe pas dans MQL4, il n'y a pas non plus de structures et de classes, suggérez-vous d'y renoncer ici ?


IMHO

Utiliser ou non la bibliothèque standard est une question de goût pour chacun (au pire, vous ne pouvez utiliser que votre propre code), mais renoncer à tous les avantages simplement parce qu'ils ne sont pas disponibles dans MT4 n'est pas très raisonnable......