Auteur de l'idée — Hazem, auteur du code MQL5 — barabashkakvn.
La principale difficulté de ce code réside dans la comparaison des valeurs de l'iCCI et de l'iMACD avec la variable "Niveau d'Achat/Vente". Les valeurs des indicateurs peuvent varier de plusieurs fois, voire des dizaines de fois.
Par exemple, pour les symboles EURUSD, USDJPY et USDSEK ainsi que pour toutes les valeurs de période disponibles dans MetaTrader 5 :


Comme vous pouvez le constater, l'iCCI reste relativement stable dans ses lectures, tandis que l'iMACD est fortement influencé par le prix du symbole. Pour remédier à cela, nous pouvons multiplier les valeurs de l'iMACD par un ratio :
{
//----
m_ext_lot=NormalizeDouble(m_account.Balance()/50001.0,2);
if(m_ext_lot<0.1)
m_ext_lot=0.1;
m_cci=iCCIGet(0);
m_macd=iMACDGet(MAIN_LINE,0)*1000000;
m_buy_total=0;
m_sell_total=0;

Astuce : Il est recommandé d'utiliser l'EURUSD M30.
Résultats du 08/01/2016 au 06/11/2016, EURUSD M30, dépôt initial — 10 000 :

Commentaire 0