Fan sayfamıza katılın
- Görüntülemeler:
- 26
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
KCI-Yön Matrisi (KCI-DX)
, fiyat yolunun uzunluğunu ve volatilite enerjisini ölçerek piyasa kinematiğini ortaya çıkaran, fizikten ilham alan gelişmiş bir analitik araçtır. Geleneksel momentum araçlarından farklı olarak, KCI-DX, Sigmoid aktivasyon fonksiyonu ile birleştirilmiş dinamik bir Z-Skoru normalizasyonu kullanır. Bu, çıktının kusursuz bir şekilde 0 ile 100 arasında sınırlandırılmasını sağlar ve geçmişteki aşırı değerlerden kaynaklanan bozulmalar olmaksızın son derece duyarlı trend gücü belirleme ve yönsel eğilim analizi sunar. KCI Yön Matrisi (KCI-DX) , tescilli Kinetic Compression Index (Kinetik Sıkıştırma Endeksi) çerçevesi aracılığıyla piyasa verimliliğini, yönsel baskıyı ve trend genişlemesini ölçmek üzere tasarlanmış nicel bir yönsel analiz göstergesidir.
Temel Özellikler:
- Kinematik Yön Çıkarımı: Yol uzunluğu varyansını kullanarak gerçek piyasa enerjisini hesaplar.
- Dinamik Sigmoid Ölçeklendirme: Göstergenin düz bir çizgi halinde kalmasını önleyen uyarlanabilir normalleştirme.
- Üç Hatlı Matris: Ana KCI (Trend/Sıkıştırma Gücü), +KDI (Yükseliş Kinematiği) ve -KDI (Düşüş Kinematiği) bileşenlerinden oluşur.
Geleneksel momentum osilatörlerinden farklı olarak, KCI-DX piyasa hareketini üç bağımsız boyuta ayırır:
- Ana KCI – Genel yönsel verimliliği ve trend genişleme gücünü ölçer.
- +KDI (Yükseliş Kinetik Yön Endeksi) – Yükseliş yönündeki hakimiyeti nicel olarak ölçer.
- -KDI (Aşağı Yönlü Kinetik Yön Endeksi) – Aşağı yönlü hakimiyeti nicel olarak ölçer.
Gösterge şunları birleştirir:
- Kinematik yönsel çıkarım
- Yol verimliliği analizi
- Enerji ağırlıklı hareket puanlaması
- Dinamik Z-Skoru normalizasyonu
- Sigmoid uyarlanabilir ölçeklendirme
Sonuç, aşağıdakileri tanımlayabilen kararlı bir 0–100 yön matrisidir:
- Trend genişlemesi
- Yönsel baskınlık
- Sıkıştırma aşamaları
- Momentum ivmesi
- Oynaklık anomalileri
- Piyasa rejimi geçişleri
KCI-DX, bağımsız bir işlem aracı olarak veya Uzman Danışmanlar, makine öğrenimi sistemleri, piyasa tarayıcıları, uyarlanabilir ızgaralar, dinamik stop yönetimi ve portföy düzeyinde karar motorları için bir özellik mühendisliği bileşeni olarak kullanılabilir.
Giriş Parametreleri:

KCI-DX: GÖRSEL HIZLI BAŞLANGIÇ KILAVUZU
- Görsel Arayüz (Gördükleriniz)
| Görsel Öğe | Renk ve Stil | Anlamı |
|---|---|---|
| KCI Ana Çizgisi | Altın (Düz) | Trend Gücü ve Sıkıştırma. Yönünden bağımsız olarak piyasada ne kadar kinematik enerji olduğunu gösterir. |
| +KDI Çizgisi | Mavi (Kesikli) | Yükseliş Enerjisi. Fiyatların yukarı yönlü hareketinin gücü. |
| -KDI Çizgisi | Kırmızı (Kesikli) | Aşağı Yönlü Enerji. Fiyatın aşağı yönlü hareketinin gücü. |
| Seviye 80,0 | Gri (Noktalı) | Aşırı / Tükenme Bölgesi. Trend maksimum kapasitededir. |
| Seviye 20,0 | Gri (Noktalı) | Sıkışma / Yatay Bölge. Piyasa enerji biriktirmektedir. |
- Piyasa Aşamalarını Görselleştirme (Bölgeler)
Piyasa ortamını anında anlamak için Altın Çizginin (KCI Ana) konumuna bakın:
Şekil 1

- Uyku Bölgesi (0 ila 20):
- Görsel: Altın Çizgi yataydır ve en alt seviyede durmaktadır.
- Eylem: İŞLEM YAPMAYIN. Piyasa, dar bir aralıkta sıkışmış halde yatay hareket ediyor.
- Eylem Bölgesi (20 ila 80):
- Görsel: Altın çizgi 20 seviyesinin üzerine çıkarak dik bir şekilde yükselir.
- Eylem: GİRİŞ NOKTALARINI ARAYIN. Yeni bir trend doğuyor. Yön için Mavi veya Kırmızı kesikli çizgileri takip edin.
- Tehlike Bölgesi (80 ila 100):
- Görsel: Altın çizgi tavana (80'in üstüne) ulaşır.
- Eylem: ÇIKIŞA HAZIRLANIN. Mevcut trend aşırı uzamıştır ve bir ters dönüş veya derin bir düzeltme kaçınılmazdır.
Görsel İşlem Kurulumları (Adım Adım)
- SENARYO A: Yükseliş Kırılması (AL)
- Altın Çizgiyi Kontrol Edin: Yukarı doğru kesişmeli ve 20 seviyesinin üzerine çıkmalıdır.
- Kesikli Çizgileri Kontrol Edin: Mavi Çizgi (+KDI), Kırmızı Çizginin (-KDI) ÜZERİNE geçmelidir.
- Uygulama: AL pozisyonu açın.
- SENARYO B: Aşağı Yönlü Kırılma (SAT)
- Altın Çizgiyi kontrol edin: Yukarı doğru kesişmeli ve 20 seviyesinin üzerine çıkmalıdır. (Evet, düşüş trendlerinde bile YUKARI doğru gider, çünkü aşağı yönlü enerji artmaktadır!)
- Kesikli Çizgileri Kontrol Edin: Kırmızı Çizgi (-KDI), Mavi Çizginin (+KDI) ÜSTÜNE geçmelidir.
- Uygulama: SAT pozisyonu açın.
- SENARYO C: Kar Al (ÇIKIŞ)
- Altın Çizgiyi Kontrol Edin: Zaten bir işlem içindesiniz ve Altın Çizgi 80 seviyesine dokunuyor veya bu seviyeyi aşıyor.
- Uygulama: Zarar Durdurma seviyenizi başabaş noktasına taşıyın, sıkı bir Takip Eden Durdurma etkinleştirin veya karınızı korumak için pozisyonu kapatın.
Resim 2

PRO İPUCU: Mavi ve Kırmızı çizgiler 20 seviyesinin altında birbirine dolanmışsa asla işlem yapmayın. Net bir ayrılma ve Altın Çizginin kırılmasını bekleyin!
KCI Directional Matrix Logic for Expert Advisors (EAs)
Bu gösterge bir EA içinde kullanılıyorsa, aşağıdaki işlem kuralları uygulanabilir:
- Alım Giriş Mantığı (Yükseliş):
- KDI_Plus, KDI_Minus'un üzerine çıkar (Çaprazlama).
- Filtre: KCI_Main, 20 seviyesinin üzerinde olmalıdır (piyasanın sıkışma/yanal hareket bölgesinden çıktığını teyit eder).
- Satış Giriş Mantığı (Aşağı Yönlü):
- KDI Minus, KDI Plus'ın üzerine çıkar (Çaprazlama).
- Filtre: KCI_Main, 20 seviyesinin üzerinde olmalıdır.
- Çıkış / Kar Al / Takip Mantığı:
- KCI_Main seviye 80'e ulaşırsa (Aşırı Trend), EA sıkı bir Takipli Stop'u etkinleştirmeli veya kısmi Kar Al işlemi yapmalıdır, çünkü trend enerjisi maksimum seviyededir ve düzeltme potansiyeli vardır.
- İşlem Yapmama Mantığı (Yanal Hareket):
- KCI_Main 20'nin altındaysa, piyasa sıkışma bölgesinde (düşük enerji) olduğu için EA'nın yeni pozisyon açması yasaktır.
iCustom Call
kullanan örnek EA kodu
Bu, en uygun ve önerilen yöntemdir. EA, Indicators klasöründe bulunan KCI-Directional_X.ex5 dosyasını çağıracaktır.
Kod parçacığı:
//+------------------------------------------------------------------+ //| EA_KCI_iCustom.mq5 | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Ritz" #property version "1.00" int kci_handle; double KCI_Main[], KDI_Plus[], KDI_Minus[]; int OnInit() { // Özel gösterge tanıtıcısını oluştur. // "KCI-Directional_X.ex5" dosyasının bulunduğu yerden emin olun // MQL5/Indicators dizininde. kci_handle = iCustom(_Symbol, _Period, "KCI-Directional_X", 9, 30, 1.5); if(kci_handle == INVALID_HANDLE) { Print("Failed to load the KCI-DX indicator."); return(INIT_FAILED); } // Gösterge tamponlarını zaman serisi olarak yapılandır // (0. indeks = mevcut çubuk). ArraySetAsSeries(KCI_Main, true); ArraySetAsSeries(KDI_Plus, true); ArraySetAsSeries(KDI_Minus, true); return(INIT_SUCCEEDED); } void OnTick() { // En son gösterge değerlerini al // (mevcut çubuk ve en son kapanan çubuk). if(CopyBuffer(kci_handle, 0, 0, 2, KCI_Main) <= 0) return; if(CopyBuffer(kci_handle, 1, 0, 2, KDI_Plus) <= 0) return; if(CopyBuffer(kci_handle, 2, 0, 2, KDI_Minus) <= 0) return; // ------------------------------------------------------------ // KCI-DX İşlem Mantığı // Tüm işlem kararları, en son kapanan mum çubuğuna dayanır // (İndeks 1) – henüz oluşmakta olan mumdan gelen sinyalleri önlemek için. // ------------------------------------------------------------ // Piyasanın bir trend içinde olup olmadığını tespit et. bool isTrending = KCI_Main[1] > 20.0; // Yükseliş yönlü bir kesişimi tespit et. bool buySignal = (KDI_Plus[1] > KDI_Minus[1]) && (KDI_Plus[2] <= KDI_Minus[2]); // Aşağı yönlü bir kesişimi tespit et. bool sellSignal = (KDI_Minus[1] > KDI_Plus[1]) && (KDI_Minus[2] <= KDI_Plus[2]); // Aşırı bir trend genişlemesini tespit et. bool isExtreme = KCI_Main[1] >= 80.0; // Örnek işlem yürütme mantığı. if(isTrending && buySignal) { Print("KCI-DX BUY signal detected."); // AL emrinizin gerçekleştirilmesini sağlayın // (OrderSend veya CTrade::Buy) burada. } else if(isTrending && sellSignal) { Print("KCI-DX SELL signal detected."); // SAT emrinizin gerçekleştirilmesini sağlayın // (OrderSend veya CTrade::Sell) burada. } // Güçlü piyasa eğilimleri için isteğe bağlı işlem yönetimi. if(isExtreme) { Print("Extreme trend detected. Consider activating a trailing stop or managing existing positions."); } }
Gömülü Hesaplamalar İçeren EA Kodu Örneği (Doğrudan gömülü) (EA KCI-N Matrix motoruna gömülü)
Bu yöntem, harici gösterge dosyalarına ihtiyaç duymadan matematiksel algoritmanızı doğrudan EA'ya entegre eder. Hesaplama, Z-Skoru için geçmiş verilere ihtiyaç duyduğundan, fiyat dizisini işlemek için EA içindeki özel bir fonksiyon kullanırız.
Kod parçacığı:
//+------------------------------------------------------------------+ //| EA_KCI_Embedded.mq5 | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Ritz" #property version "1.00" input int InpBasePeriod = 9; input int InpZScorePeriod = 30; input double InpSensitivity = 1.5; // Üç KCI-DX değerinin tümünü döndürmek için kullanılan yapı // tek bir hesaplamadan. struct KCI_Result { double main; double plus; double minus; }; // Şu amaçla kullanılan dahili Z-skorunu hesapla // dinamik normalizasyon. double EmbeddedZScore(double &data_array[], int period) { if(period < 2) return 0.0; double sum = 0.0; double sum_sq = 0.0; for(int i = 0; i < period; i++) { sum += data_array[i]; sum_sq += data_array[i] * data_array[i]; } double mean = sum / period; double variance = (sum_sq / period) - (mean * mean); if(variance <= 1 e-10) return 0.0; return (data_array[0] - mean) / MathSqrt(variance); } // Belirtilen değer için KCI-DX değerlerini hesapla // tarihsel çubuk (shift). KCI_Result CalculateKCI(int shift) { KCI_Result res; res.main = 0.0; res.plus = 0.0; res.minus = 0.0; // Yeterli miktarda geçmiş kapanış fiyatlarını al // Hem Temel Dönem hem de Z-Skoru penceresi için. int required_bars = InpZScorePeriod + InpBasePeriod; double close[]; ArraySetAsSeries(close, true); if(CopyClose(_Symbol, _Period, shift, required_bars, close) < required_bars) return res; // Yeterli geçmiş veri bulunmamaktadır. double raw_plus[]; double raw_minus[]; double raw_trend[]; ArrayResize(raw_plus, InpZScorePeriod); ArrayResize(raw_minus, InpZScorePeriod); ArrayResize(raw_trend, InpZScorePeriod); // ------------------------------------------------------------ // 1. Aşama: // Kinematik Yön Çıkarma // ------------------------------------------------------------ for(int i = 0; i < InpZScorePeriod; i++) { double path_len = 0.000001; double net_up = 0.0; double net_dn = 0.0; double mean_p = 0.0; for(int j = 0; j < InpBasePeriod; j++) { double diff = close[i + j] - close[i + j + 1]; path_len += MathAbs(diff); if(diff > 0) net_up += diff; else net_dn -= diff; mean_p += close[i + j]; } mean_p /= InpBasePeriod; double var_p = 0.0; for(int j = 0; j < InpBasePeriod; j++) var_p += MathPow(close[i + j] - mean_p, 2); double energy = MathSqrt(var_p / InpBasePeriod); raw_plus[i] = (net_up / path_len) * energy; raw_minus[i] = (net_dn / path_len) * energy; raw_trend[i] = (MathAbs(net_up - net_dn) / path_len) * energy; } // ------------------------------------------------------------ // 2. Aşama: // Dinamik Sigmoid Normalleştirme // ------------------------------------------------------------ double z_plus = EmbeddedZScore(raw_plus, InpZScorePeriod); double z_minus = EmbeddedZScore(raw_minus, InpZScorePeriod); double z_trend = EmbeddedZScore(raw_trend, InpZScorePeriod); res.plus = 100.0 / (1.0 + MathExp(-InpSensitivity * z_plus)); res.minus = 100.0 / (1.0 + MathExp(-InpSensitivity * z_minus)); res.main = 100.0 / (1.0 + MathExp(-InpSensitivity * z_trend)); return res; } void OnTick() { // Şunun KCI-DX değerlerini hesapla: // en son kapanan iki mum çubuğu. KCI_Result kci_current = CalculateKCI(1); KCI_Result kci_prev = CalculateKCI(2); // ------------------------------------------------------------ // Örnek İşlem Mantığı // Yükseliş yönlü bir kesişimi tespit et. // ------------------------------------------------------------ bool buySignal = (kci_current.plus > kci_current.minus) && (kci_prev.plus <= kci_prev.minus); // İşlem mantığını yalnızca piyasa // geçerli bir trend durumundadır. if(kci_current.main > 20.0 && buySignal) { Print("Embedded KCI-DX detected a BUY signal."); // AL emrinizin gerçekleştirilmesini sağlayın // (OrderSend veya CTrade::Buy) burada. } }
En İyi Sonuçlar İçin Öneriler
Derleme ve işlem yapmadan önce, KCI-Directional Matrix'ten en iyi şekilde yararlanmak için aşağıdaki en iyi uygulamaları göz önünde bulundurun:
-
Varlık Esnekliği: Varsayılan parametreler (BasePeriod=9, ZScorePeriod=30) son derece duyarlıdır ve majör döviz çiftlerinde olağanüstü performans gösterir. Ancak, bunu Altın (XAUUSD), Kripto Para Birimleri (BTC/ETH) veya Endeksler gibi yüksek volatiliteye sahip enstrümanlara uyguluyorsanız, aşırı gürültüyü filtrelemek için ZScorePeriod değerini biraz artırmayı (örneğin, 40 veya 50'ye) düşünün.
-
Algoritmik Optimizasyon: Karmaşık veya çoklu sembollü sistemler geliştiren EA geliştiricileri için, yukarıda sunulan Gömülü Hesaplama yöntemini kullanmanız şiddetle tavsiye edilir. Bu yöntem, CPU kullanımınızı inanılmaz derecede düşük tutar ve Expert Advisor'ınızın harici gösterge çağrılarına ihtiyaç duymadan tamamen bağımsız kalmasını sağlar.
-
Uyum için Eşleştirme: KCI-DX, özel bir kinematik ve volatilite motorudur. Mükemmel bir bağımsız yönsel eğilim sağlarken, nihai girişi doğrulamak için favori yapısal filtrelerinizle (Destek/Direnç bölgeleri gibi) veya hacim anomali dedektörleriyle birleştirildiğinde gerçekten çok güçlü hale gelir.
Kapanış Açıklaması
Yazarın Notu / Sonuç: KCI-Directional Matrix'i incelediğiniz için teşekkür ederiz. Bu kod tabanı, MQL5 topluluğuna hafif, matematiksel olarak titiz ve son derece uyarlanabilir bir analitik araç sunmaya odaklanılarak tasarlanmıştır. İster kesin momentum tükenme noktalarını arayan bir manuel yatırımcı olun, ister makine tarafından okunabilir verileri bir Uzman Danışman'a entegre eden bir geliştirici olun, umarım bu gösterge projeleriniz için sağlam bir temel oluşturur.
Bu kodu ticaret sistemleriniz için değerli bulursanız, lütfen bir değerlendirme bırakmaktan, yaratıcı değişikliklerinizi paylaşmaktan veya aşağıdaki tartışma bölümüne bir soru yazmaktan çekinmeyin. Gelin, algoritmik ticaretin sınırlarını birlikte zorlamaya devam edelim!
Kodlamada başarılar ve güvenli işlemler dilerim, — Ritz
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/74839
EA KCI N-Matrix engine
Algoritmik Izgara ve Kinetik İvmenin Zirvesi. MetaTrader 5 için yerel olarak geliştirilmiş, acımasız ve matematiksel temelli devasa bir algoritmik motor olan KCI Native Matrix Engine'e hoş geldiniz. Yüksek Frekanslı Alım Satım (HFT) ortamları için tasarlanan bu EA, şişirilmiş standart kütüphaneleri ortadan kaldırır ve doğrudan sunucu yönlendirme düzeyinde çalışır.
Trend Execution Planner - Regime and Risk Panel
Free open-source MT5 read-only chart utility that scores current trend conditions and builds broker-normalized long and short risk plans. It uses moving-average direction and slope, ADX, Efficiency Ratio, ATR, spread, account currency and symbol specifications. It never opens, modifies or closes trades.
Risk Based Position Size Calculator
Draggable Entry, Stop-Loss and Take-Profit lines with a live on-chart panel that calculates the exact lot size for a chosen account risk. No manual math, no guessing — drag the lines, read the size.
Swing High Low - Non-Repainting Pivots with Push/Email Alerts
Marks non-repainting swing highs and lows using configurable LeftBars / RightBars pivots. Sends push and email alerts on each new confirmed swing.