무작위 가격 범위에서 이익 - 페이지 8

 
avatara :

이 주제는 나처럼 더 논의할 가치가 있습니다. 시간이 지남에 따라 생각하고 배울 것이 있었습니다.

또한 Fisher 변환은 그대로 설명됩니다 ...

;)

테스트 시리즈를 생성하기 위해 두 개의 스크립트를 빠르게 만들었습니다. (균일하고 정상적인 증분의 경우).

성급한 코드에 강박과 게으름으로 나를 걷어차지 마십시오...

다른 확장기와 마찬가지로 Fisher 변환은 간격의 상한 및 하한 근처와 한계(경계 자체)에서 무한 계수로 샷 노이즈를 크게 증폭합니다. 시장의 경우 이것은 의미가 있습니다. 모든 가격은 Point에 의해 양자화됩니다. 즉, 어느 정도 모든 지표를 의미합니다.
 
NorthernWind :

하지만 위 링크에서 제안한 대로 플레이하면 mo=0인 랜덤워크에서 확실히 이길 수 있습니다. 그러나 다시 한 번 반복하지만, 이것은 우리가 정리에서 말하는 것과 같은 게임이 아닙니다. 동시에 역설적인 상황이 발생하여 더 많이 잘못 추측할수록 더 많은 돈을 벌게 됩니다. 다시 한 번 말씀드리지만, 이 게임은 현실과 무관하며 정확한 테스트의 중요성을 알리기 위해 제작되었습니다. 사실은 승패가 과소평가되어 거기에 상금이 쌓이는 것입니다. 하도록 하다.

내가 제안한 것과 같은 게임을 할 수 있다면 분명히 부자가 될 것입니다. :) 그리고 나는 이 게임에서의 배포 또한 매우 중요하다고 덧붙이고 싶습니다. 이 게임은 일부 유형의 랜덤 워크에서는 실현 가능하지 않습니다.

추신. 논의 중인 내용을 고려하지 않고 기존 배포판을 다른 배포판으로 변환하면 때때로 실제로 이점을 얻을 수 있지만 매우 불안정합니다.

아이디어를 올바르게 이해했다면 증분의 정규 분포로 "가격"을 빠르게 확인하는 코드를 스케치했습니다.

 #property strict

extern int AmountPrices = 10000 ;
extern int TakeProfit = 100 ;
extern int StopLoss = 100 ;
extern double point = 0.0001 ;
extern int Temp = 0 ;

#define MAX_RAND 32767.0

double GetRand()
{
   return ( 2 * MathRand () / MAX_RAND - 1 );
}

void GetRandGauss( double & Rand1, double & Rand2 )
{
   double X1, X2, W = 2 ;
  
   while (W >= 1 )
  {
    X1 = GetRand();
    X2 = GetRand();
    
    W = X1 * X1 + X2 * X2;
  }
  
  W = MathSqrt (- 2 * MathLog (W) / W);
  
  Rand1 = X1 * W;
  Rand2 = X2 * W;
    
   return ;
}

void GetPrices( double &Prices[], int Amount )
{
   static uint Tmp = 0 ;
   double Rand1, Rand2;
  
   MathSrand (( int ) TimeLocal () + Tmp);
  
  Amount <<= 1 ;
  
   ArrayResize (Prices, Amount);
  
  Prices[ 0 ] = 0 ;
  
   for ( int i = 2 ; i < Amount; i += 2 )
  {
    GetRandGauss(Rand1, Rand2);
    Prices[i - 1 ] = Prices[i - 2 ] + Rand1;
    Prices[i] = Prices[i - 1 ] + Rand2;    
  }
  
  Tmp += GetTickCount ();
  
   return ;
}

void NormalizeArray( double &Array[] )
{
   const int Size = ArraySize (Array);
   const double Interval = ArrayMaximum (Array) - ArrayMinimum (Array);  
  
   for ( int i = 0 ; i < Size; i++)
    Array[i] /= Interval;
    
   return ;
}

double System( const double &Prices[], const double TP, const double SL )
{
   const int Amount = ArraySize (Prices);
   bool Flag = TRUE;
   double OpenPrice = Prices[ 0 ];
   double Balance = 0 ;
  
   for ( int i = 0 ; i < Amount; i++)
  {
     if (Flag)
    {
       if ((Prices[i] >= OpenPrice + TP) || (Prices[i] <= OpenPrice - SL))
      {
        Balance += Prices[i] - OpenPrice;
        
        Flag = ( MathRand () > ( SHORT_MAX + 1 ) / 2 - 1 );  
        OpenPrice = Prices[i];
      }
    }
     else if ((Prices[i] <= OpenPrice - TP) || (Prices[i] >= OpenPrice + SL))
    {
      Balance -= Prices[i] - OpenPrice;

      Flag = ( MathRand () > ( SHORT_MAX + 1 ) / 2 - 1 );  
      OpenPrice = Prices[i];
    }
  }
  
   return (Balance);
}

double GetRandProfit( int Amount, const double TP, const double SL )
{
   double Prices[];
   
   GetPrices(Prices, Amount >> 1 );
   NormalizeArray(Prices);
   
   return (System(Prices, TP, SL));  
}


double OnTester ( void )
{
   return (GetRandProfit(AmountPrices, TakeProfit * point, StopLoss * point));
}

사용자 정의 기준에 의한 최적화(테이크 앤 로스)는 고대 신화(또는 광산)의 예상 실패를 이미 분명히 보여주었습니다.

 
hrenfx :

아이디어를 올바르게 이해했다면 증분의 정규 분포로 "가격"을 빠르게 확인하는 코드를 스케치했습니다.

사용자 정의 기준에 의한 최적화(테이크 앤 로스)는 고대 신화(또는 광산)의 예상 실패를 이미 분명히 보여주었습니다.

선생님, 당신의 부인은 비교적 최근에 떠났습니다.
 
hrenfx :

아이디어를 올바르게 이해했다면 증분의 정규 분포로 "가격"을 빠르게 확인하는 코드를 스케치했습니다.

사용자 정의 기준에 의한 최적화(테이크 앤 로스)는 고대 신화 (또는 광산)의 예상 실패를 이미 분명히 보여주었습니다.

무엇에 대한 신화?
 
ZaPutina :
무엇에 대한 신화?

일부 삼촌은 생성된 SB 가격(보다 구체적으로 정규 분포를 통한 증분)에 대해 수익성 있는 TS를 생성할 가능성에 대해 논쟁했습니다. 우리는 TS를 공식화하고 많은 연구를 수행했습니다 ...

이 주제와 간접적으로 관련된 비공개 토론 덕분에 여기까지 왔습니다. 아마도 미래의 언젠가는 회의론자가 나타나서 불필요한 인증 코드를 대중에게 스케치하기로 결정했습니다.

 

hrenfx용이지만 다른 배포판과 함께 사용해 보시겠습니까? 예를 들어 - 시장 가격(인공적으로 생성됨). 글쎄, 간식을 위해 - 그리고 어떤 분배로 이익을 얻을 수 있습니까?

 
YOUNGA :

hrenfx용이지만 다른 배포판과 함께 사용해 보시겠습니까? 예를 들어 - 시장 가격(인공적으로 생성됨). 글쎄, 간식을 위해 - 그리고 어떤 분배로 이익을 얻을 수 있습니까?

보장된 이익은 "푹신한" 가격으로 짜낼 수 있습니다. 이에 대한 플러피니스의 정의와 TS의 공식화에 대해서는 언급하지 않겠습니다. 아마도 다른 곳일 것입니다. 이 모든 것은 실제 거래와 거의 관련이 없습니다.

코드는 모든 배포에 대해 다시 작성할 수 있습니다. 이렇게 하려면 GetRandGauss 함수만 원하는 분포의 분위수 함수 로 교체해야 합니다. 이 함수는 균일하게 분포된(MathRand) 확률 변수를 해당 분포로 변환합니다.

 
hrenfx :

보장된 이익은 "푹신한" 가격으로 짜낼 수 있습니다. 이에 대한 플러피니스의 정의와 TS의 공식화에 대해서는 언급하지 않겠습니다. 아마도 다른 곳일 것입니다. 이 모든 것은 실제 거래와 거의 관련이 없습니다.

코드는 모든 배포에 대해 다시 작성할 수 있습니다. 이렇게 하려면 GetRandGauss 함수만 원하는 분포의 분위수 함수 로 교체해야 합니다. 이 함수는 균일하게 분포된(MathRand) 확률 변수를 해당 분포로 변환합니다.

코드가 100줄 이하로 가능한 모든 옵션을 통과한다고 말씀하시겠습니까? 그리고 그렇지 않다면 의사 SB에서 돈을 버는 것이 불가능하다는 증거와 무슨 관련이 있습니까(자연에 순수한 SB는 없습니다).
 
ZaPutina :
코드가 100줄 이하로 가능한 모든 옵션을 통과한다고 말씀하시겠습니까? 그리고 그렇지 않다면 의사 SB에서 돈을 버는 것이 불가능하다는 증거와 무슨 관련이 있습니까(자연에 순수한 SB는 없습니다).

백색 잡음을 원하는 분포 함수로 변경하고 원하는 것이 있는지 확인하십시오. 돈을 버는 것이 불가능하다는 것을 증명하는 것은 말도 안되는 소리입니다. 그렇지 않으면 증명하십시오.

추신: 그건 그렇고, 시장의 무작위적인 성격에 대해: 현재 상태(오늘 종가 )는 모스크바 시간 3월 23일 19:00 + 3:00에 미리 결정되었습니다.

 
tara :

백색 잡음을 원하는 분포 함수로 변경하고 원하는 것이 있는지 확인하십시오. 돈을 버는 것이 불가능하다는 것을 증명하는 것은 말도 안되는 소리입니다. 그렇지 않으면 증명하십시오.

추신: 그건 그렇고, 시장의 무작위적인 성격에 대해: 현재 상태(오늘 종가)는 3월 23일 19:00 + 3:00 모스크바 시간으로 미리 결정되었습니다.

사위를 통해서만 당신과 함께 ... 나를 비난하지 마십시오.