TriZone Semafor Pro
- Göstergeler
-
Ahmed Hamed Hamed Eadwan
TURKISH TRANSLATION — TÜRKÇE
===============================
TITLE:
MQL5 Geliştirici ve Trader | R protocols Kurucusu
ABOUT:
Merhaba, ben Ahmed — Birleşik Arap Emirlikleri'nde bulunan bir
trader ve MQL5 geliştiricisi, R protocols'un kurucusuyum. - Sürüm: 1.0
- Etkinleştirmeler: 5
Kurumsal düzeyde çok seviyeli pivot tespiti, otomatik Piyasa Yapısı analizi, Arz ve Talep çakışma bölgeleri, gerçek zamanlı panel analitiği ve EA otomasyon entegrasyonuna ihtiyacınız varsa, TriZone Semafor Pro MetaTrader 5 terminaliniz için amiral gemisi çözümdür.
Pro Sürümünün Öne Çıkan Özellikleri
Özel 3 seviyeli ZigZag motoru (Hızlı Periyot 5, Orta Periyot 13, Yavaş Periyot 34) üzerine inşa edilen TriZone Semafor Pro, üç bağımsız zaman diliminde onaylanmış dönüş noktalarını kesin özel öncelik kuralı (Seviye 3, Seviye 2'nin yerine geçer; Seviye 2, Seviye 1'in yerine geçer) ile çizer.
- ATR-Uyarlamalı Sapma: ATR tabanlı dinamik pivot filtreleme, katı sabit puanlar yerine piyasa oynaklığına göre otomatik olarak ayarlanır. Manuel sabit puan modu da kullanılabilir.
- Piyasa Yapısı Motoru: Zaman dilimi seviyesi başına BOS (Yapı Kırılımı) ve CHoCH (Karakter Değişimi) gerçek zamanlı otomatik tespiti ve HH / HL / LH / LL dalga etiketleri.
- Arz ve Talep Çakışma Bölgeleri: Birden fazla ZigZag seviyesinin eşleştiği yerlerde otomatik olarak çizilen kurumsal emir bloğu bölgeleri (L1, L2+L3, L1+L2+L3 güç derecelendirmesi ile).
- Destek ve Direnç Işınları: Onaylanmış zirve ve diplerden uzatılan, yapısal seviyeye göre stillendirilmiş dinamik yatay ışınlar.
- Özel Sinyal Önceliği: Mum başına her zaman en yüksek seviye kazanır. Sinyal çakışması veya çift sayım yoktur — yön başına tek bir temiz ok.
- Gerçek Zamanlı Grafik Paneli: Anlık çok seviyeli piyasa istatistiklerini, aktif sinyal seviyesini, mevcut bölgeyi, yapı olayını, seviye bazlı trendi ve sistem durumunu gösterir.
- Kapsamlı Bildirim Paketi: Pop-up, Mobil Push bildirimleri, E-posta ve Sesli uyarılar — yalnızca yeni onaylanan pivot başına bir kez tetiklenir.
- %100 Yeniden Çizmesiz (Anti-Repaint) Mod: Sinyaller yalnızca konfigüre edilen onay penceresi kapandıktan sonra yayınlanır. Oklar, EA tamponu ile tamamen aynı katı yeniden çizmesiz kurala uyar.
- EA Otomasyon Tamponu (Buffer 6): Tek bir iCustom çağrısıyla entegrasyon için özel bir EA sinyal gücü tamponu (+1.0 = AL, -1.0 = SAT, 0.0 = Nötr) sunar.
- Çoklu Örnek Güvenliği: Benzersiz nesne ad alanları, çakışma koruması ve grafik nesneleri ile terminal küresel değişkenlerinin otomatik temizliği.
- Harici Bağımlılık Yoktur: Yerel MetaTrader 5 kodu, her sembol ve zaman diliminde çalışır, DLL içe aktarımı gerektirmez.
Resmi Bağlantılar ve Dokümantasyon
Kullanım Kılavuzu ve Kurulum Rehberi: https://www.mql5.com/en/blogs/post/773880
Resmi MQL5 Kanalı: https://www.mql5.com/en/channels/rprotocols
Yeniden Çizmesiz ve EA Sözleşmesi (Buffer 6)
Buffer 6, otomatik EA sistemleri için çok seviyeli sinyal gücünü sağlar (+1.0 = AL, -1.0 = SAT, 0.0 = nötr/çakışma):
- Özel Öncelik Derecesi: Buffer 6, öncelik kuralı sonrasındaki hiyerarşiyi yansıtır (L3 > L2 > L1).
- Yeniden Çizmesiz Shift Sözleşmesi: Anti-Repaint AÇIK olduğunda, güvenli shift değerinden okunan veriler kesindir. En küçük güvenli shift değeri Küresel Değişken ( TZP_<Hash8>_MinShift ) üzerinden sağlanır.
Şeffaflık ve Performans
- Test Cihazı Optimizasyonu: Strateji Test Cihazı optimizasyonları sırasında uyarılar otomatik olarak kapatılır.
- Headless Modu: EA içinde HeadlessMode = 1 ayarlanması, maksimum işlem hızı için görsel panel öğelerini gizler.
- Küresel Değişken Temizliği: Artık küresel değişkenler başlangıçta ve kaldırma sırasında otomatik olarak temizlenir.
TriZone Semafor Pro işlemlerinize katkı sağlıyorsa, lütfen dürüst bir değerlendirme ve puan bırakın. Desteğiniz için teşekkür ederiz!
iCustom Referans Tablosu — Çıktı Tamponları
| Tampon İndeksi | Sinyal | Açıklama |
|---|---|---|
| 0 (BufLow1) | AL | Seviye 1 Dip Fiyatı — Hızlı ZigZag |
| 1 (BufHigh1) | SAT | Seviye 1 Zirve Fiyatı — Hızlı ZigZag |
| 2 (BufLow2) | AL | Seviye 2 Dip Fiyatı — Orta ZigZag |
| 3 (BufHigh2) | SAT | Seviye 2 Zirve Fiyatı — Orta ZigZag |
| 4 (BufLow3) | AL | Seviye 3 Dip Fiyatı — Yavaş ZigZag |
| 5 (BufHigh3) | SAT | Seviye 3 Zirve Fiyatı — Yavaş ZigZag |
| 6 (BufSignal) | AL / SAT | EA Sinyal Gücü: AL için +1/+2/+3 (L1/L2/L3), SAT için -1/-2/-3 (L1/L2/L3), 0 = Yok |
iCustom Kod Örneği
Dosya adı: "TriZone_Semafor_Pro" (.ex5 uzantısı olmadan). Uzman Danışmanlar (EA) içinde her zaman HeadlessMode = 1 ayarlayın.
//+------------------------------------------------------------------+ //| iCustom handle — TriZone_Semafor_Pro v1.0 | //+------------------------------------------------------------------+ int g_tzsHandle = INVALID_HANDLE; int OnInit() { g_tzsHandle = iCustom( _Symbol, PERIOD_CURRENT, "TriZone_Semafor_Pro", // Level 1: Fast 5, 1, 3, 159, 159, 2, // Level 2: Medium 13, 8, 5, 108, 108, 3, // Level 3: Slow 34, 21, 12, 108, 108, 4, // Instance "EA1", 0, 1, // Anti-Repaint 1, 0, // Alerts & Dashboard 0, 0, 0, 0, 0, "alert.wav", 0, 20, 30, clrDodgerBlue, clrOrangeRed, C'20,20,30', 9 ); if(g_tzsHandle == INVALID_HANDLE) { PrintFormat("[EA] TriZone_Semafor_Pro handle failed: err=%d", GetLastError()); return INIT_FAILED; } return INIT_SUCCEEDED; } void OnTick() { int safeShift = 4; double sigBuf[1]; if(CopyBuffer(g_tzsHandle, 6, safeShift, 1, sigBuf) != 1) return; int sigValue = (int)sigBuf[0]; if(sigValue > 0) { PrintFormat("AL Sinyali Tespit Edildi! Seviye %d (Shift %d)", sigValue, safeShift); } else if(sigValue < 0) { PrintFormat("SAT Sinyali Tespit Edildi! Seviye %d (Shift %d)", MathAbs(sigValue), safeShift); } } void OnDeinit(const int reason) { if(g_tzsHandle != INVALID_HANDLE) { IndicatorRelease(g_tzsHandle); g_tzsHandle = INVALID_HANDLE; } }
EA için Küresel Değişken ile Otomatik MinShift Tespiti
İndikatör, güvenli en küçük okuma shift değerini bir Küresel Değişken aracılığıyla sunar:
// EA: Küresel Değişken ile güvenli shift değerini otomatik tespit etme int GetMinShift(string instanceID) { string hash = HashToHex8(instanceID); string gvName = "TZP_" + hash + "_MinShift"; if(GlobalVariableCheck(gvName)) return (int)GlobalVariableGet(gvName); return 4; // varsayılan değer }

