Discussion de l'article "Assistant MQL5 pour les Nuls"

 

Un nouvel article Assistant MQL5 pour les Nuls a été publié :

Début 2011, nous avons publié la première version de l'assistant MQL5. Cette nouvelle application fournit un outil simple et pratique pour générer automatiquement des robots de trading. Tout utilisateur de MetaTrader 5 peut créer un Expert Advisor personnalisé sans même savoir comment programmer en MQL5.

Examinons chaque étape séparément et parcourons toutes les étapes de création d'un Expert Advisor. Vous devrez d'abord définir l'outil et le calendrier sur lesquels l' EA va trader : EUR/USD et M10. Nous utiliserons les signaux suivants :

  • EMA('EURUSD',M10,31) - Moyenne mobilemoyenne mobile;
  • Stochastic('EURUSD',M10,8,3,3) - Oscillateur Stochastic;
  • EMA('EURUSD',H1,24) -Moyenne mobile d'une autre période pour confirmer la première EMA ;
  • Stochastic('EURJPY',H4,8,3,3) - Oscillateur Stochastic d’un autre symbole et tranche de temps pour confirmer le premier.
  • IntradayTimeFilter – A time filter, qui révèle l’efficacité de tous les autres signaux durant certains heures et jours de la semaine.

Ainsi, nous avons défini les paramètres de base pour notre Expert Advisor. Nous pouvons maintenant commencer à travailler dans l'Assistant MQL5. Pour démarrer le programme, ouvrez le programme MetaEditor et cliquez sur "Créer" dans l'onglet "Fichier" du menu principal. Dans la fenêtre apparue, sélectionnez «Créez un conseiller expert » :

Créez Expert Advisor

Auteur : MetaQuotes

 

Questions pour les développeurs :

1. Pourquoi ne puis-je pas utiliser d'autres signaux ?

Par exemple,"Signaux basés sur le croisement de deux EMA".

https://www.mql5.com/ru/forum/2935/page1

2. la bibliothèque de signaux sera-t-elle renouvelée ?

3) Sera-t-il possible de créer ses propres classes de signaux à l'aide de l'"Assistant" ?

4. sera-t-il possible de créer des indicateurs basés sur des tableaux d'indicateurs à l'aide de l'"Assistant" ?

5. Sera-t-il possible d'enregistrer les paramètres de l'assistant pour ajuster ultérieurement la stratégie/l'indicateur créé(e) directement dans l'assistant ?

À mon avis, les points. 3-5 faciliteraient grandement la vie des traders qui ne sont pas des programmeurs.

Et un "fantasme" complet serait la possibilité de créer vos propres cassettes de signaux pour n'importe quel indicateur avec l'aide de l'assistant, comme si vous écriviez des équations dans Excel :)

Comme c'est le cas dans Metaquots et CQG.

Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
  • www.mql5.com
В статье Создание эксперта без программирования с помощью Мастера MQL5 описаны шаги по автоматическому созданию кода советника при помощи Мастера MQL5.
 
Je suis en train d'écrire mon propre module de signaux, dans lequel la fonction de test est la suivante :
//+------------------------------------------------------------------+
//| Vérifier si la condition d'une vente est remplie |
//| INPUT :aucun|
//| OUTPUT : Poids de la voix de 0 à 100|
//| REMARQUE : Non.|
//+------------------------------------------------------------------+
int CInnerBarSignal::ShortCondition(){
//--- la condition est vérifiée par la barre précédente fermée

  
   Print("call short condition");
   if(  Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){
     return(100);
   }
//--- condition non remplie
   return(0);
  }

en exécutant l'EA généré en mode "all ticks", vous pouvez voir que la fonction est exécutée deux fois à l'ouverture de la barre

2011.06.07 11:42:15 Core 1 connexion fermée

2011.06.07 11:42:15 Core 1 fichier journal "D:\Nmetatrader5\NTester\NAgent-127.0.0.0.1-3000\s\NCOPY02.log" écrit

2011.06.07 11:42:15 Core 1 EURUSD,H1 : 72504 ticks (24 barres) générés en 62 ms (total des barres dans l'historique 8814, temps total 312 ms)

2011.06.07 11:42:15 Core 1 OnTester result 0

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition

Est-ce que c'est comme ça que c'est conçu et est-ce que le traitement postique n'est pas disponible dans le module de signal ?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
gdtt:
Je suis en train d'écrire mon propre module de signaux, dans lequel la fonction de test est la suivante :

en exécutant l'EA généré en mode "all ticks", vous pouvez voir que la fonction est exécutée deux fois à l'ouverture de la barre

2011.06.07 11:42:15 Core 1 connexion fermée

2011.06.07 11:42:15 Core 1 fichier journal "D:\Nmetatrader5\NTester\NAgent-127.0.0.0.1-3000\s\NCOPY02.log" écrit

2011.06.07 11:42:15 Core 1 EURUSD,H1 : 72504 ticks (24 barres) générés en 62 ms (total des barres dans l'historique 8814, temps total 312 ms)

2011.06.07 11:42:15 Core 1 OnTester result 0

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition

Est-ce que c'est comme ça que c'est conçu et est-ce que le traitement postique n'est pas disponible dans le module de signal ?

Par défaut, le conseiller expert est généré par l'assistant pour travailler aux cours d'ouverture.

Dans le code source du conseiller expert, remplacez :

//--- Initialisation de l'expert
   if(!Ext_Expert.Init(...,...,false,...))

par :

//--- Initialisation de l'expert
   if(!Ext_Expert.Init(...,...,true,...))
 

Début 2011, nous avons publié la première version de l'assistant MQL5. Cette étape a fourni aux traders un outil simple et clair pour la création automatique de robots de trading. Tout utilisateur de MetaTrader 5 a pu écrire son propre Expert Advisor sans savoir comment programmer en MQL5.


C'est une bonne chose, mais cela ne suffit pas aux débutants pour écrire leurs propres robots, c'est-à-dire que vous pouvez les écrire, mais uniquement en utilisant votre bibliothèque. Et si un débutant a besoin d'écrire un Expert Advisor avec ses propres signaux ? Nous y voilà...

Si vous voulez qu'un débutant puisse écrire son propre Expert Advisor, vous devez ajouter un visualiseur. Ceci est mis en œuvre, par exemple, dans Trade Navigator. Vous pouvez y ajouter des signaux à la bibliothèque en sélectionnant une section de graphique. Le visualiseur transfère tout lui-même dans le langage de programmation. Il tient compte de tout, des chandeliers, des indicateurs et des lignes graphiques sur le graphique. En d'autres termes, vous pouvez créer n'importe quelle bibliothèque. Vous pouvez ensuite créer n'importe quel conseiller expert à partir de ces signaux. C'est ce à quoi nous devrions aspirer.

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.

[Supprimé]  
NGN:


C'est bien, mais ce n'est pas suffisant pour que les débutants puissent écrire leurs propres robots. Bien sûr, vous pouvez écrire, mais seulement en utilisant votre bibliothèque. Et si un débutant a besoin d'écrire un expert de ses propres signaux ? Nous y voilà...

Si vous voulez qu'un débutant puisse écrire son propre Expert Advisor, vous devez ajouter un visualiseur. Ceci est mis en œuvre, par exemple, dans Trade Navigator. Vous pouvez y ajouter des signaux à la bibliothèque en sélectionnant une section de graphique. Le visualiseur transfère tout lui-même dans le langage de programmation. Il tient compte de tout, des chandeliers, des indicateurs et des lignes graphiques sur le graphique. En d'autres termes, vous pouvez créer n'importe quelle bibliothèque. Vous pouvez ensuite créer n'importe quel conseiller expert à partir de ces signaux. C'est ce à quoi nous devrions aspirer.

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.

Vous ne connaissez pas encore ces articles ?

1. Assistant MQL5 : Comment écrire votre propre module pour la maintenance des positions ouvertes

2. Assistant MQL5 : Comment écrire votre propre module de gestion du capital et du risque

3. assistant MQL5 : Comment écrire votre module de signaux de trading

4. Assistant MQL5 : Créer un Expert Advisor sans programmation

5. Assistant MQL5 : Nouvelle version

 

Pouvez-vous me dire comment placer des ordres en attente dans l'assistant ?

Autre question : ce code est-il correct ?

//+------------------------------------------------------------------+
//|| Objet expert global|
//+------------------------------------------------------------------+
CExpert ExtExpert;
CExpert ExtExpert1;

//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'expert
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initialisation de l'expert
   if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || 
      !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- a échoué
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      ExtExpert1.Deinit(); 
      return(-1);
     }

Et quel symbole/période définir dans le testeur dans ce cas ?

2011.06.16 10:15:25     Core 1  2011.06.01 00:00:00   CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
 
beginner:

Pouvez-vous me dire comment placer des ordres en attente dans l'assistant ?

Dans le Conseiller Expert généré, il y a un paramètre Inp_Signal_PricrLivel. Il est défini en 2/4 points significatifs.

Valeur 0 - entrée sur le marché.

Valeur supérieure à 0 - l'entrée est meilleure que le marché (selon l'ordre limité).

Valeur inférieure à 0 - l'entrée est moins bonne que le marché (selon l'ordre stop).

Je ne suis pas prêt à répondre immédiatement à la deuxième question.
 

Voici les paramètres

//+------------------------------------------------------------------+
//| Entrées|
//+------------------------------------------------------------------+
//--- les entrées pour l'expert
input string Expert_Title         ="2";   // Nom du document
int          Expert_MagicNumber   =13179; // 
bool         Expert_EveryTick     =false; // 
//--- entrées pour le signal principal
input int    Signal_ThresholdOpen =10;    // Valeur seuil du signal à ouvrir [0...100]
input int    Signal_ThresholdClose=10;    // Valeur seuil du signal à fermer [0...100]
input double Signal_PriceLevel    =0.0;   // Niveau de prix pour exécuter une transaction
input double Signal_StopLevel     =50.0;  // Niveau de Stop Loss (en points)
input double Signal_TakeLevel     =50.0;  // Niveau de Take Profit (en points)
input int    Signal_Expiration    =4;     // Expiration des ordres en attente (en barres)
input double Signal__Weight       =1.0;   // Poids de la barre intérieure [0...1.0]
//--- des intrants pour de l'argent
input double Money_FixLot_Percent =10.0;  // Pourcentage.
input double Money_FixLot_Lots    =0.1;   // Volume fixe
Comment dois-je exécuter pour pouvoir entrer sur le marché sur n'importe laquelle des options.
 
beginner:

Voici les paramètres

Comment dois-je me formater pour pouvoir entrer sur le marché avec l'une ou l'autre des options.

Pour entrer mieux que le marché (sur le rebond) :

input double Signal_PriceLevel    =50.0;   // Niveau de prix pour exécuter une transaction

Pour entrer moins bien que le marché (sur le breakout) :

input double Signal_PriceLevel    =-50.0;   // Niveau de prix pour exécuter une transaction

Mais vous pouvez le retrouver dans le testeur en effectuant une optimisation sur le paramètre de -50,0 à 50,0 par incréments de 1,0(5,0).

 
uncleVic:
Je ne suis pas prêt à répondre à la deuxième question en une seule fois.

Ou alors, dites-moi comment négocier sur 2 instruments.