Auteur de l'idée — John Smith, auteur du code MQL5 — barabashkakvn.
Voici un assistant Expert Advisor qui se concentre uniquement sur la FERMETURE des positions :

Les positions sont déplacées à un point d'équilibre, et le Stop Loss est calculé en fonction de l'indicateur StopATR_auto. Les positions se ferment à l'intersection de deux MAs (Moyennes Mobiles).
Pour que cet EA fonctionne correctement, vous devez ajouter le fichier compilé de l'indicateur StopATR_auto dans le dossier MQL5\Indicators\Downloads :
//+------------------------------------------------------------------+ //| Fonction d'initialisation de l'Expert | //+------------------------------------------------------------------+ int OnInit() { //--- ... //--- création du handle de l'indicateur iCustom handle_iCustom=iCustom(m_symbol.Name(),TimeFrame,"Downloads\\StopATR_auto", CountBarsForAverage, Target );
Bien que cet Expert Advisor se concentre uniquement sur la fermeture des positions, j'ai ajouté une petite partie de code pour ouvrir des positions :
//+------------------------------------------------------------------+ //| Fonction de tick de l'Expert | //+------------------------------------------------------------------+ void OnTick() { //--- if(MQLInfoInteger(MQL_DEBUG) || MQLInfoInteger(MQL_PROFILER) || MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION)) { static long counter=-50; static bool trade_buy=true; if(counter==0) m_trade.Buy(m_symbol.LotsMin()); else if(counter%1500==0) { if(RefreshRates()) { if(trade_buy) { OpenBuy(m_symbol.LotsMin()); trade_buy=false; } else { OpenSell(m_symbol.LotsMin()); trade_buy=true; } } else counter=counter-9; } counter++; } //---
Cette unité fonctionne uniquement lorsque vous testez ou optimisez cet Expert Advisor. Une position d'achat ou de vente est ouverte après chaque 1 500 ticks.
Commentaire 0