Rastgele Akış Teorisi ve FOREX - sayfa 59

 
AlexEro >> :


AVATOR'U DEĞİŞTİR

 
begemot61 >> :

+10!!!

Ve bir arabaya binmek daha iyidir. Sağlık için daha kullanışlıdır ve normal yollara ihtiyaç yoktur.

bu arada, ton frekans kanalı onun için zararlı olduğu için telefon bile kullanmıyor (ancak Kanatchikov'un kulübesinden muhtemelen aramak için hiçbir yer vermiyorlar)

 

Uzmanlar MP3 çalarlardan gelen işitme duyusunun zarar görmesinden endişe ediyor

http://www.smh.com.au/news/digital-music/turn-it-down/2007/01/04/1167777193761.html?from=rss

 
İyi ve faydalı bir şey bulmak değil, böyle bir şey ortaya çıkarmak gerekliydi ...

Malakhov'u okumanızı öneririm. Senin için çok ilginç şeyler var, git canım...

 

timbo писал(а) >>

Durağan rastgele bir süreçte karlı bir strateji, zamanların pahasına yaratılır.

Bir kere diyorsun.
Lütfen tembel olmayın, normal dağılıma sahip bir süreç üzerinde kazanan bir stratejiyi modelleyecek bir mql betiği yazın.
Bununla ne kadar çalıştım - her zaman bu görevin hiç de önemsiz olmadığı gerçeğiyle karşılaştım. Kural olarak, durağan bir süreçten bir getiri elde etmeye çalışırken, iki sonuçtan birini elde ederiz: ya mate. işlem beklentisi = 0 veya kâr o kadar yetersiz ki paranızı bankada tutmak daha iyi. Bence sorun öyle bir şekilde çözülebilir ki, kazanç en azından biraz somut olabilir, ancak bu kolay değil.

Aynı zamanda insanlara sesleniyorum: (0,1) aralığında normal dağılıma sahip bir değer döndüren bir işlevi olan var mı? Dün bütün günü öldürdüm ama mql'de nasıl uygulanacağını bulamadım.

 
benik писал(а) >>

Aynı zamanda insanlara sesleniyorum: (0,1) aralığında normal dağılıma sahip bir değer döndüren bir işlevi olan var mı? Dün bütün günü öldürdüm ama mql'de nasıl uygulanacağını bulamadım.

Bunu MQL MahtRand() işlevini kullanarak kendi başınıza uygulamak oldukça kolaydır. 0 ile 32767 aralığında düzgün dağılıma sahip sözde rastgele bir tamsayı döndürdüğü bilinmektedir. Ve normal dağılım PDF'si sayısal ekseni [0, enf.] veya [0, 1] aralığını görüntüler. Bu nedenle, normal olarak dağıtılmış bir değer elde etmek için, sadece [0, 1] aralığının Ox eksenine ters eşlemesini almanız gerekir. Tek soru, argümanın rastgele seçilmesidir. MahtRand() bunun için kullanılır.

Yani başlangıç olarak normal dağılımın PDF değerleri tablosunu sayısal biçimde [x, F (x)] programa yükleyin.

Ardından, [1, 32767] ile (0, 1), f(x) = x/32768 arasında düzgün bir şekilde eşleyen bir fonksiyon tanımlarsınız. Gördüğünüz gibi 0 ve 1 değerleri aralıktan hariç tutulmuştur. Bu nedenle x=0 değeri de atlanmalıdır. Bu kenar etkileri farklı şekillerde dikkate alınabilir, ancak çok az önem taşırlar.

Şimdi MahtRand() kullanarak sözde rastgele bir dizi oluşturun, elde edilen değerlerin her birini bir birim aralığına eşleyin, bu noktayı F(x) normal dağılımının PDF değeri olarak kullanın, karşılık gelen x argümanını bulun. Herşey. Bu normal dağılan miktardır.

 

Yurixx писал(а) >>


Evet, bu bir seçenek. Ama yine de mql'de özerk bir işlev yapmak istiyorum. Dışarıdan rastgele değerlerin indirilmesi yok.
Bildiğim kadarıyla (0,1) aralığındaki düzgün değerin ters Laplace fonksiyonu alınarak düzgün bir dağılımdan normal bir dağılım kolayca elde edilebilir.
Gülmek istiyorsunuz ama MathRand() / 32768'den Laplace fonksiyonunun tersini almakta sorun yaşadım.

Bu nedenle, burada, fikre göre, (0,1) aralığında aynı normal değeri "RandN (0-1).csv" dosyasına vermesi gereken bir komut dosyası gönderiyorum.

 int start ( )
   {
//----
       string FileName = "RandN(0-1).csv" ;
       int handle = FileOpen ( FileName , FILE_CSV | FILE_WRITE ) ;
       MathSrand ( GetTickCount ( ) ) ;
       for ( int i = 1 ; i < = 32768 ; i + + )
       {
         double val = RandN ( 0 , 1 ) ;
         FileWrite ( handle , val ) ;
       }
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+

   double RandN ( int a , int sigma )
   {
       double pi = 3.14159265 ;
       double exp = 2.71828183 ;
       double x = MathRand ( ) / 32768.0 ;
       double pow = - ( MathPow ( x - a , 2.0 ) / ( 2 * MathPow ( sigma , 2.0 ) ) ) ;
       double f = ( 1 / ( sigma * MathSqrt ( 2 * pi ) ) ) * MathPow ( exp , pow ) ;
       return ( f ) ;
   }
Tabii ki, bir tür saçmalık sergiliyor, ama zaten onu düzeltecek gücüm yok. Birinin zamanı ve arzusu varsa, onu değiştirebilirsiniz. Buradaki hata, Laplace işlevi yerine RandN() işlevinin dağıtım yoğunluğunu hesaplamasıdır. Bu fonksiyonun integralini hesaplamak biri için zor değilse lütfen kamuoyu ile paylaşın. Benim için artık zor bir iştir - integralin mql cinsinden nasıl hesaplanacağını düşünmek.
 

benik , burada bir şey var. Kendin çözecek misin?

 
Teşekkürler, bir bakacağım. Sadece bugün tam olarak çözemiyorum :) Kafam zaten “sıkışık”. Yarın deneyeceğim.
 
Ve normal dağılım için hazır bir fonksiyon var. Evet, bunun için teşekkür ederim.
Neden: