Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Kodu ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Kodu beğendiniz mi? MetaTrader 5 terminalinde deneyin
Görüntülemeler:
30
Derecelendirme:
(3)
Yayınlandı:
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

GBPUSD 1HRC4 Döngüsü - doğru optimize edilmemiş geriye dönük test


Bu Uzman Danışman, dört bağımsız işlem alt sistemine (Döngü 1’den Döngü 4’e) ayrılmış çok stratejili bir sistemdir. Her döngü, kendine özgü Magic Number, göstergeler, giriş tetikleyicileri ve benzersiz para yönetimi parametreleriyle çalışır.

1. Döngü 1 Mantığı: Çoklu Gösterge Kesişimi

Döngü 1, en fazla üç Hareketli Ortalama (MA), bir Göreceli Güç Endeksi (RSI) ve bir Williams Yüzde Aralığı (WPR) birleştiren bileşik bir filtreye dayanır.

Giriş Tetikleyicileri

Temel bir değişken olan c1_signal, göstergelerin birbiriyle çakışmamasını sağlamak için ikili bir kayıt görevi görür. Gösterge A bir Al sinyali verirse, c1_signal 1 olur. Ardından gösterge B bir Sat sinyali verirse, c1_signal 0'a sıfırlanarak işlem geçersiz hale gelir.

  • Hareketli Ortalama 1, 2 ve 3:

    • Alım Koşulu: Bir önceki çubuk MA'nın üzerinde kapanır ve mevcut çubuk MA'nın üzerinde açılır ($Close[1] > MA$ ve $Open[0] > MA$).

    • Satış Koşulu: Bir önceki çubuk MA'nın altında kapanır ve mevcut çubuk MA'nın altında açılır ($Close[1] < MA$ ve $Open[0] < MA$).

  • RSI Filtresi:

    • Alım Koşulu: RSI, aşırı satım eşiğinin ( RSI_Buy_Level , örn. 30) altına düşer.

    • Satış Koşulu: RSI, aşırı alım eşiğinin üzerine çıkar ( RSI_Sell_Level , örn. 70).

  • WPR Filtresi:

    • Alım Koşulu: WPR, WPR_Buy_Level seviyesinin altına düşer (örn. -80).

    • Satış Koşulu: WPR, WPR_Sell_Level seviyesinin üzerine çıkar (örn. -20).

Sinyal İşleme

  • Ters Sinyaller Kuralı: Reverse_Signals = true ise, son Al sinyali (1) Sat sinyaline (2) dönüşür ve bunun tersi de geçerlidir.

  • Çubuk Başına Tek İşlem Kısıtlaması: EA, mevcut açılış fiyatının c1_open_price ile eşleşip eşleşmediğini kontrol eder. Eşleşirse, bu çubukta bir pozisyon zaten işlenmiştir ve yeni bir çubuk açılana kadar sonraki işlemler engellenir.

2. Döngü 2 Mantığı: Trend Takip Eden Zarflar

Döngü 2, yapısal piyasa kırılmalarını belirlemek için klasik çift bantlı Envelopes göstergesini kullanır.

  • Alım Tetikleyicisi: Bir önceki çubuk Üst Envelopes bandının üzerinde kapanır ve mevcut çubuk bu bandın üzerinde açılır ($Close[1] > UpperBand$ ve $Open[0] > UpperBand$). Bu, güçlü bir yükseliş momentum kırılmasını varsayar.

  • Satış Tetikleyicisi: Önceki çubuk Alt Envelope bandının altında kapanır ve mevcut çubuk bu bandın altında açılır ($Close[1] < LowerBand$ ve $Open[0] < LowerBand$), bu da düşüş yönlü bir kırılmayı gösterir.

  • Sinyal Tersine Dönüşü: Reverse_Signals2 = true ise, kırılmaları sahte kırılma tuzaklarına dönüştürür (aşağı yönlü kırılma/yukarı yönlü kırılmayı zayıflatır).

3. Döngü 3 Mantığı: Zarfların Ortalamaya Dönüşü

Döngü 3, Döngü 2 ile aynı parametreleri izler, ancak varsayılan temel yürütme mantığını tersine çevirerek ortalama geri dönüşü (aşırı uçların zayıflatılması) hedefler.

  • Alım Tetikleyicisi: Bir önceki çubuk, Üst Zarf bandının üzerinde kapanır ve mevcut çubuk bu bandın üzerinde açılır. Mantık: Kod, varlığın aşırı uzandığını ve bantların içine geri çekileceğini varsaydığı için burada bir Satış sinyali atar.

  • Satış Tetikleyicisi: Bir önceki çubuk Alt Envelope bandının altında kapanır ve mevcut çubuk bu bandın altında açılır. Mantık: Kod, burada bir Al sinyali atar; bu, aşırı satım bölgesinden hemen bir toparlanma olacağına dair bir bahistir.

4. Döngü 4 Mantığı: Envelopes Nokta-Mesafe Kırılması

Döngü 4, Envelopes göstergesine sert bir volatilite/pip mesafe kısıtlaması getirir ve agresif bir kırılma sistemi olarak işlev görür.

  • Alım Tetikleyicisi: Alt zarf bandı ile önceki kapanış arasındaki mesafe, Distance değerinden daha büyükse VE alt zarf bandı ile mevcut Alış fiyatı arasındaki mesafe de Distance değerinden daha büyükse ($LowerBand - Close[1] > Distance$ ve $LowerBand - Bid > Distance$).

  • Satış Tetikleyicisi: Bir önceki kapanış ile üst bant arasındaki mesafe ile mevcut Alış fiyatı ile üst bant arasındaki mesafe, her ikisi de Mesafe değerinden fazladır ($Close[1] - UpperBand > Distance$ ve $Bid - UpperBand > Distance$).

5. Çıkış, Sepet Kapatma ve Risk Mantığı

Çıkış yönetimi mimarisi, pozisyon başına standart Stop Loss (SL) veya Take Profit (TP) emirlerini kullanmaz. Bunun yerine, döngü başına eşleştirilen Global Hesap Özkaynak Sepeti Takip Sistemine dayanır.

Kilometre Taşı Kaydı

Bir döngünün pozisyon sayısı 0'dan 1'e geçtiğinde (c1_Buycount == 0 veya c1_Sellcount == 0 ile izlenir), EA o anda işlem hesabının tam temel özkaynak değerini referans alır:

$$\text{Temel Sermaye} = \text{AccountInfoDouble}(\text{ACCOUNT\_EQUITY})$$

Bu referans değeri kullanarak, söz konusu işlem yönü için statik global hedefler belirler:

  • Kâr Alma Hedefi: target_amount belirtilmişse, $\text{Başlangıç} + \text{target\_amount}$ değerini atar . Aksi takdirde, bir yüzde formülü kullanır:

    $$\text{Hedef Fiyat} = \text{Başlangıç} + \left(\frac{\text{Başlangıç} \times \text{target\_percent}}{100}\right)$$
  • Zarar Durdurma Hedefi: Yakalanan anlık öz sermayeye göre bir yüzde düşüş kısıtlaması kullanır:

    $$\text{Risk Fiyatı} = \text{Temel} - \left(\frac{\text{Temel} \times \text{Hesap\_Risk\_yüzde}}{100}\right)$$

Dinamik Sepet Doğrulama

Her fiyat güncellemesinde, EA, o belirli Döngünün Sihirli Numarası ve işlem türüyle ( MyAccountProfit_Buy veya MyAccountProfit_Sell ) eşleşen tüm aktif pozisyonlar için gerçek zamanlı değişken kar/zarar, swap ve komisyonların toplamını hesaplar.

$$\text{Mevcut Portföy Değeri} = \text{Temel Sermaye} + \text{Değişken Kar/Zarar}$$

Çıkış İşlemi

Eğer $\text{Mevcut Portföy Değeri} \ge \text{Hedef Fiyat}$ (Kâr Hedefi Tutuldu) VEYA $\text{Mevcut Portföy Değeri} \le \text{Risk Fiyatı}$ (Maksimum Risk Tavanı Aşımı) ise:

  1. EA, ClosePositions() işlevini çağırır.

  2. Tüm piyasa pozisyonlarını geriye doğru döngüye sokar ve Magic Number ile Pozisyon Türü eşleşmesine göre filtreler.

  3. İlişkili her bir işlem, piyasa emri yoluyla anında tasfiye edilir.

  4. Yön döngü izleyicisi 0'a sıfırlanır ve EA, bir sonraki yapısal gösterge sinyalinde tamamen yeni bir referans anlık görüntüsü oluşturmaya hazır hale gelir.

6. Pozisyon Büyüklüğü Belirleme Mantığı (Para Yönetimi)

Hacim hesaplamaları, getLots(int cycle) rutini tarafından dinamik olarak gerçekleştirilir:

  • Sabit Lot Büyüklüğü: AutoLots değeri false ise, sabit kodlanmış temel lot büyüklüğü ayarını döndürür (örn. LotSize = 0,01).

  • Dinamik Risk Ölçeklendirme: AutoLots = true ise, sistem serbest marj temelinde işlem hacmini otomatik olarak ayarlar:

    1. OrderCalcMargin işlevini kullanarak mevcut varlıkta standart 1,0 lotluk bir işlemi gerçekleştirmek için gereken kesin marjı sorgular.

    2. Aşağıdaki formülü kullanarak uygun bir yatırım kapasitesi tahmin eder:

      $$\text{Tahmin Edilen Hacim} = \frac{\text{HesapSerbestMarjı} \times \left(\frac{\text{Lot_Risk}}{100}\right)}{\text{1,0 Lot Başına Marj}}$$
    3. Nihai sonuç, MathMin ve MathMax kullanılarak broker tarafından uygulanan kısıtlamalarla sınırlandırılır; böylece sonucun SYMBOL_VOLUME_MIN ile SYMBOL_VOLUME_MAX arasındaki geçerli aralığa tam olarak sığması sağlanır ve sonuç, en yakın borsa varlık adım büyüklüğüne ( SYMBOL_VOLUME_STEP ) yuvarlanır.

MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/74818

FX Dashboard FX Dashboard

This is a FX Dashboard style terminal panel on the MT5 chart, plus lines drawn on the chart (EMA, Bollinger, Donchian).

Day Trader Dashboard Day Trader Dashboard

The Day Trader Dashboard is a Bloomberg-style visual panel for MetaTrader 5 that tracks an intraday price range and flags when price is inside it (fade zone) or has broken out of it. It doesn't place trades — it's a decision-support overlay that computes the range High/Low from recent bars, draws those levels directly on the chart, and shows a live status readout (scanning / within range / breakout) in a themed, auto-scaling panel. It supports multiple independent instances on the same chart, several color themes, and cleans up 100% of its objects when removed.

MA + Envelope Breakouts MA + Envelope Breakouts

Zarf kanalı veya bant temelli kırılmalar, tek bir EA’da çoklu EA mantığı

MT5 EA Acceptance Harness MT5 EA Acceptance Harness

Deterministic synthetic acceptance checks for MT5 EA entry-state logic, with no market, account or order access.