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:
56
Derecelendirme:
(4)
Yayınlandı:
Güncellendi:
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

Channel Breakout Dashboard Channel Breakout Dashboard

Channel Breakout Dashboard is an informational panel (not an automated trading robot) that runs on the MetaTrader 5 chart and centralizes, in one place, several market conditions that would otherwise require 4-5 separate indicators open at the same time.

MT5 Cash Risk Probe - Read-Only Sizing MT5 Cash Risk Probe - Read-Only Sizing

Read-only MT5 script that estimates stop-distance cash loss in account currency, reserves explicit cash costs and floors volume to the broker grid. It never sends or modifies an order.

MA + Envelope Breakouts MA + Envelope Breakouts

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

CKS Position Risk Dashboard CKS Position Risk Dashboard

Risk temelli lot büyüklüğü belirleme, hesap durumu, broker hacim limitleri ve mevcut sembol pozisyonlarını gösteren, salt okunur bir MT5 kontrol paneli.