Ideengeber: Hazem, Autor des MQL5 Codes: barabashkakvn.
Eine der größten Herausforderungen bei diesem Code ist der Vergleich der Werte von iCCI und iMACD mit der Variable "Buy Sell Level". Die Indikatorwerte können dabei um ein Vielfaches voneinander abweichen.
Nehmen wir als Beispiel die Währungspaare EURUSD, USDJPY und USDSEK sowie alle verfügbaren Zeitperioden in MetaTrader 5:


Wie du sehen kannst, ist iCCI in seinen Werten relativ stabil, während iMACD stark von den Preisbewegungen des Symbols abhängt. Um dieses Problem zu lösen, können wir die Werte von iMACD mit einem Verhältnis multiplizieren:
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;

Tipp: Für EURUSD M30 wird empfohlen.
Die Ergebnisse vom 08.01.2016 bis 06.11.2016, EURUSD M30, anfängliche Einzahlung – 10.000:

Kommentar 0