Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
MQL5 Sihirbazı - İki EMA Göstergesinin Çaprazlamasına Dayalı Ticaret Sinyalleri - MetaTrader 5 için Uzman Danışman
- Görüntülemeler:
- 160
- Derecelendirme:
- Yayınlandı:
- 2022.03.09 15:25
- Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
MQL5 Sihirbazı, Uzman Danışmanların kodunun otomatik olarak oluşturulmasına olanak sağlar. Ayrıntılar için MQL5 Sihirbazında Hazır Uzman Danışmanlar Oluşturma makalesine bakın.
Bu bölümde iki EMA göstergesinin (FastEMA ve SlowEMA) çaprazlamasını temel alan strateji ele alınacak. Strateji "Signals based on crossover of two EMA" olarak adlandırılır (MQL5 Sihirbazında bu stratejiye dayalı olan Uzman Danışman otomatik olarak oluşturulurken).
Ticaret sinyalleri:
- Alış: FastEMA, SlowEMA'yı yukarı doğru çaprazladığında
- Satış: FastEMA, SlowEMA'yı aşağı doğru çaprazladığında
Bu strateji CSignalCrossEMA sınıfında yer alır.
Şekil 1. İki EMA göstergesinin çaprazlamasına dayalı ticaret sinyalleri
Ticaret Sinyalleri
Ticaret stratejisi CSignalCrossEMA sınıfında yer alır; fiyat ve gösterge değerlerine erişimi basitleştirmek için birkaç korumalı metoda sahiptir:
double FastEMA(int ind) // çubuğun FastEMA değerini geri döndürür double SlowEMA(int ind) // çubuğun SlowEMA değerini geri döndürür double StateEMA(int ind) // çubuğun FastEMA ve SlowEMA değerlerinin arasındaki farkı geri döndürür
1. Alış pozisyonu açma
Alış pozisyonu açma koşulları:
- StateEMA(1)>0 ve StateEMA(2)<0: son tamamlanmış çubukta FastEMA SlowEMA'yı yukarı doğru çaprazladı.
//+------------------------------------------------------------------+ //| Alış pozisyonu açma koşullarını kontrol et | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
2. Alış pozisyonunu kapatma
Alış pozisyonunu kapatma koşulları:
- StateEMA(1)<0 ve StateEMA(2)>0: son tamamlanmış çubukta FastEMA SlowEMA'yı aşağı doğru çaprazladı.
//+------------------------------------------------------------------+ //| Alış pozisyonunu kapatma koşullarını kontrol et | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseLong(double& price) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; //--- return(true); }
3. Satış pozisyonu açma
Satış pozisyonu açma koşulları, alış pozisyonunu kapatma koşulları ile aynıdır.
//+------------------------------------------------------------------+ //| Satış pozisyonu açma koşullarını kontrol et | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
4. Satış pozisyonunu kapatma
Satış pozisyonunu kapatma koşulları, alış pozisyonu açma koşulları ile aynıdır.
//+------------------------------------------------------------------+ //| Satış pozisyonunu kapatma koşullarını kontrol et | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseShort(double& price) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; //--- return(true); }
MQL5 Sihirbazını kullanarak Uzman Danışman oluşturma
MQL5 Sihirbazını kullanarak bu stratejiye dayalı bir ticaret robotu oluşturmak için ikinci adımda "Signals based on crossover of two EMA" sinyal türünü seçin:
Şekil 2. MQL5 Sihirbazından "Signals based on crossover of two EMA" sinyal türünü seçin
Ardından, gerekli takip eden durdurucu algoritmasını ve para ve risk yönetimi sistemini belirlemelisiniz. Uzman Danışman kodu otomatik olarak oluşturulacaktır, oluşturulan kodu derleyebilir ve MetaTrader 5 müşteri terminalinin Strateji Sınayıcısında test edebilirsiniz.
Ek olarak, Standart Kütüphane, CsignalCrossMA sınıfında yer alan "Signals based on crossover of two MA" sinyal türünü de içerir. Ticaret fikri benzerdir, ancak birçok ek özellik sağlar (periyot, kayma vb. parametreye ek olarak Kârı Al ve Zararı Durdur seviyeleriyle çalışılmasına olanak tanır).
Şekil 3. MQL5 Sihirbazında "Signals based on crossover of two MA" sinyal türü
Test Sonuçları
Uzman Danışmanın geçmiş verileri üzerinde geriye dönük testini ele alalım (EURUSD H1, test aralığı: 1.1.2010-05.01.2011, FastPeriod=12, SlowPeriod=24).
Uzman Danışman oluşturulurken 0.1 lotluk sabit işlem hacmi kullanıldı (Trading Fixed Lot), Takip Eden Durdurucu algoritması kullanılmadı (Trailing not used).
Şekil 4. İki EMA'nın çaprazlamasına dayalı Uzman Danışmanın geçmişe dönük test sonuçları
Ekler: CSignalCrossEMA sınıfına sahip SignalCrossEMA.mqh dosyası, terminal_veri_klasörü\MQL5\Include\Expert\Signal klasörüne yerleştirilmelidir.
crossover_2ema.mq5 dosyası, MQL5 Sihirbazı kullanılarak oluşturulan Uzman Danışman kodunu içerir.
MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/261
Bu bölümde ADX göstergesiyle onaylı olarak fiyatın Moving Average göstergesini çaprazlamasına dayalı ticaret sinyalleri açıklanmaktadır. Bu stratejiye dayalı olan Uzman Danışman kodu, MQL5 Sihirbazı kullanılarak otomatik olarak oluşturulabilir.
MQL5 Sihirbazı - Üç Hareketli Ortalama Göstergesine Dayalı Ticaret SinyalleriBu bölümde üç hareketli ortalamaya dayalı ticaret sinyalleri açıklanmaktadır. Bu stratejiye dayalı olan Uzman Danışman kodu, MQL5 Sihirbazı kullanılarak otomatik olarak oluşturulabilir.
Bu bölümde MACD göstergesinin ana ve sinyal çizgilerinin çaprazlamasına dayalı ticaret sinyalleri (MQL5 Standart Kütüphanesinden CSignalMACD) açıklanmaktadır. Bu stratejiye dayalı olan Uzman Danışman kodu, MQL5 Sihirbazı kullanılarak otomatik olarak oluşturulabilir.
MQL5 Sihirbazı - Zaman Filtresiyle İki EMA Göstergesinin Çaprazlamasına Dayalı Ticaret SinyalleriBu bölümde zaman filtresiyle iki EMA göstergesinin çaprazlamasına dayalı ticaret sinyalleri açıklanmaktadır. Bu stratejiye dayalı olan Uzman Danışman kodu, MQL5 Sihirbazı kullanılarak otomatik olarak oluşturulabilir.