Göstergeler için dinamik dönemler

 
Pek çok gösterge, değerlerini hesaplamak için sözde "dönem" kullanır. Genellikle bu, bir sonraki değerin hesaplanmasında yer alan çubuk sayısıdır . Örnek olarak RSI'yı ele alalım. Çok kabaysa, bu gösterge, fiyatın aşağı inen benzer uzunluğuna bağlı olarak fiyatın "yararlanmasının" uzunluğunun oranını gösterir. Çok kısa periyotlarla, çok uzun periyotlarla - sıfıra yakın hafifçe titreşen bir şey - korkunç bir türbülans elde edilir. Ancak, piyasa her zaman tek tip değildir. Daha doğrusu, her zaman tek tip değildir. İşlem seanslarının değişimi ile ilgili haberlerin yayınlanmasından sonra ve hatta kısa periyotlarda tüm hareketleri yakalamak için periyot çok uzun seçilmemelidir. Öte yandan, uzun bir "uzamış" trend (veya düz) sırasında, kanalındaki dalgalanmaları değil, trendin trendini izlemek için bu süreyi artırmak oldukça mantıklıdır.
Dönemin uzunluğunu değişen koşullara uyarlayan göstergeler oluşturmaya çalışan var mı? Burada, örneğin, "burada", böyle bir aralıkta başka bir gösterge (veya mevcut gösterge içindeki bazı hesaplamalar) olduğunda, bu çubuk için sürenin uzunluğunu orantılı olarak kısaltırız ve bu ve bu koşullar altında (zaten başka bir çubukta) ), aksine, artırın.
Evet ise, sonuçlar nelerdi? ve genel olarak - bu fikirde sağlam bir tane var mı (dönem uzunluğunun otomatik olarak ayarlanması)?
 
Uzun süreli bir daireyi uzun bir trendden nasıl ayırt edeceğini veya genel olarak, bir dairenin bittiğini ve bir trendin başladığını nasıl belirleyeceğini bilen biri varsa. ve göstergeleri buna göre ayarlayın veya aracınızı uyarlayın.
Kase bu olurdu.
 
Sınanmış . Çok ilginç seçenekler var. Örneğin, MA ve stokastiğin bir melezi. Yani MA açısı stokastik periyotları etkiler. Ama kaç seçenek olduğunu hayal edin. Sonuçlar çelişkili ve mantıklı bir şeye gelmedim.
 
ForexTools >> :
да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?

Tahıl var ama uygun bir değirmene ihtiyaç var.

Fikir yeni değil, kod tabanında ve forumda dolaşıp duruyor. Aynı zamanda ve MT5 ile birlikte verilen göstergelerde.

// Akıllı "uyarlanabilir dijital filtreler" adı temelde aynı anlama gelir. Daha doğrusu, fikri biraz genelleştirir.

 
ForexTools >> :
Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?

Bunu referans harmonikleri ile korelasyon yoluyla yapmaya çalıştım,

ama bazen dönemler keskin bir şekilde atlıyor ve sonra orijinaline dönüyor, böylece tüm resmi bozuyor,

ve ayrıca, bu yöntem hala gerçek zamanlı olarak kullanılabiliyorsa çok uzundur, daha sonra test cihazında ve optimizasyon sırasında tamdır.

Genel olarak, konu umut verici.

 
ForexTools >> :
Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?

Evet, denedim. Birçok kez ve farklı şekillerde. Sonuç kesinlikle iyileştirildi (standart uygulamalar için), ancak yine de aynı değil. yazdı - bir ahtapot için bir ceket çifti üzerinde çalışıyor, tk. BP, bir dizi darbe değil, kabul edilir. Burada, örneğin, çok basit bir yöntem (veritabanında önceden düzenlenmiş olanlar hariç): çubuğun aralığı belirtilen eşiğin altındaysa, gösterge süresi 1 artar. Yani, örneğin uzunluğu, ktr cinsinden segmentin uzunluğuna eşit olacaktır. önemli (eşikten daha büyük bir açıklığa sahip) çubuklar vardır. Koşullar, elbette, en çeşitli (elbette mantıklı) ile gelebilirsiniz.

Örneğin, RSI bu temel seçime göre örneğe böyle bakacaktır: 2 pp'den fazla bir aralığa sahip çubuklar seçilir. (periyot gerekli min'e ulaşılana kadar artar; periyot yukarıdan ayarlanmış bir parametre ile sınırlandırılır - burada 14 ila 33 (mavi - normal RSI, kırmızı - bir eşik ile) Aşağıdaki pencere periyodun nasıl değiştiğini gösterir.

0. pencereye bakma - sadece hindiyi silmedin. Onunla hiçbir ilgisi yok. // ))) katsayı üzerinden döneme göre uyarlama da kullanılsa da. EMA

===
Evet. Ama - tekrar ediyorum - bu, hiç yoktan iyidir, ama ...)))
Bu arada, biri bilmiyorsa, örneğin, sözde var. RSI periyodunun da değiştiği ancak RMS'ye bağlı olarak DMI (Dinamik Momentum İndeksi). Açıklamayı Williams ve Chand'de görebilirsiniz.
===
Ve tarif ettiğim basit yaklaşım, örnek uzunluğunun olduğu her şeye uygulanabilir. Daha karmaşık bir şeye ihtiyacınız varsa, özel bir kontrol göstergesi vardır - MsterSlave (veritabanına bakın).

===========
Ve burada, periyot uzunluğunun üst sınırı pratik olarak sınırsızdır. Onlar. RSI periyodu, 2 pp'den fazla bir aralıkla 14 bara ulaşana kadar artacaktır. Gördüğünüz gibi, bunun için, kural olarak, belirli bir enstrümanda 100 çubuk ve TF yeterlidir - başka bir deyişle, süre 100 çubuğu geçmez.
Dosyalar:
_rsi_tr.mq4  3 kb
 
Svinozavr >> :

ama yine de zaten öyle değil. yazdı - bir ahtapot için bir çift palto denemek, çünkü ....

evet, aynı duyguya sahibim. bir belirsizlik (hangi periyod seçilecek) yerine bir başkasını (periyodun uzunluğunu değiştirmek için mekanizmanın nasıl seçileceğini) tanıtıyoruz ve bunun ilkini ortadan kaldıracağını düşünüyoruz.
ancak bir belirsizliği diğeriyle değiştirmekten , görünüşe göre, niteliksel bir sonuç elde edemezsiniz. gözleme, neredeyse felsefe çıktı, tüm bilimlerin anası.
Cevap veren herkese teşekkürler - sindirmeye çalışacağım \ düşün \ bir şeyler bulacağım.
 
Felsefe hakkında şaka olarak yazdım ve sonra düşündüm: Belki bazı genel yasalar fiyat ve onun hareketleri için de geçerlidir? örneğin aynı fizikten: Heisenberg'in belirsizlik ilkesi . "Farklı gruplardan iki parametreyi" aynı anda ölçmek (ve bizim durumumuzda tahmin etmek) gerçekten imkansız olabilir. onlar. zamanın ve fiyatın tam değerini bilebiliriz, ancak hareketinin yönünü, momentumunu bilemeyiz (MA'yı tek bir mum çubuğuyla oluşturamazsınız). ve tam tersi, yönü, momentumu bilerek, fiyatın ne zaman ve nerede olduğunu öğrenemeyeceğiz (MA hiçbir zaman mevcut fiyatla örtüşmez).
 

döneme uyarlanabilir bir gösterge, sistemin bir bölümünün ve bir ticaret fikrinin koduna aktarılmasıdır. Onlar. zamanlama göstergeye değil, ticaret fikrine bağlıdır ve gösterge sadece bir fiyat dönüşümüdür.
TA, piyasada nesnel olarak devam eden süreçleri tespit etmeye ve henüz bitmeden kullanılmasını sağlamaya çalışıyor. Onlar. süreç başlangıçtır ve çizelgedeki olaylar, gelişimin hangi aşamasında olduğunu zamanında belirlemek için bir fırsattır. Bu tz'den. uyarlanabilirlik için dönemin değerini değil, yeni referans noktalarını hesaplamak gerekir. Onlar. belirli bir TA olayı var (arıza, dürtü, vb.) - geri sayımın başladığı yeni bir an var. Aslında bu yeni bir referans noktasıdır. Gösterge, geçerli zamanın referans noktasından ofsetine eşit bir periyoda sahip uyarlanabilir bir pencerede hesaplanır. Yeni bir referans noktası belirlenirse, periyot ondan hesaplanır. Her ne kadar m.b. ve kullanışlı bir seçenek, yeni bir TA olayı meydana geldiğinde, gösterge periyodunun bir miktar varsayılan değer haline gelmesidir, bu aslında bu olayın oluşum fiyatlarını yakalamak anlamına gelir. Veya gösterge periyodunu hesaplamak için bitişik TA olayları arasındaki süreyi kullanın.

 

Uzmanların sohbetine müdahale etmeye ve yemek tarifime katkıda bulunmaya karar verdim. Son birkaç yıldır, hemen hemen tüm göstergeleri adaptif olarak değişen parametrelerle yapıyorum. Piyasada ilkel çözümler işe yaramıyor, ben bu sonuca uzun zaman önce vardım ve uzun zamandır tam adaptif bir sistem yapma fikrini besliyorum ama henüz elim ona ulaşmadı, Göstergelerde ayrı uyarlama parçaları yapıyorum. Örnek olarak son göstergeden bir parça verebilirim. Genel olarak, gösterge, her biri kendi hedef sinyallerini üreten birkaç fonksiyonel bloktan oluşur, toplamda 24 sinyal vardır, kanalları oluşturan sadece bir blok vereceğim. Zaman dilimlerini ve enstrümanları değiştirmek için henüz otomatik ayarlama yapmadım, bu nedenle her seçenek için parametrelerin ayrı ayrı ayarlanması gerekiyor.

 //=====================================================================================================================================
extern int PIB= 33 ;
extern int PIS= 37 ;
extern double PMB= 3.98 ;
extern double PMS= 3.98 ;
//====================================================================================================================================

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init() {

        PPB= NormalizeDouble (PIB* Point , Digits );
        PPS= NormalizeDouble (PIS* Point , Digits );
        PMB= NormalizeDouble (PMB* Point , Digits );
        PMS= NormalizeDouble (PMS* Point , Digits );
           }
uzman başlatma işlevi:

     PR= NormalizeDouble ((High[ 1 ]-Low[ 1 ])+(High[ 2 ]-Low[ 2 ])+(High[ 3 ]-Low[ 3 ])+(High[ 4 ]-Low[ 4 ])+(High[ 5 ]-Low[ 5 ])+(High[ 6 ]-Low[ 6 ])+(High[ 7 ]-Low[ 7 ]), Digits );
     PRB= NormalizeDouble (PMB/PR, Digits ); 
     PRS= NormalizeDouble (PMS/PR, Digits ); 
      
      BTH[ 0 ]=High[ 0 ]-PR/ 17 -PRB/ 2 ;
   if (( MathAbs (BTH[ 0 ]-BTH[ 1 ])<=PPB))
      BTH[ 0 ]=BTH[ 1 ];
      
      BTC[ 0 ]=Close[ 0 ]-PR/ 10 ;
   if (( MathAbs (BTC[ 0 ]-BTC[ 1 ])<=PPB))
      BTC[ 0 ]=BTC[ 1 ];
      
      BTC[ 0 ]= 0.4 *BTC[ 0 ]+ 0.6 *BTC[ 1 ];
      
      BTL[ 0 ]=Low[ 0 ]-PR/ 17 +PRB/ 2 ;
   if (( MathAbs (BTL[ 0 ]-BTL[ 1 ])<=PPB))
      BTL[ 0 ]=BTL[ 1 ];
  
      STH[ 0 ]=High[ 0 ]+PR/ 17 -PRS/ 2 ;
   if (( MathAbs (STH[ 0 ]-STH[ 1 ])<=PPS))
      STH[ 0 ]=STH[ 1 ];
      
      STC[ 0 ]=Close[ 0 ]+PR/ 10 ;
   if (( MathAbs (STC[ 0 ]-STC[ 1 ])<=PPS))
      STC[ 0 ]=STC[ 1 ];
      
      STC[ 0 ]= 0.4 *STC[ 0 ]+ 0.6 *STC[ 1 ];
      
      STL[ 0 ]=Low[ 0 ]+PR/ 17 +PRS/ 2 ;
   if (( MathAbs (STL[ 0 ]-STL[ 1 ])<=PPS))
      STL[ 0 ]=STL[ 1 ];
Gördüğünüz gibi, kanal parametreleri, son birkaç çubuğun ortalama dinamik göstergelerine bağlı olarak uyarlanabilir şekilde ayarlanır.
Sonuç bu resim:


VTH - mavi, BTC - sarı, BTL - pembe, STH - mavi, STC - kırmızı, STL - mor;
Tabii ki, bu aynı zamanda basitleştirilmiş bir yaklaşımdır, piyasanın değişen aşamalarına daha doğru uyum sağlamak için daha karmaşık bir çözüme ihtiyaç vardır, ancak yine de bu seçenek göstergenin özelliklerini önemli ölçüde iyileştirir.
 
son gelişimim