랜덤 흐름 이론과 FOREX - 페이지 59

 
AlexEro >> :


AVATOR 변경

 
begemot61 >> :

+10!!!

그리고 카트를 타는 것이 좋습니다. 건강을 위해 더 유용하며 일반 도로가 필요하지 않습니다.

도중에 그는 톤 주파수 채널이 그에게 유해하기 때문에 전화조차 사용하지 않습니다(Kanachikov의 dacha에서 그들은 아마도 어쨌든 전화할 곳을 주지 않을 것입니다)

 

전문가들은 MP3 플레이어의 청력 손상에 대해 우려하고 있습니다.

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

 
글쎄, 좋고 유용한 것을 찾는 것이 아니라 그러한 것을 발굴하는 것이 필요했습니다 ...

나는 당신이 Malakhov 를 읽을 것을 제안합니다. 당신을 위한 흥미로운 것들이 많이 있습니다, go daraga ...

 

timbo писал(а) >>

고정 랜덤 프로세스에 대한 수익성 있는 전략은 시간을 희생하여 생성됩니다.

당신은 한 번 말합니다.
게으르지 말고 정규 분포를 사용하는 프로세스에서 승리 전략을 모델링하는 mql 스크립트를 작성하십시오.
내가 이것으로 얼마나 일했는지 - 나는 항상이 작업이 결코 사소하지 않다는 사실을 알게되었습니다. 일반적으로 정지된 프로세스에서 결과를 얻으려고 할 때 두 가지 결과 중 하나를 얻습니다. 거래 기대 = 0, 또는 이익이 너무 미미하여 자금을 은행에 보관하는 것이 좋습니다. 적어도 어느 정도 이득이 가시화되는 방식으로 문제를 해결할 수 있다고 생각하지만 쉽지 않다.

동시에 저는 사람들에게 호소합니다. (0,1) 범위의 정규 분포를 가진 값을 반환하는 함수가 있는 사람이 있습니까? 어제 나는 하루 종일 죽였지만 mql에서 구현하는 방법을 알지 못했습니다.

 
benik писал(а) >>

동시에 저는 사람들에게 호소합니다. (0,1) 범위의 정규 분포를 가진 값을 반환하는 함수가 있는 사람이 있습니까? 어제 나는 하루 종일 죽였지만 mql에서 구현하는 방법을 알지 못했습니다.

이것은 MQL MahtRand() 함수를 사용하여 스스로 구현하기가 매우 쉽습니다. 0에서 32767 사이의 균일한 분포를 가진 의사 난수 정수를 반환하는 것으로 알려져 있습니다. 그리고 정규 분포 PDF는 숫자 축 [0, inf.] 또는 간격 [0, 1]을 표시합니다. 따라서 정규 분포 값을 얻으려면 간격 [0, 1]을 Ox 축에 역 매핑하면 됩니다. 유일한 질문은 인수가 무작위로 선택된다는 것입니다. 이것이 MahtRand()가 사용되는 것입니다.

즉, 먼저 숫자 형식 [x, F (x)]의 정규 분포의 PDF 값 테이블을 프로그램에로드하십시오.

다음으로 [1, 32767]을 (0, 1), f(x) = x/32768에 균일하게 매핑하는 함수를 정의합니다. 보시다시피 0과 1 값은 간격에서 제외됩니다. 따라서 x=0 값도 건너뛰어야 합니다. 이러한 에지 효과는 다양한 방식으로 고려할 수 있지만 그다지 중요하지 않습니다.

이제 MahtRand()를 사용하여 의사 난수 계열을 생성하고, 얻은 각 값을 단위 간격에 매핑하고, 이 점을 정규 분포 F(x)의 PDF 값으로 사용하고, 해당 인수 x를 찾습니다. 모두. 이것은 정규 분포 수량입니다.

 

Yurixx писал(а) >>


예, 이것은 옵션입니다. 그러나 나는 여전히 mql에서 자율 기능을 만들고 싶습니다. 외부에서 임의의 값을 다운로드하지 않습니다.
내가 아는 한, 정규분포는 (0,1) 구간에서 균일한 값의 역 라플라스 함수를 취함으로써 균일분포로부터 쉽게 얻을 수 있다.
웃고 싶지만 MathRand()/32768에서 라플라스 함수의 역수를 취하는 데 문제가 있었습니다.

따라서 여기에서는 아이디어에 따라 "RandN (0-1).csv" 파일에 (0,1) 간격으로 동일한 일반 값을 출력하도록 되어 있는 스크립트를 게시하고 있습니다.

 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 ) ;
   }
물론 엉뚱한 짓을 하는 모습을 보이기도 하지만, 나는 이미 그것을 다듬을 힘이 없다. 누군가가 시간과 욕망이 있다면 수정할 수 있습니다. 여기서 오류는 Laplace 함수 대신 RandN() 함수가 분포 밀도를 계산한다는 것입니다. 누군가가 이 함수의 적분을 계산하는 것이 어렵지 않다면 대중과 공유하십시오. 나에게 이제는 mql에서 적분을 계산하는 방법을 생각하는 것이 어려운 작업입니다.
 

베닉 , 여기에 뭔가가 있습니다. 스스로 알아낼 것인가?

 
감사합니다. 살펴보겠습니다. 오늘에서야 확실히 알 수 없습니다 :) 내 머리는 이미 "압박"입니다. 나는 내일 시도할 것이다.
 
그리고 정규분포를 위한 기성 함수가 있습니다. 네, 감사합니다.