SMC Ultimate
- 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
SMC Ultimate
MetaTrader 5 için kurumsal düzeyde Smart Money Concepts (SMC) / ICT karar motoru. Piyasa yapısını, likiditeyi, Order Block ve Fair Value Gap bölgelerini analiz eder; bunları skora, kodlanmış duruma ve onaylı Buy/Sell sinyallerine dönüştürür.
Tamamen bağımsız çalışır (gösterge paneli, çizimler, uyarılar). Ayrıca kararlı 4 buffer sözleşmesi ve sabit 88 girdi ile güvenilir iCustom entegrasyonu sayesinde EA'ya hazırdır.
İlk herkese açık sürüm (version 1.0) lansman fiyatı. Fiyat erken güncellemeler ve incelemelerden sonra artabilir.
Temel özellikler
- HTF ve LTF piyasa yapısı: swing, BOS ve CHoCH
- Likidite haritası: equal high/low ve sweep tespiti
- Dokunma/mitigasyon durumlarıyla Order Block ve Fair Value Gap
- Premium / Discount bağlam skoru
- Histerezis kilidiyle ağırlıklı çok faktörlü karar skoru
- Anti-Repaint: onaylı sinyaller kapanmış barda kilitlenir (shift 1)
- Grafik paneli: trend, bölge, skor, sinyal ve buffer okuması
- Uyarılar: popup, ses ve push (cooldown ve once-per-bar)
- EA Mode: çizimleri kapatır, uyumlu EA'ları besler
- ChartID ile güvenli nesne öneki (çoklu örnek)
- EQH/EQL ve FVG için isteğe bağlı ATR uyarlamalı toleranslar
- Spread filtresi, seans/hafta günü filtreleri, cent hesap modu
Sinyaller nasıl çalışır
Yapı ve likidite motorları kapanmış bar mantığında güncellenir. Bağlam fiyatı Premium, Discount veya Neutral olarak yerleştirir. Karar motoru yapılandırılabilir ağırlıklardan tavanlı bir skor üretir. İsteğe bağlı Strict-SMC sweep kuralları zayıf girişleri süzgeçler. Anti-Repaint açıkken (varsayılan) onaylı Buy/Sell shift 1'e kilitlenir ve bar kapandıktan sonra yeniden yazılmaz. Oklar yalnızca onaylı kapanmış barlarda görünür.
Anti-Repaint ve Two-Pass
Anti-Repaint temel bütünlük özelliğidir ve varsayılan olarak açıktır. Onaylı tarihsel sinyaller kapanıştan sonra sabit kalır.
Two-Pass Mitigation deneyseldir ve varsayılan olarak kapalıdır. Tarihsel OB/FVG mitigasyon doğruluğunu iyileştirebilir.
İkisi birden açıksa Anti-Repaint otomatik öncelik alır:
- Two-Pass mevcut oturum için kapatılır
- Input değeri asla değiştirilmez (88 yuvalı EA sözleşmesi bozulmaz)
- Experts günlüğüne uyarı yazılır
- GUI izni varsa grafik uyarısı gösterilir
- Panelde: 2-Pass:OFF(AR-Override)
Two-Pass'i bilinçli kullanmak için Anti-Repaint = false yapın. Tam çift mod birleşimi sonraki bir güncellemede planlanmaktadır.
Panel
- LTF ve HTF trendi
- Premium-Discount bölgesi ve extreme etiketi
- Swing, BOS, CHoCH ve Sweep sayaçları
- Aktif OB ve FVG sayısı
- Skor ve sinyal: BUY, SELL veya No Signal
- Histerezis kilit durumu
- Anti-Repaint ve etkin Two-Pass durumu
- Spread, nesne sayısı, HTF besleme sağlığı
- Buffer okuması: Score, Signal, State
EA buffer'ları
Expert Advisor ve özel araçlar için dört gösterge buffer'ı:
- Buffer 0 - SMC_BUY: onaylı BUY'da 1.0 (yalnızca shift 1)
- Buffer 1 - SMC_SELL: onaylı SELL'de 1.0 (yalnızca shift 1)
- Buffer 2 - SMC_SCORE: karar gücü, yumuşak tavan yakl. +/-200
- Buffer 3 - SMC_STATE: kodlanmış HTF/LTF trend ve sweep; spread engelde +100000
Onaylı Buy/Sell yalnızca shift 1'e yazılır. Shift 0 Score/State, bar-1 bağlamının canlı önizlemesidir. Zaman filtresi Buy/Sell'i bastırır ama State'i korur. 88 girdi sabit konumdadır; iCustom okumaları kararlı kalır.
iCustom entegrasyonu (EA kod stili)
Market kurulumundan sonra Navigator'daki tam gösterge adını kullanın. Örnekler: Market\SMC Ultimate. Onaylı girişler yalnızca shift 1. Buffer düzeni sabittir:
- 0 = SMC_BUY
- 1 = SMC_SELL
- 2 = SMC_SCORE
- 3 = SMC_STATE
Onayı her zaman shift 1'den okuyun.
Girdiler: 88 konumsal yuva. Sırayı değiştirmeyin. 41-46 ayrılmıştır. Atlanan sondaki girdiler varsayılanları korur.
MQL5 kodu (EA iskeleti)
#define SMC_BUF_BUY 0
#define SMC_BUF_SELL 1
#define SMC_BUF_SCORE 2
#define SMC_BUF_STATE 3
#define SMC_SHIFT_CONFIRMED 1
#define SMC_SPREAD_BLOCK_MARK 100000.0
int g_smc_handle = INVALID_HANDLE;
datetime g_smc_last_bar = 0;
int OnInit()
{
g_smc_handle = iCustom(_Symbol, PERIOD_CURRENT, "Market\\SMC Ultimate");
if(g_smc_handle == INVALID_HANDLE)
{
Print("SMC Ultimate: iCustom failed, error=", GetLastError());
return INIT_FAILED;
}
return INIT_SUCCEEDED;
}
// Optional: pass inputs by frozen 88-slot order only if needed
// g_smc_handle = iCustom(_Symbol, PERIOD_CURRENT, "Market\\SMC Ultimate", ...);
// Enable EA Mode in indicator inputs for chart-less EA use.
bool SMC_Read(const int buffer_index, const int shift, double &out_value)
{
out_value = EMPTY_VALUE;
if(g_smc_handle == INVALID_HANDLE) return false;
double tmp[];
ArraySetAsSeries(tmp, true);
if(CopyBuffer(g_smc_handle, buffer_index, shift, 1, tmp) != 1)
return false;
out_value = tmp[0];
return true;
}
bool SMC_IsValidNum(const double v)
{
return (v != EMPTY_VALUE && MathIsValidNumber(v));
}
bool SMC_DecodeState(double state_raw,
bool &spread_blocked,
int &htf_trend,
int <f_trend,
int &sweep_enc)
{
spread_blocked = false;
htf_trend = 0; ltf_trend = 0; sweep_enc = 0;
if(!SMC_IsValidNum(state_raw)) return false;
double s = state_raw;
if(s >= SMC_SPREAD_BLOCK_MARK)
{
spread_blocked = true;
s -= SMC_SPREAD_BLOCK_MARK;
}
int sv = (int)MathRound(s);
htf_trend = sv / 100 - 1; // -1 bear, 0 flat, +1 bull
ltf_trend = (sv % 100) / 10 - 1; // -1 bear, 0 flat, +1 bull
sweep_enc = sv % 10; // 0 none, 1 buy-side, 2 sell-side
return true;
}
void OnTick()
{
datetime t[];
ArraySetAsSeries(t, true);
if(CopyTime(_Symbol, PERIOD_CURRENT, 0, 2, t) != 2) return;
if(t[0] == g_smc_last_bar) return;
g_smc_last_bar = t[0];
double buy=0, sell=0, score=0, state=0;
if(!SMC_Read(SMC_BUF_BUY, SMC_SHIFT_CONFIRMED, buy)) return;
if(!SMC_Read(SMC_BUF_SELL, SMC_SHIFT_CONFIRMED, sell)) return;
if(!SMC_Read(SMC_BUF_SCORE,SMC_SHIFT_CONFIRMED, score)) return;
if(!SMC_Read(SMC_BUF_STATE,SMC_SHIFT_CONFIRMED, state)) return;
bool spread_blocked; int htf, ltf, sweep;
if(!SMC_DecodeState(state, spread_blocked, htf, ltf, sweep)) return;
if(spread_blocked) return;
const bool is_buy =
SMC_IsValidNum(buy) && buy > 0.5 && buy < 1.0e10;
const bool is_sell =
SMC_IsValidNum(sell) && sell > 0.5 && sell < 1.0e10;
if(is_buy)
{
PrintFormat("SMC BUY confirmed | score=%.0f htf=%d ltf=%d sweep=%d",
score, htf, ltf, sweep);
// --- risk + OrderSend / trade.Buy() ---
}
else if(is_sell)
{
PrintFormat("SMC SELL confirmed | score=%.0f htf=%d ltf=%d sweep=%d",
score, htf, ltf, sweep);
// --- risk + OrderSend / trade.Sell() ---
}
}
void OnDeinit(const int reason)
{
if(g_smc_handle != INVALID_HANDLE)
{
IndicatorRelease(g_smc_handle);
g_smc_handle = INVALID_HANDLE;
}
}
Entegrasyon kuralları
- Yalnızca shift 1 Buy/Sell ile işlem yapın, asla shift 0 ile değil
- Shift 0 Score/State izleme önizlemesidir, nihai giriş değildir
- EMPTY_VALUE / geçersiz sayılar = onaylı sinyal yok
- State >= 100000 ise 100000 çıkarın ve yeni giriş açmayın (spread engeli)
- State kodu: (htf+1)*100 + (ltf+1)*10 + sweepEnc
- EA panel/nesne olmadan çalışacaksa EA Mode'u açın
- CopyBuffer dönüşünü her zaman kontrol edin
- Lot, SL/TP ve para yönetimi yalnızca EA içinde kalır
SMC Ultimate karar buffer'larını sağlar. Yürütme ve risk sizin EA'nızdadır.
Önerilen başlangıç
- Çalışma periyodunuza ekleyin (sık M15-H1; her TF desteklenir)
- Anti-Repaint = true bırakın
- Bilinçli ihtiyaç yoksa Two-Pass = false bırakın
- MaxSpread'i sembole göre ayarlayın
- MinDecisionScore ve ağırlıkları canlı gözlemden sonra ayarlayın
- EA için: EA Mode açın ve 4 buffer'ı iCustom ile okuyun
İyi uygulamalar
- Garantili trade yazıcısı değil, karar motoru olarak kullanın
- Daha yüksek kanaat: HTF hizası + destekleyici sweep + aşırı olmayan bölge
- Aracı kurum spread'ine ve kendi risk limitlerinize uyun
- Strategy Tester'da nesne/uyarı için Visual modunu kullanın
- Grafik başına bir örnek idealdir; birden fazla ChartID ile yalıtılır
Girdi grupları (toplam 88, sıra sabit)
- Güvenlik: spread, Strict SMC, Anti-Repaint, EA Mode
- İşlem saati ve hafta günü filtreleri
- ATR uyarlamalı toleranslar
- Karar skoru ağırlıkları
- Çekirdek yapı: HTF, swing strength, lookback
- Karar eşiği ve bölge mitigasyonu (deneysel Two-Pass dahil)
- Sabit mod sabitleri
- EA uyumluluk için ayrılmış yuvalar
- Grafik nesne limiti
- Görseller, uyarılar ve panel düzeni
- Renkler ve günlük
Konumsal entegrasyonda ayrılmış yuvaları yeniden sıralamayın, silmeyin veya başka amaçla kullanmayın.
Sürüm 1.0
İlk herkese açık MQL5 Market yayını. Tam SMC/ICT yığını, Anti-Repaint anlık görüntü motoru, AR çatışmasını etkin çözen deneysel Two-Pass, 4 buffer EA sözleşmesi, sabit 88 girdi, ChartID çoklu örnek öneki, ATR uyarlama, kurumsal panel ve spread/seans/histerezis kontrolleri.
Destek
Yazar profilindeki MQL5.org mesaj sistemini kullanın. Sembol, zaman dilimi, girdi ekran görüntüsü ve Experts mesajlarını ekleyin; makul yanıt süresi tanıyın.
Sorumluluk reddi
Alım satım zarar riski içerir. Tarihsel yapı kalıpları gelecek sonuçları garanti etmez. SMC Ultimate analitik bir karar destek göstergesidir, finansal tavsiye değildir. Risk yönetimi ve emir yürütme yalnızca size aittir.
