Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Kodu ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Kodu beğendiniz mi? MetaTrader 5 terminalinde deneyin
Göstergeler

EVT Crash Gauge - MetaTrader 5 için gösterge

Görüntülemeler:
12
Derecelendirme:
(3)
Yayınlandı:
\MQL5\Include\EVT\
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

Genel Bakış

Standart MetaTrader 5 araç kutusundaki hemen hemen her risk aracı, planlanması gereken en kötü kaybın, kabaca daha önce gördüğünüz en kötü kayıp olduğu şeklindeki gizli bir varsayımı paylaşır. Ortalama Gerçek Aralık (Average True Range), son dönemdeki volatiliteye göre pozisyonların büyüklüğünü belirler. Bir Monte Carlo yeniden örnekleyicisi, gerçekte gerçekleştirdiğiniz işlemleri yeniden düzenler. Tarihsel Risk Değeri (Historical Value at Risk), getiri geçmişinizden doğrudan bir persantili okur. Bunların tümü dağılımın ana kısmına bakar ve sessizce geleceğin geçmişten daha aşırı bir durum yaratmamasını umar.

Finansal getiriler kalın kuyruklu olduğundan, bu umut yersizdir. Büyük hareketler normal dağılımın izin verdiğinden daha sık meydana gelir ve daha uzağa ulaşır; ayrıca, bir örneklemdeki en kötü gün, piyasanın yaşayabileceği en kötü gün neredeyse hiçbir zaman değildir. Kayıpları yalnızca penceresinde halihazırda bulunanlar kadar kötü olarak görebilen herhangi bir yöntem, nadir bir çöküşü sistematik olarak hafife alacaktır.

Kalın kuyruklu getiri histogramının üzerine yerleştirilmiş normal dağılım; kuyruk aralığı gölgelendirilmiştir

Normal model (eğri) ile gerçek kalın kuyruklu getiriler (histogram) karşılaştırması. Gölgelendirilmiş sol kuyruk, modelin gözden kaçırdığı zararı gösterir.

Bu gösterge, bu boşluğu doldurmak için geliştirilen istatistik dalını MQL5’e yerel olarak entegre eder. Aşırı Değer Teorisi, dağılımın tamamını modellemez; yalnızca kuyruğu modeller ve bunu varsayımlara dayalı değil, bir limit teoremiyle gerekçelendirilmiş bir şekil ile yapar. Uyumlaştırılmış model, daha sonra örnekteki her şeyin ötesine ekstrapolasyon yapabilir: %99,9'luk bir kayıp, yaklaşık olarak her üç yılda bir görülen bir hareket, geçmiş verilerinizde aslında hiç görülmemiş bir rakam.

Yöntem. Gösterge, Peaks-Over-Thresholdyöntemini uygular. Grafiğin kapanışlarını tek taraflı bir aşağı yönlü kayıp serisine dönüştürür; her aşağı hareketin büyüklüğünü korur ve her yukarı hareketi sıfıra eşler. Bu serinin bir quantile'ında yüksek bir eşik u seçer, bunun altındaki her şeyi atar ve yalnızca aşımları, yani kayıpların eşiği aştığı miktarları inceler. Pickands-Balkema-de Haan teoremi, geniş bir altta yatan dağılım sınıfı için, eşik yükseldikçe bu aşımların tek bir aileye, yani Genelleştirilmiş Pareto Dağılımına yakınsadığını belirtir. Dolayısıyla kuyruğun şeklinin tahmin edilmesi gerekmez, sadece uyarlanması yeterlidir.

Bir kayıp serisindeki eşik değeri; aşımlar ayrıştırıldı ve GPD ile uyumlu hale getirildi

Eşiği Aşan Tepe Noktaları: kayıp serisine bir eşik belirlenir, bu eşiğin üzerindeki aşımlar ayrılır ve yalnızca bu aşımlara Genel Pareto Dağılımı (GPD) uyarlanır.

Uydurma işlemi, GPD’nin şekli ve ölçeği için gerçek bir maksimum olasılık optimizasyonudur ve terminal ile birlikte gelen ALGLIB kısıtlı optimizasyon aracı üzerinden gerçekleştirilir. Python köprüsü, DLL dosyası veya herhangi bir türde harici bağımlılık yoktur.

Kapsamla ilgili bir not. EVT,piyasa zamanlamasına yönelik bir araç değil,risk büyüklüğünü ölçen bir araçtır. Nadir bir kaybın ne kadar kötü olabileceğini ve kuyruğun şu anda ağır mı yoksa hafif mi olduğunu gösterir. Bir çöküşün ne zaman gerçekleşeceğini veya hangi yönde işlem yapmanız gerektiğini söylemez. Yükselen bir kuyruk şeklini “kısa pozisyon aç” sinyali olarak yorumlamak, bu aracın yanlış kullanımıdır. Kalınlaşan bir kuyruğa karşı doğru tepki, riski kontrol etmektir; asla yönü tahmin etmek değildir.


Neler Gösterir?

Üç sayı, kayan bir pencerede hesaplanır ve grafik üzerindeki bir panelde gösterilir; bunlardan ilki, kuyruğun zaman içinde daralması ve genişlemesini izleyebilmeniz için bir alt pencerede çizgi olarak da gösterilir.

Yorumlama
Nedir
Nasıl kullanılır
EVT VaR
Seçilen güven düzeyinde Risk Değeri (VaR), geçmiş verilerden okunmak yerine uyarlanmış kuyruktan ekstrapolasyon yoluyla hesaplanır.
Planlamanız gereken kayıp. Panelde yüzde olarak gösterilir ve alt penceredeki çizgi olarak grafiğe yansıtılır. Yükselen bir çizgi, kuyruğun kalınlaştığını gösterir.
EVT ES
Beklenen Kayıp (Expected Shortfall), VaR'ın aşılması durumunda ortaya çıkan ortalama kayıptır.
Kötü senaryo gerçekleştiğinde durumun ne kadar kötüye gideceği. Her zaman VaR’dan daha kötüdür ve stop emri yerleştirme açısından daha gerçekçi bir rakamdır.
xi (şekil)
Uyarlanmış kuyruk endeksi. Değer ne kadar büyükse o kadar ağırdır: kayıplar daha ileride birikir.
Rejim göstergesi, panelde renk kodlu olarak gösterilir. Bu, ekstrapolasyonun ne kadar uzağa uzanacağını belirleyen parametredir.

Bu iki tahminci, standart GPD-POT formlarıdır; dolayısıyla panelde tam olarak şunlar raporlanır:

VaR_p = u + (sigma / xi) * [ ( (Nu / n) / (1 - p) )^xi - 1 ]
ES_p  = VaR_p / (1 - xi) + (sigma - xi * u) / (1 - xi)

Burada u eşik değeridir, sigma ve xi ise uyarlanmış ölçek ve şekildir; Nu / n ise aşım oranıdır. Her ikisi de, uyarlanmış şekil sıfıra yakın olduğunda otomatik olarak kullanılan bir üstel sınıra sahiptir; bu da, şekle bölmenin aritmetiği istikrarsız hale getireceği rejimde aritmetiği istikrarlı tutar.

Kuyruk trafik ışığı. Panel, şekli renklendirir; böylece rejim, bir sayıyı yorumlamaya gerek kalmadan okunabilir:

xi
Renk
Değer
0,10'un altında
Yeşil
İnce kuyruklu üstel duruma yakın. Sakin.
0,10 ile 0,30 arası
Altın
Orta derecede yoğun; çoğu likit enstrümanın bulunduğu aralık.
0,30 üzeri
Kırmızı
Ağır kuyruklu. Kayıplar birikir ve çöküşler kümelenir.

Bu kesme değerleri istatistiksel eşiklerden ziyade okuma yardımcılarıdır ve isteğe göre değiştirilebilir. Önemli olan, rengi belirleyen şeklin formülleri de belirlemesidir; böylece aritmetik sessizce kalın kuyruklu bir VaR hesaplarken panel yeşil gösteremez.

Paneli ve VaR çizgisini gösteren bir grafikteki EVT Crash Gauge göstergesi

Grafikteki gösterge: panel VaR, Beklenen Kayıp ve renk kodlu kuyruk şeklini gösterirken, alt pencere zaman içinde EVT VaR'ı çizer.


Tahminde Bulunmayı Reddediyor

Bu, eklentiyi yüklemeden önce bilmeniz gereken bir tasarım kararıdır; çünkü boş bir okumanın anlamını değiştirir. İki parametreli bir kuyruk uyumu, güvenilir olabilmesi için gerçek sayıda aşım gerektirir ve EVT literatürü, yaklaşık otuz ila elli kuyruk noktasını pratik bir alt sınır olarak ele alır. Motor, otuz sayısını zorunlu kılar. Bunun altında, bir rakam yerine durumunu bildirir ve panel bunu açık bir dille ifade eder:

Durum
Anlam
Tamam
Uyum, yeterli kuyruk verisine ulaşmıştır. VaR, ES ve xi değerleri aktiftir.
Yetersiz kuyruk verisi (N/30 aşım)
Pencere, otuzdan az aşım üretti. Geriye dönük süreyi artırın veya eşik quantili düşürün.
uyum yakınsamadı
Optimizer geçerli bir şekil ve ölçeğe ulaşamadı. Herhangi bir rapor oluşturulmadı.
uyum sağlanamadı / hatalı girdi
Henüz herhangi bir uyum çalıştırılmadı veya pencere boştu ya da bozulmuştu.

Bunun somut bir örneği: varsayılan 0,95 eşik değerinde, 500 çubukluk geriye dönük inceleme sadece yaklaşık yirmi beş aşım verir ve gösterge bir sayı yerine yetersiz kuyruk verisi (25/30 aşım) bildirir. 800 bar'da tabanı aşar ve sorunsuz bir şekilde uyum sağlar. Bu, atlatılması gereken bir hata değil; modelin tahminde bulunmayı reddetmesidir ki bu, nadir olaylar hakkında dürüstlük sağlamayı amaçlayan bir araçtan tam olarak beklediğiniz davranıştır.

Aynı ilke diğer uçta da geçerlidir. Uydurulan şekil bire ulaştığında kuyruğun ortalaması sapar ve Beklenen Kayıp (Expected Shortfall) ortadan kalkar; bu nedenle motor, uydurma bir rakam yerine burada sıfır değerini döndürür. Uydurma işleminin “OK” durumuna ulaşamadığı her yerde, grafikteki çizgi o çubuk için eski bir değeri ileriye taşımak yerine boş bırakılır; böylece çizgi, tam olarak modelin kesin bir tahminde bulunmayı reddettiği noktada boş kalır.


Önerilen Kurulum

Ayar
Önerilen değer
Not
Sembol
Herhangi bir likit enstrüman
Hiçbir şey sembole özgü değildir: uyum, logaritmik getiriler üzerinde çalışır, bu nedenle okumalar yüzde olarak verilir ve enstrümanlar arasında karşılaştırılabilir. İşlem hacmi düşük bir sembol, aşım tabanını geçememe olasılığı en yüksek olan durumdur.
Zaman aralığı
H4 veya D1
VaR, her bir çubuk için bir kayıp büyüklüğüdür; dolayısıyla zaman aralığı, bu sayının ne anlama geldiğini belirler. D1'de bu, günlük bir kayıptır. Gün içi analiz de kullanılabilir, ancak bir dakikalık getirinin kuyruğu farklı bir nesnedir.
Geriye Dönük Dönem
800 çubuk
0,95 eşiğinin, otuz aşım tabanını marjla aşması için seçilmiştir. Daha kısa pencereler daha hızlı tepki verir ancak tabana çarpar.
Gerekli geçmiş veriler
Geriye Dönük + 2 çubuk
İlk uyarlanabilir çubuktan önce hiçbir şey çizilmez. Grafiğin bu kadar geçmiş veriyi gerçekten indirdiğinden emin olun, aksi takdirde gösterge boş kalır.
Eşik quantili
0,95
Standart varsayılan değerdir. Bu değeri düşürmek, eşik yükseldikçe teorem geçerliliğini koruduğu için asimptotik geçerlilikten ödün vererek aşımlara yol açar.


Giriş Parametreleri

Parametre
Varsayılan
Açıklama
Geriye Dönük Bakış
800
Her bir uyumun hesaplandığı, çubuk cinsinden kayan pencere. Kullanılabilir getirileri bu sayının yarısının altına düşen bir pencere, çok seyrek olduğu için reddedilir.
Eşik Değeri
0,95
POT eşiği u'yu belirlemek için kullanılan kayıp serisinin quantili. 0,5 ile 0,999 arasında kabul edilir.
Güven
0,99
VaR ve ES için güven seviyesi. Uyumlaştırılmış kuyruk ekstrapolasyonlu olduğundan, örneklemde bu tür bir kayıp bulunmasa bile 0,999 geçerli bir ayardır.
Her
1
Geçmiş çubuklar için yeniden uydurma sıklığı. Değer 1 olduğunda her çubuk yeniden uydurulur ve çizilen çizgi tam olarak çözülür; bu değerin artırılması, çok uzun grafiklerdeki geçmiş çözünürlüğü hız karşılığında feda eder. Mevcut çubuk her durumda her zaman yeniden uydurulur.
Panel Göster
true
Grafik üzerinde metin paneli çizer. Gösterge ayrıldığında panel nesneleri kaldırılır.
Performans hakkında: GPD uyumu bir optimizasyondur, arama işlemi değildir. Kadans kuralı, çok uzun bir grafiğin her çubuğunda yeniden uyum sağlamanın gerçek bir iş olması nedeniyle mevcuttur. İlk yükleme yavaş geliyorsa, RefitEvery değerini artırın; en son çubuk her zaman yeniden uyumlandığından, canlı okuma her durumda tam olarak kalır.


Motor'u Kendi Kodunuzda Kullanma

Kuyruk modeli, grafiklere veya gösterge tamponlarına bağımlı olmayan, bağımsız bir başlık sınıfı olan CGPDModel'dir. Daha büyük değerlerin daha kötü olduğu bir kayıp dizisine uyum sağlar, böylece işaret kuralı çağıranınkiyle aynı kalır ve bir kayıp serisi üretebilen herhangi bir strateji bunu doğrudan kullanabilir:

#include <EVT\GPDModel.mqh>

CGPDModel model;
model.SetThresholdQuantile(0.95);

if(model.Fit(losses,count) && model.IsReliable())
  {
   double var = model.VaR(0.99);
   double es  = model.ExpectedShortfall(0.99);
   double xi  = model.Xi();
  }
else
   Print("tail not usable: ",model.StatusText());

Bunların yanı sıra, sınıf uyarlanmış ölçeği, seçtiği eşiği, aşım sayısını ve durum sıralamasını da ortaya koyar; böylece kullanıcı, bir okumanın neden geri tutulduğunu tam olarak günlüğe kaydedebilir veya görüntüleyebilir. Sınıf yerine göstergeyi okumak için, EVT\EVTCrashGauge üzerinde iCustom ile bir tanıtıcı elde edin ve EVT VaR değerini taşıyan ve uyumun güvenilir olmadığı herhangi bir çubukta sıfır değerini barındıran 0 numaralı yığını kopyalayın.


Sınırlamalar

EVT, risk araç setinde haklı bir yere sahiptir, ancak bu özel bir araçtır ve onu iyi kullanmak, nerede geçerli olmadığını bilmek anlamına gelir:

  • Kuyruk verilerine ihtiyaç duyar. İki parametreli bir kuyruk uyumu, anlamlı sayıda aşım gerektirir. İşlem hacmi düşük bir sembolde veya kısa bir zaman aralığında doğru cevap "yetersiz veri"dir ve tasarım, bir sayı uydurmak yerine bunu dikkate alır.
  • Eşik değerine duyarlıdır. 0,95 varsayılan değeri standarttır, ancak uyumlu şekil ve ölçek bu değere göre değişir. Ciddi bir uygulamada, tek bir ayara güvenmek yerine bu duyarlılık incelenmelidir; bu nedenle quantile bir girdi olarak sunulur.
  • Bu, zamanlamayı değil, büyüklüğü ölçer. En yaygın yanlış kullanım bu olduğu için tekrar etmekte fayda var. Yükselen kuyruk endeksi, yönsel bir sinyal değildir.
  • Kuyruk, net bir şekilde tanımlanamayabilir. Uyumlaştırılmış şekil bire yaklaştıkça Beklenen Kayıp ortadan kalkar ve bu rejimde sıfır değeri, bir hata değil, başlı başına bir bilgidir.


Dosya Yapısı

Bir gösterge ve bir başlık. Başlık, <EVT\GPDModel.mqh> olarak dahil edilmiştir; bu nedenle, Include altındaki EVT alt klasöründe bulunmalıdır.

Dosya
Rol
Açıklama
Indicators\EVT\EVTCrashGauge.mq5
Gösterge
Kapanış fiyatlarının kayan penceresinden aşağı yönlü kayıp serisini oluşturur, uyumu bir çubuk ritmine göre ayarlar, EVT VaR'ı çizer ve renk kodlu kuyruk okumasıyla grafik üzerindeki paneli korur.
Include\EVT\GPDModel.mqh
Kuyruk motoru
CGPDModel sınıfı: eşik seçimi, aşım çıkarma, ALGLIB kısıtlı optimizasyonu ile GPD'nin maksimum olasılık uyumu, VaR ve Beklenen Kayıp (Expected Shortfall) ve her okumayı kontrol eden durum numaralandırması.

Motor, maksimum olasılık hesaplamasını çalıştırmadan önce optimizöre momentler yöntemi tahmini ile başlangıç değeri sağlar ve şekli makul bir aralığa sınırlar; böylece patolojik bir pencere, modeli makul görünen ancak yanlış bir uyuma değil, reddedilen bir uyuma doğru iter.


Araştırma Temeli

Uygulama, Aşırı Değer Teorisi’nin standart Peaks-Over-Threshold (Eşik Üstü Zirveler) yaklaşımını izler: eşik aşımlarının Genelleştirilmiş Pareto Dağılımı’na yakınsaması için Pickands-Balkema-de Haan teoremi, şekil ve ölçeğinin maksimum olasılık tahmini ve Risk Değeri ile Beklenen Kayıp için olağan GPD-POT ifadeleri.

Bu program yalnızca eğitim amaçlıdır. Ticaret yüksek düzeyde risk taşır ve kuyruk tahmini, bir tahmindir; bir sonraki zararın büyüklüğü hakkında bir garanti değildir. Gerçek sermayenizi riske atmadan önce her zaman bir demo hesabında kapsamlı bir şekilde test edin.

Eşlik eden bir makalede, yöntem türetilmekte, motor ve gösterge satır satır incelenmekte ve kuyruk tahmini, Strateji Testçisi’nde nasıl çalıştığını ölçmek üzere pozisyon boyutlandırma Uzman Danışmanı’na entegre edilmektedir: MQL5’te Aşırı Değer Teorisi: Monte Carlo VaR’ın Ötesinde Bir Kuyruk Riski Çöküş Ölçer Oluşturma.

MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/75557

RSI Histogram RSI Histogram

Bu, MetaTrader 5 için geliştirilmiş ve “RSI Histogram” olarak adlandırılan bir MQL5 özel göstergesidir. Standart RSI çizgisini ayrı bir pencerede gösterir; ayrıca, aynı RSI değerlerinin momentumuna göre renk değiştiren, renk kodlu bir histogram versiyonunu da sunar:

IronHawk Fibonacci Structure Map IronHawk Fibonacci Structure Map

Free MT5 indicator that automatically maps Fibonacci levels across multiple timeframes and highlights confluence zones, market structure, premium/discount areas and key price reactions.

GDS Renko Reversal Context GDS Renko Reversal Context

A simple MT5 indicator that shows the current fixed-size Renko run and the exact price level required to confirm a classic two-brick reversal.

GDS Renko Bricks GDS Renko Bricks

A simple real-time classic Renko chart for MetaTrader 5. Set the brick size and the indicator builds equal-width Renko bricks directly from tick data. No offline charts, custom symbols or external libraries are required.