Yazarın diyalogu. Alexander Smirnov. - sayfa 5

 
Prival :

ASmirnoff 25.01.2008 11:08


Aşağıdaki sorulara vereceğiniz cevaplar benim için önemli: 1. Kimin algoritması daha iyi: benimki mi yoksa Dzhurika mı? Ne kadar daha iyi? 2. Jurik'in algoritmasına sahip misiniz? 3. Nasıl farklılar?

Bu forumda görünmene çok sevindim. Ve araştırma konusunda yardımcı olmak isterim. Maalesef burada ( 'Minimum gecikmeli etkili ortalama alma algoritmaları ve göstergelerde kullanımları' ) bunların "gerçek" Jurik'in algoritmaları olduğunu söyleyemem. Ama bence onları ve diğerlerini kullanabilirsin. Karşılaştırma için filtrelerimden bazılarını sunmaya hazırım, ancak daha fazlasını aşağıda bulabilirsiniz.


Benim önerim aşağıdaki gibidir. 2 göstergeyi karşılaştırmamız ve hangisinin daha iyi olduğu sorusuna cevap vermemiz gerekirse. Öncelikle kriterleri belirlemeniz gerekir. Birkaç tane varsa, bir evrişim gerçekleştirebilirsiniz. Ana şey, sadece bir göstergenin diğerinden daha iyi olduğuna dair felsefi bir ifade değil, bunun tam bir matematiksel kanıtıdır. Ayrıca, ne kadar daha iyi sorusunu tam olarak nasıl sordunuz?


Bu nedenle, ilk aşamada aşağıdaki kavramları tanımlamak istiyorum (MA'nın eksikliklerini makalenizden alıyorum)

  1. Ortalama gecikme süresi. Zamanın hangi noktasında nerede ve nasıl hesaplayacağız? Neye ihtiyacınız olduğuna karar verin enterpolasyon veya ekstrapolasyon? Yoksa burada ve orada karşılaştırmalar mı yapalım?
  2. Nispeten yüksek oynaklık ... Makalede ayrıca, Slutsky-Yul etkisi Gibbs fenomeni mi yoksa başka bir şey mi? (Gibbs fenomenini açıklayan bir dosya ektedir). Bu temelde farklı bir şeyse, okumak istiyorum, malzemeye sahip olan, lütfen paylaşın.
  3. Lütfen " doğrusal frekans bozulmasının etkisi" kavramını açın.
  4. "Bu eğilimleri belirli bir önyargı ile izole ederek doğrusal olmayan fiyat eğilimlerinin doğrusallaştırılması".

Trendden ne anlıyorsunuz, lütfen formüle edin. Doğrusal olmayan bir fiyat eğiliminden ne anlıyorsunuz, aynı formül + neyin neye ve nasıl göre kaydırıldığı, neyin öne çıktığı arzu edilir.


Gerçek şu ki, herhangi iki göstergeyi karşılaştırmak için onlara girdi olarak bir şeyler vermeniz gerekir. Hangisinin daha iyi filtrelediği (yumuşatır, gecikme vb.) sorusuna cevap vermek için, girdi olarak ne beslediğimizi, gerçeği bilmeniz gerekir. Parametrelerini bildiğimiz gürültülü bir sinüzoid varsayalım.


bu veri dizisini filtreleyerek (düzelterek), filtrelerden hangisinin gerçeği en iyi şekilde vurguladığını belirleyebiliriz, çünkü bunu biliyoruz (mavi eğri).

Çeşitli giriş sinyallerini sentezlemek mümkündür, diyelim ki Jurik'in göstergesinin üstünlüğünü göstermek için kullandığı ile aynı. ( http://www.jurikres.com/catalog/ms_ama.htm#top ). Ana şey ne karar vermektir.

Çalışmanın son aşamasında, parametreleri, frekans yanıtı, faz yanıtı ve ACF açısından sitede seçtiğiniz herhangi bir para biriminin fiyat aralığıyla örtüşen sentetikleri (yapay fiyat aralığı) ortaya koymaya hazırım, örneğin, bir hafta. Burada, 'Rastgele akışlar teorisi ve FOREX'e benzer bir şey yaptık. Kalman ve Butterworth filtreleri karşılaştırıldı.


Makalede, bir tür durağan modun frekans yanıtı ve faz yanıtı ve bazı orijinal kriterlerden bahsediyorsunuz.

Eğer bir tür sabit durum elde etmeyi başardıysanız, artı sinyalin frekans yanıtı ve faz yanıtı durağan ise, tüm DSP bilginizi uygulamaya ve optimale yakın bir dijital filtre sentezlemeye hazırsınız demektir. Bayes'e göre bunun yürümeyeceğini düşünüyorum çünkü. a priori verilerin yeterli eksiksizliğine ihtiyaç vardır (ki bu nadiren olur), ancak maksimum olabilirlik veya ideal bir gözlemci kriterine göre bunu yapabileceğimi düşünüyorum. Yalnızca sinyalin (en azından frekans yanıtında) ve gürültünün ne olduğuna karar vermek gerekli olacaktır.

Aslında Jurik'in algoritmasının kendisine bile ihtiyacım yok. Gerçek Jurik algoritmasının çıktısında 50-100 barlık bir fiyat grafiği segmentine ve bir çıktı ürününe ihtiyacımız var. Daha sonra, darbe tepkisi okumalarının tahminleri bulunacak ve istenen algoritmanın kendisi sentezlenecektir.

 
Integer :
ASmirnoff :

..."VS"deki makaleleri sizin için büyük ilgi görüyor


Bu, "VS" de görev yaparken okuduğumuz "Komando Adayı" nın yazarı olduğunuz anlamına mı geliyor? :-)

1. Kimin algoritması daha iyi: benimki mi yoksa Dzhurika mı? Ne kadar daha iyi?

Ayna ışığımı söyle, tüm gerçeği söyle ...


2. Jurik'in algoritmasına sahip misiniz?

3. Nasıl farklılar?


Alexander, ilginç sorular, makalenin bu kadar gürültülü bir başlığından sonra. Madem bu işin içindesin, neden Jurik'in kodunu alıp demonte etmiyorsun ve algoritmayı anlıyorsun, madem bu konu bilim için?

Bugün TAR'da o kadar çok su var ki, bu yazıların ilgi çekici olduğu çok az nitelikli açıklama var. Gösterge algoritmalarının korelasyon analizi, yaklaşık %10-15'inin gerçekten özgün ve birbirinden bağımsız olduğunu göstermiştir. Dzhurik "beyni" nden para kazanıyor. Sana fikirlerimi bedavaya sundum. Muhtemelen bunun için minnettar olmalısın.
 
ASmirnoff :
nötron :

Evet her zaman lütfen!

Makaleyi gözden geçirdi. Yazarı anlamadığıma eminim!

Düzleştirme algoritmasını kullanırken grup gecikmesinin (GD) oluşumu hakkında söylendiği yerde, yazar, ikinci bir ters çalıştırma kullanarak "kurtulmak" için bir reçete sunar. .. Bu nedir, şaka mı? Gündelik (VR'nin sağ ucunda çalışan) sistemler için GZ'nin prensipte ortadan kaldırılamayacağı bilinmektedir. Ama tabii VR tanımlanmışsa ve onunla satırın ortasında (sağ kenarda değil) çalışmayı planlıyorsak, o zaman yazarın önerdiği gibi, VR ile yeniden ortalama alarak gecikmeden kurtulabiliriz. aynı parametreler ters yönde. Ancak, yazar neden böyle bir ortalama alma algoritması ile yeniden çizmenin kaçınılmaz olarak son çubukta görüneceğine sessiz kalıyor. Unuttu mu yoksa bilmiyor mu? Ya da başka ne var?

İşte makaleden bir alıntı:

"Böylece, yukarıda ele alınan teklifin yardımıyla, m / 2 zaman gecikmesini kısmen telafi etmek mümkündür (geleneksel hareketli ortalamanın ilk dezavantajını ortadan kaldırır). ... Ve ikinci olumsuz etki ortadan kaldırılır ... Her ikisi de üçüncü ve dördüncü...

Önerilen ortalama alma algoritmasının kullanılması, doğrusal frekans bozulmalarını da önemli ölçüde azaltır. "

Grup gecikme tazminatı fikri bana değil, Amerikalı bilim adamlarına aittir. Ancak, gerçek zamanın dışında "çalıştı". Örneğin, radyo astronomisinde. Başarım, sentetik hareketli ortalama şeklinde pratik bir algoritma sunabilmemdir. Meslektaşım, sözde bilimsel bir anlaşmazlığa başlamadan önce "maddi kısmı" incelemeniz gerekiyor.


Beni matematiksel kısma geri göndermeden önce, doğrudan soruyu yanıtlayın: "Meslektaşım", ortalama eğrisinin sağ kenarının sürekli olarak yeniden çizilmesini içeriyorsa, finansal zaman serilerini analiz etmek için algoritmanızın pratik değerini ne görüyorsunuz? Bizim (tüccarlar, MTS) karar vermemiz gereken en uç nokta!

Ve lütfen Amerikalılara, astronotlara vb. hitap etmeyin, hepsi bu sorunu görevleriyle ilgili olarak çözdüler ve sizin aksine "mükemmel" çözdüklerinden şüphem yok. Yine de, algoritmanızı entegre rastgele gürültü üzerinde çalıştırırsanız, aynı şekilde onu da düzeltecektir. Ne, şimdi prensipte imkansız olan geleceği tahmin edebileceğinizi mi iddia edeceksiniz? Umarım değildir, çünkü eğrinin sağ kenarına bakarsanız, deneysel noktalardan ne kadar farklı olduğunu (düzleştirme bölümünün geri kalanına kıyasla) görebilirsiniz. Ve ancak adil bir sarsıntıdan sonra (yaklaşık m/2 puan), "saygıdeğer" bir konuma gelir. Sadece şimdi bundan sıcak değiliz, soğuk değiliz. Başka bir deyişle, tüm ince binanızın (neredeyse hiç FZ, GZ, düşük "salınım" vb. yok), emmiş gibi göründüğü bir temel (ters çalışma kullanma olasılığı) üzerinde durduğunu söylemek istiyorum. parmağınızdır ve pazar analizi için geçerli değildir.

Kral! Ben, "VS" deki makaleleri büyük ilginizi çeken aynı Alexander Smirnov'um. Ben bir bilim insanıyım ama geçmişte pratik bir tüccarım. TAR'da çok iyiyim. Uygulamalı matematikçi.
:-)
 
ASmirnoff : "Kolay" algoritma doğrudur, ancak onu uygulayan programcının bu dilde deneyimi yoktur. Gerçeğin ölçütü pratiktir. Bu algoritma, ortalama alma penceresinin boyutundan bağımsız olarak, ortalama alma ürününün 1 bar gecikmesini sağlar.

Gecikmenin sadece 1 bar olması çok iyi. Bir şekilde kendi gözlerinizle görmek mümkün mü? Hazır göstergesini nereden alabilirim?
 
LeoV , bu dinamiklerde görülmeli. Mükemmel dürtü yanıtına sahip, keyfi olarak düzgün bir eğri, yeniden çizilirse (problemlerimize uygulandığı gibi) değersizdir.
 
Mathemat :
LeoV , bu dinamiklerde görülmeli. Mükemmel dürtü yanıtına sahip, keyfi olarak düzgün bir eğri, yeniden çizilirse (problemlerimize uygulandığı gibi) değersizdir.

Ne o, yeniden mi çiziyor? O halde görevlerimiz için geçerli değil. SSA (tırtıl) algoritması da iyi bir algoritma ama ne yazık ki yeniden çiziyor......
 

Bir şekilde kendi gözlerinizle görmek mümkün mü? Hazır göstergesini nereden alabilirim?


Iazi'den tercüme etmeye çalışıyorum:


 //+------------------------------------------------------------------+
//|                                                   SmirnoffMA.mq4 |
//+------------------------------------------------------------------+
#property copyright " Smirnoff moving average "
#property link      " www.spekulant.ru "
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int per = 4 ;   // должна быть кратна 4!(4,8,12,и т.д.)
//---- buffers
double ExtMapBuffer1 [] ;
//----
int n ;
double alf = 0.0 , q1 [] , q2 [] ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ()
  {
//---- indicators
   SetIndexStyle ( 0 , DRAW_LINE ) ;
   SetIndexBuffer ( 0 , ExtMapBuffer1 ) ;
   //
   alf = 2.0 / ( per / 2 + 1 ) ;
   n = per - 1 ;
   ArrayResize ( q1 , per ) ; ArrayResize ( q2 , per ) ;
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit ()
  {
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ()
  {
   int    counted_bars = IndicatorCounted () ;
   if ( counted_bars < 0 )    return ( - 1 ) ;
   if ( per % 4 != 0 )            return ( - 1 ) ;
   int lm = Bars - counted_bars + 1 ; 
   //----
   for ( int shift = 0 ; shift < lm ; shift ++ )
      { q1 [ 0 ] = Close [ shift ] ;
       for ( int j = 1 ; j < per ; j ++ ) q1 [ j ] = q1 [ j - 1 ] + alf * ( Close [ shift + j ] - q1 [ j - 1 ]) ;
       for ( int s = 1 ; s < per / 2 ; s ++ )
          { for ( j = 0 ; j < per ; j ++ ) q2 [ j ] = q1 [ n - j ] ;
           q1 [ 0 ] = q2 [ 0 ] ;
           for ( j = 1 ; j < per ; j ++ ) q1 [ j ] = q1 [ j - 1 ] + alf * ( q2 [ j ] - q1 [ j - 1 ]) ;
          }
       ExtMapBuffer1 [ shift ] = q1 [ n ] ;
      }
   //----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
Dosyalar:
 
zigan : tercüme etmeye çalışmak:

Yani bu gösterge yeniden çiziyor mu, çizmiyor mu?
 
hayır.
 

İskender! Böyle mi görünmeli? Mavi - zigan'ın algoritmanıza göre yaptığı şey, deniz rengi - Code Base'den JMA. Her ikisinin de değeri 12'dir.

İşte başka bir resim - parametre her iki eğri için de 4 olduğunda:

Sonuçlar ( zigan algoritması doğru çevrilmişse):

1. Eğriniz "dikenli".

2. Parametreyi artırdığınızda, eğrinizin bir alt örtüşmesi vardır, yani. Jurik, güçlü hareketleri daha iyi çalıştırır.