Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
- Görüntülemeler:
- 46
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
Uzman Danışman Parametreleri (Girişler)
EA, kullanıcının davranışını kontrol etmek için değiştirebileceği birkaç harici parametre sağlar:
Genel Parametreler
| Parametre | Tip | Açıklama |
| MagicNumber | int | EA'nın işlemleri için benzersiz bir tanımlayıcı. |
| InitialLot | çift | Bir serideki ilk işlem için başlangıç lot büyüklüğü. |
| AllowBuy | bool | EA'nın Alış işlemlerini açmasına izin veren bayrak (başlangıç ve Martingale). |
| AllowSell | bool | EA'nın Satış işlemlerini açmasına izin veren bayrak (ilk ve Martingale). |
| TakeProfit | int | Bekleyen emirler verirken kullanılan puan/pips cinsinden sabit bir Kâr Al (piyasa uygulaması için olmasa da). |
| FindHighLowBackBars | int | İlk bekleyen emir yerleşimi için en yüksek ve en düşük seviyeyi belirlemek için geriye bakılacak önceki çubuk sayısı. |
| ResetAfterBars | int | İlk bekleyen emirlerin silineceği ve yeniden değerlendirileceği çubuk sayısı (açık pozisyon yoksa). |
Martingale Stratejisi
| Parametre | Tip | Açıklama |
| TersMartingale | bool | Doğruysa, sonraki Martingale işlemleri serideki son işlemin tersi yönde olacaktır (bu tipik olarak bir anti-Martingale veya riskten korunma yaklaşımı olacaktır, ancak yanlışsa kod aynı yönde açılır ). Mevcut mantık, ReverseMartingale yanlışsa aynı yönde açılmasını önerir. |
| LotMultiplier | çift | Zarar ettiren serideki bir sonraki işlem için lot büyüklüğünün çarpılacağı faktör (örneğin, 2 .0 lotun iki katına çıkarılması anlamına gelir). |
| SecureProfitMartingaleTarget | çift | Tüm açık işlem serisinin kapatılacağı toplam değişken kâr (hesap para birimi cinsinden). |
| MesafeMartingalePips | int | Yeni bir Martingale işlemi açılmadan önce fiyatın son işlemin açık fiyatına karşı hareket etmesi gereken mesafe (pip cinsinden). |
| MaxTradesInSeries | int | Tek bir Martingale serisinde izin verilen maksimum işlem sayısı. |
Zaman Stratejisi
| Parametre | Tip | Açıklama |
| Pazartesi İzin Ver... AllowFriday | bool | Haftanın belirli günlerinde ticareti etkinleştirmek veya devre dışı bırakmak için bayraklar. |
| YasakTarihler | Dize | Alım satımın yasak olduğu tarihlerin virgülle ayrılmış bir listesi (YYYY.MM.DD biçiminde). |
Temel İşlevlere Genel Bakış
OnInit() (Başlatma)
EA'nın MagicNumber'ını, marj modunu ve sapmasını ayarlar. Martingale durum değişkenlerini ( s_currentLot , s_totalTradesInSeries , vb.) ilk değerlerine sıfırlar ve yeni bir başlangıç için hazırlar.
OnDeinit() (Baştan Başlatma)
Temizleme için basit bir işlev, EA durdurulduğunda veya kaldırıldığında bir mesaj yazdırır.
IsTradingDateAllowed() ve IsTradingDayAllowed() (İşlem Filtreleri)
Bu fonksiyonlar, alım satıma izin verilip verilmediğini belirlemek için geçerli gün ve tarihi kullanıcı tanımlı girdilere (AllowMonday to AllowFriday ve ForbiddenDates) göre kontrol eder.
OpenTradeLogic(ENUM_ORDER_TYPE type, string tradeComment) (Piyasa Yürütme)
Bu fonksiyon yeni piyasa pozisyonlarının (Alış veya Satış) açılmasını yönetir.
-
Lot büyüklüğünü komisyoncunun minimum, maksimum ve adım büyüklüğüne göre doğrular ve normalleştirir.
-
CheckMargin() kullanarak yeterli serbest marj olup olmadığını kontrol eder.
-
İşlemi sabit bir Kar Al veya Zararı Durdur olmadan gerçekleştirir ( tp_calculated 0'dır).
-
Global Martingale durum değişkenlerini günceller: s_currentLot , s_lastOpenPrice , s_seriesType , ve s_totalTradesInSeries .
CloseAllPositions()
Şu anda açık olan tüm pozisyonları yineler ve bu EA tarafından açılmış olanları kapatır (MagicNumber ile eşleşen).
PendingOrders(ENUM_ORDER_TYPE type, double price, double lotSize, string comment) (Bekleyen Emir Yerleştirme)
Bu fonksiyon Alış Limiti veya Satış Limiti emirleri verir:
-
Lot büyüklüğünü doğrular ve yeterli marj olup olmadığını kontrol eder.
-
Giriş fiyatını komisyoncunun minimum mesafesine ( SYMBOL_TRADE_STOPS_LEVEL ) göre doğrular.
-
TakeProfit girişine dayalı olarak sabit bir Kâr Al ( tp ) hesaplar.
-
İşlem talebini gönderir. Not: UpdateHighLowAndOrders işlevi, ilk Alış Limiti ve Satış Limiti emirlerini vermek için bunu çağırır.
UpdateHighLowAndOrders() (İlk Giriş Mantığı)
Bu, hiçbir pozisyon açık olmadığında ilk giriş mekanizmasıdır:
-
En Yüksek Yüksek ve En Düşük Düşük'ü bulmak için FindHighLowBackBars'a bakar.
-
priceSellLimit (En Yüksek + 1 tik) ve priceBuyLimit (En Düşük - 1 tik) değerlerini hesaplar.
-
EA'nın MagicNumber'ına sahip Alış Limiti ve Satış Limiti emirlerinin zaten mevcut olup olmadığını kontrol eder.
-
Her biri InitialLot'u kullanarak son en yüksek seviyenin hemen üzerinde bir ilk Satış Limiti emri ve son en düşük seviyenin hemen altında bir Alış Limiti emri yerleştirir.
OnTick() (Ana Mantık)
EA'nın yürütme mantığının çekirdeği:
-
Zaman Kontrolü: Aynı tik üzerinde gereksiz hesaplamaları önler.
-
Filtre Kontrolü: Güne/tarihe göre alım satıma izin verilmiyorsa, bekleyen tüm emirleri siler.
-
Kar Hedefi Kontrolü (Seri Çıkış): eaHasOpenPositions doğruysa VE totalFloatingProfit ≥ SecureProfitMartingaleTarget ise, CloseAllPositions() işlevini çağırır ve yeni bir seri başlatmak için tüm Martingale durum değişkenlerini sıfırlar.
-
İlk Emir Yerleştirme: Eğer !eaHasOpenPositions AND alım satıma izin veriliyorsa, Martingale durumunu sıfırlar ve yeni bir çubuğun oluşup oluşmadığını kontrol eder.
-
Yeni bir çubuk oluşmuşsa, barsCount'un ≥ ResetAfterBars olup olmadığını kontrol eder. Eğer öyleyse, bekleyen emirleri siler ve yeni ilk emirleri vermek için UpdateHighLowAndOrders() işlevini çağırır. Değilse, sadece UpdateHighLowAndOrders () 'ı çağırır.
-
-
Martingale Adım Mantığı: eaHasOpenPositions doğruysa VE s_totalTradesInSeries $ < MaxTradesInSeries` ise:
-
TotalFloatingProfit'in negatif olup olmadığını VE fiyatın son açık işleme karşı en az DistanceMartingalePips kadar hareket edip etmediğini kontrol eder.
-
Her iki koşul da karşılanırsa, s_currentLot'u LotMultiplier ile çarparak nextLot'u hesaplar.
-
OrderToOpen yönünü belirler (ReverseMartingale'e dayalı olarak seriyle aynı yön veya tersi).
-
Martingale serisine devam ederek yeni, çarpılmış pozisyonu açmak için OpenTradeLogic () işlevini çağırır.
-
Strateji Özeti
"Babi Ngepet" EA, riskli ancak potansiyel olarak yüksek ödüllü bir Martingale stratejisini bir koparma / aralık tersine çevirme ilk girişi ile birlikte uygular:
-
İlk Giriş: EA bir ilk Alış Limiti (son düşük seviyenin altında) ve bir Satış Limiti (son yüksek seviyenin üzerinde) koyar. Bu, menzile bağlı davranışın ilk varsayımını önerir - fiyat düşük bir seviyeye düştüğünde bir satın alma ve fiyat yüksek bir seviyeye yükseldiğinde bir satış girer.
-
Ticaret Yönetimi: İlk işlemlerden biri tetiklenirse ve pozisyon toplam zarara (negatif değişken kar) geçerse ve fiyat açık pozisyonlara karşı belirli bir mesafe ile hareket etmeye devam ederse, EA aynı yönde daha büyük bir lot büyüklüğü ile yeni bir pozisyon açar (Martingale).
-
Çıkış Stratejisi: İşlem serisi, serideki tüm işlemlerin toplam değişken karı SecureProfitMartingaleTarget'a ulaşana kadar lot boyutunu artırmaya devam eder, bu noktada tüm pozisyonlar kapatılır ve EA yeni bir seri için sıfırlanır.
Uyarı: Martingale stratejisi, her kaybetme adımından sonra lot büyüklüğü arttığı için yüksek düşüşler ve yüksek sermaye kaybı riski ile bilinir.
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/64444
UtterFractals
Bu gösterge, standart "fraktallar" ve her türlü zig-zagdan farklı olarak, "iç piyasa yapısını" gerçeğe mümkün olduğunca yakın bir şekilde göstermektedir.
EQUILIBRIUM-2011
Risk sınırlamalı çoklu para birimi "gridder" (2011 Otomatik Ticaret Şampiyonası'nda sunulan ve güncellenen sürüm).
Forex için Olasılık Teorisi Uzman Danışmanı
Olasılık Teorisi Danışmanı
FraktalSeviyeler
FractalLevels göstergesi, fraktallar kullanılarak oluşturulmuş bir kanalı görüntüler.