Penulis ide— Hazem, penulis kode MQL5 — barabashkakvn.
Salah satu tantangan utama dalam kode ini adalah membandingkan nilai iCCI dan iMACD dengan variabel "Buy Sell Level". Nilai indikator ini bisa berbeda secara signifikan, bahkan hingga puluhan kali.
Contohnya, untuk simbol EURUSD, USDJPY, dan USDSEK, serta untuk semua periode yang tersedia di MetaTrader 5:


Dari gambar di atas, kita bisa lihat bahwa iCCI cukup stabil dalam pembacaannya, sedangkan iMACD sangat tergantung pada harga simbol. Untuk mengatasi masalah ini, kita dapat mengalikan nilai iMACD dengan suatu rasio:
void OnTick()
{
//----
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;
{
//----
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;

Tip: Disarankan menggunakan EURUSD M30.
Hasil dari 2016.01.08 hingga 2016.11.06, EURUSD M30, deposit awal — 10.000:

Komentar 0