Trading Window and Spread Guard
- Yardımcı programlar
- Sürüm: 1.1
- Etkinleştirmeler: 5
Trading Window and Spread Guard, kendi Expert Advisor'larınıza ne zaman yeni işlem açmamaları gerektiğini bildiren bir MetaTrader 5 yardımcı programıdır. En fazla beş durdurma penceresi (haftanın günü ve saat; örneğin günlük rollover, likiditenin düşük olduğu gece saatleri veya aracı kurumunuzun spreadlerinin geniş olduğu saatler) ve bir spread sınırı belirlersiniz. Bir pencere etkinken veya bir sembolün spreadi sınırınızın üzerindeyken, guard EA'larınızın okuyabileceği bir bayrak kaldırır. İsteğe bağlı olarak, yeni işlemler engelliyken açılan pozisyonları da kapatabilir.
Bu, işlemi duraklatmaya yarayan bir araçtır, bir işlem stratejisi değildir. İşlem için iyi zamanlar aramaz, alım veya satım sinyali vermez ve gerçek ya da demo hesapta asla pozisyon açmaz veya emir vermez. Zararları önlemez: yalnızca EA'larınızın yeni girişleri atlamasını sağlayabilir veya açıldıktan sonra yeni bir pozisyonu kapatabilir. Hangi saatlerden kaçınacağınız, işlem yapıp yapmayacağınız ve nasıl yapacağınız sizin kararınızdır.
Varsayılan ayarlarda hiçbir şey etkin değildir: pencere yok, spread sınırı KAPALI, kapatma KAPALI. Girdileri doldurana kadar guard yalnızca panelini gösterir.
Önemli: EA'larınızın bayrağı okuması gerekir. Bayrağı kontrol etmeyen bir EA eskisi gibi işlem yapmaya devam eder. Kontrol birkaç satırlık koddur (aşağıda). Değiştiremediğiniz bir EA için yalnızca "Engelliyken açılan pozisyonları kapat" seçeneği çalışır ve pozisyonu açıldıktan sonra kapatır; bu da spread ve komisyon maliyeti doğurur.
Özellikler
- En fazla 5 durdurma penceresi. Biçimler: 12:00-12:30 (her gün), Mon-Fri 23:50-01:15 (listelenen her günde başlar ve gece yarısını geçebilir), Mon,Wed,Fri 08:00-08:30, Fri 21:00-Mon 01:00 (günler boyunca tek bir aralık). Gün adları İngilizce (Mon veya Monday, büyük/küçük harf fark etmez) ya da Japonca; All = her gün. Bitiş 24:00 olabilir. Birbirine değen veya çakışan pencereler birleştirilir.
- Pencere saatleri sunucu saatinde (varsayılan) veya bu bilgisayarın saatinde.
- Puan cinsinden spread sınırı: tüm semboller için bir değer, ayrıca isteğe bağlı sembol başına değerler (örneğin GOLD=50,US30=300).
- Semboller: grafik sembolü (varsayılan), bir liste veya * = Piyasa Gözlemi'ndeki tüm semboller (en fazla 100).
- EA'larınız için terminal global değişkenleri olarak bayraklar ve hazır okuma fonksiyonları (TWG_Reader.mqh).
- İsteğe bağlı: engelliyken açılan pozisyonları, yalnızca seçtiğiniz semboller ve magic numaralar için kapatma. Guard başladığında zaten var olan pozisyonlara asla dokunulmaz.
- Panel: durum (OK veya BLOCKED ve nedeni), geri sayımlı sonraki pencere, pencereleriniz, spread ve sınır, kapatma ayarları, bayrak adları ve son mesaj. İngilizce veya Japonca (terminal diline göre otomatik). Daraltma düğmesi.
- Bir durdurma başladığında veya bittiğinde, spread çok genişlediğinde ya da bir pozisyon kapatıldığında isteğe bağlı açılır uyarılar ve anlık bildirimler.
Ana Girdiler
- Stop windows: pencere saatlerinin temeli (sunucu saati / bilgisayar saati), Window 1 - Window 5 (boş = KAPALI).
- Spread limit: AÇIK/KAPALI (varsayılan KAPALI), puan cinsinden maksimum spread (varsayılan 30), sembol başına maksimum.
- Symbols and positions: semboller (boş = bu grafik, * = Piyasa Gözlemi'ndeki tümü veya bir liste), engelliyken açılan pozisyonları kapat (varsayılan KAPALI), yalnızca bu magic numaraları kapat (boş = tümü, 0 = manuel işlemler).
- Flags: global değişken adı ön eki (varsayılan "TWG").
- Alerts (açılır, anlık), Panel (göster, dil, köşe, kaydırma, yazı boyutu), kapatırken maksimum kayma, Strateji Test Cihazı demosu.
- 7 grupta 23 girdi.
Nasıl Çalışır
- Guard her 250 ms'de kontrol eder ve bayrakları yaklaşık saniyede bir yazar; bu nedenle EA'nız bir değişikliği yaklaşık 1 ila 2 saniye sonra görür.
- Bayraklar (terminal global değişkenleri; değerler saniye cinsinden UTC zamanıdır; "TWG" varsayılan ön ektir):
- TWG.TIME: geçerli durdurma penceresinin sonu, pencereler dışında 0.
- TWG.SPR.<sembol> (örneğin TWG.SPR.EURUSD): o sembolün spreadi sınırın üzerindeyken geçerli zamandan büyük. İzlenen her sembol için bir bayrak.
- TWG.NEXT: sonraki durdurma penceresinin başlangıcı. TWG.HB: son güncelleme (guard'ın çalıştığını gösterir).
- Bir bayrak, değeri TimeGMT() değerinden büyük olduğu sürece AÇIK'tır.
- EA'nız için temel kontrol (varsayılan ön ekle TWG_Reader.mqh ile aynı mantık):
bool GuardBlocks(const string sym)
{
if(MQLInfoInteger(MQL_TESTER)) return false;
double now = (double)TimeGMT();
if(GlobalVariableGet("TWG.HB") < now - 30) return false; // guard not running
return GlobalVariableGet("TWG.TIME") > now || GlobalVariableGet("TWG.SPR." + sym) > now;
}
Her yeni girişten önce: if(GuardBlocks(_Symbol)) return;
- TWG_Reader.mqh; TWG_IsBlocked, TWG_TimeBlocked, TWG_SpreadBlocked, TWG_SecondsLeft ve TWG_GuardRunning fonksiyonlarını ekler. Market indirmesi yalnızca EA'yı içerir; bu dosyanın tam metni bu ürünün yorumlarında yayınlanmıştır. Strateji Test Cihazı'nda bu fonksiyonlar her zaman "engelli değil" yanıtını verir, bu nedenle geriye dönük testleriniz değişmez.
- Haftanın günü, pencerenin başladığı gündür. "Mon-Fri 23:50-01:15", pazartesi 23:50 … cuma 23:50'de başlayan ve ertesi gün 01:15'te biten beş pencere oluşturur. Pazartesi 00:00–01:15 kapsanmaz, çünkü bu kısım pazar günü başlardı. Hafta sonunu ve pazartesi sabahını kapsamak için Fri 21:00-Mon 01:15 gibi ikinci bir pencere ekleyin. (Fri 21:00-Mon 01:00 ile pazartesi 01:00–01:15 açık kalır.)
- "Engelliyken açıldı" şu anlama gelir: pozisyonun açılış zamanı bir durdurma penceresinin içindedir veya o anda sembolünün spreadi sınırın üzerindeydi (en fazla 10 dakikalık pozisyonlar için kontrol edilir).
- Kapatma, yeni işlem (deal) terminalde göründüğü anda gönderilir.
- Guard'ı aynı ön ekle birkaç grafikte çalıştırabilirsiniz (örneğin farklı sembolleri izlemek için). Bayraklar o zaman en uzun değeri korur. EA grupları farklı kurallara ihtiyaç duyuyorsa farklı ön ekler kullanın.
Notlar ve Sınırlar
- Garanti değildir. Guard emirleri kendisi engellemez. Yalnızca bayrağı kontrol eden EA'lar yeni girişleri atlar.
- Son guard'ı kaldırmak durdurmayı sona erdirir. Onu kaldırdığınızda veya grafiğini kapattığınızda bayraklarını hemen temizler. Terminal beklenmedik şekilde durursa, okuma fonksiyonları 30 saniye sonra guard'ı durmuş kabul eder. Varsayılan olarak o zaman işleme izin verirler. Guard çalışmıyorken EA'nızın beklemesini istiyorsanız TWG_IsBlocked(_Symbol, "TWG", true) çağırın (blockIfGuardStopped = true).
- Bayraklar yaklaşık 1 ila 2 saniye gecikir. Bir pencerenin veya spread sıçramasının ilk saniyesinde gönderilen bir emir yine de geçebilir. Bir kontrolden daha kısa spread sıçramaları kaçırılabilir.
- Bekleyen emirler silinmez veya değiştirilmez. Durdurma sırasında gerçekleşen bekleyen bir emir yeni bir pozisyon açar; bu pozisyon yalnızca kapatma seçeneği AÇIK ise ve kapsam içindeyse kapatılır.
- Netting hesabında, daha önce açılmış bir pozisyona eklenen hacim yeni bir pozisyon değildir ve kapatılmaz.
- Magic numara filtresi boşsa, kapatma seçeneği kapsam içinde elle açtığınız işlemleri de kapatır (magic 0 = manuel işlemler). Her kapatma spread ve komisyon maliyeti doğurur ve zararla sonuçlanabilir. Guard başka bir EA'nın emir göndermesini durduramaz; bir EA durdurma sırasında işlem açmaya devam ederse her biri kapatılır.
- Spread bayrakları yalnızca izlenen semboller için vardır. EA'nız başka semboller işlem görüyorsa bunları listeye ekleyin veya * kullanın.
- Pencere saatleri seçtiğiniz saati izler. Sunucu saati aracı kurumunuzun yaz saatiyle değişir; bilgisayar saati bu PC'yi izler.
- Terminal global değişkenleri tek bir terminale aittir. Guard'ı EA'larınızla aynı MetaTrader 5 terminalinde çalıştırın.
- Guard yalnızca MetaTrader 5 çalışırken ve bağlıyken çalışır. Kapatma için ayrıca Algo Trading'in AÇIK olması (araç çubuğu düğmesi) ve EA ayarlarında izin verilmesi gerekir.
- Strateji Test Cihazı: bayraklar yalnızca bellekte tutulur. "Tester only: demo window and small demo positions" girdisi AÇIK iken (varsayılan), guard küçük demo pozisyonları açar (minimum lot, magic 73190): bir pencereden önce bir tane, guard bunu açık bırakır; ve pencerenin içinde bir tane, guard bunu hemen kapatır (demo birkaç dakika sonra pozisyonlarını temizler). Pencere ayarlanmamışsa bir demo penceresi kullanır (30 dakika veya 2 bar, günde en fazla bir kez). Test raporu yalnızca bu gösterimi gösterir ve bir işlem sonucu değildir; küçük bir zarar gösterebilir. Çok küçük mevduatlarda (örneğin 10 USD) demo işlem olmayabilir. Gösterim gerçek veya demo hesapta asla çalışmaz.
Uyumluluk ve Destek
- Yalnızca MetaTrader 5 (hedging ve netting hesaplar). MetaTrader 4 sürümü ayrı satılır. Tek bir grafiğe ekleyin; yalnızca gerekirse daha fazla grafik ekleyin.
- DLL yok, internet yok, harici sunucu yok.
- Tüm ayarları önce bir demo hesapta deneyin.
- MQL5 mesajları üzerinden destek, 3 iş günü içinde yanıt: kurulum, ayarlar, hata bildirimleri ve okuma fonksiyonlarının nasıl çağrılacağı. Hangi saatlerden veya spreadlerden kaçınılacağı konusunda tavsiye veremez, piyasa görüşü veya işlem kararı sunamaz ve EA'nızı sizin yerinize düzenleyemeyiz.
- İşlemlerinizin hiçbir sonucu vaat edilmez veya ima edilmez.
