Aynı çalışma, ancak artışların normal dağılıma göre oluşturulduğu üretilen fiyatlar üzerinde.
Senaryo:
#property show_inputs#define MAX_AMOUNT 250000#define MAX_RAND 32767.0externint BeginPips = 100 ;
externint EndPips = 1000 ;
externint StepPips = 10 ;
externint AmountBars = 100000 ;
externint Deviation = 15 ;
int PricesHigh[MAX_AMOUNT], PricesLow[MAX_AMOUNT];
double GetRand()
{
return ( 2 * MathRand () / MAX_RAND - 1 );
}
void GetRandGauss( int Deviation, int & Rand1, int & 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 * Deviation;
Rand2 = X2 * W * Deviation;
if (Rand1 < Rand2)
{
int Tmp = Rand1;
Rand1 = Rand2;
Rand2 = Tmp;
}
return ;
}
void GetPrices( int Deviation, int AmountBars )
{
int Pos = 0 ;
int Rand1, Rand2, Avg = 0 ;
MathSrand ( TimeLocal ());
while (Pos < AmountBars)
{
GetRandGauss(Deviation, Rand1, Rand2);
PricesHigh[Pos] = Avg + Rand1;
PricesLow[Pos] = Avg + Rand2;
Avg = (PricesLow[Pos] + PricesHigh[Pos]) / 2 ;
Pos++;
}
return ;
}
int GetZigZagCount( int Pips, int AmountBars )
{
bool FlagUP = TRUE;
int i, Min, Max, Count = 0 ;
int PriceHigh, PriceLow;
Min = PricesHigh[ 0 ];
Max = PricesLow[ 0 ];
for (i = 0 ; i < AmountBars; i++)
{
PriceHigh = PricesHigh[i];
PriceLow = PricesLow[i];
if (FlagUP)
{
if (PriceHigh > Max)
Max = PriceHigh;
elseif (Max - PriceLow >= Pips)
{
FlagUP = FALSE;
Min = PriceLow;
Count++;
}
}
else// (FlagUP == FALSE)
{
if (PriceLow < Min)
Min = PriceLow;
elseif (PriceHigh - Min >= Pips)
{
FlagUP = TRUE;
Max = PriceHigh;
Count++;
}
}
}
return (Count);
}
void start()
{
int Pips, Amount;
int handle;
GetPrices(Deviation, AmountBars);
handle = FileOpen ( "Analyse.prn" , FILE_WRITE );
for (Pips = BeginPips; Pips <= EndPips; Pips += StepPips)
{
Amount = GetZigZagCount(Pips, AmountBars);
FileWrite (handle, Pips + " " + Amount);
}
FileClose (handle);
return ;
}
Sonuç, büyük ölçüde Sapma parametresine bağlıdır - yayılma (standart sapma).
Aynı grafikler:
Varsayılan parametrelerle, karede benzer bir bağımlılık elde edilir. Ancak Deviation parametresi yana değiştirildiğinde tamamen bozuluyor. Binbaşı piyasa fiyatlarını kontrol ettim, kareye bağımlılık devam ediyor.
Советник считает количество колен ЗигЗага (не менее Pips ) и записывает в файл: Запускается в тестере с оптимизацией:
График зависимости количества колен от их мин. размера ( Pips ):
Графики зависимости отношения вероятностей TP и SL ( p(SL) / p(TP) ) при отношении TP / SL = Koef от размера SL
Bu arada, logaritmik ölçekte grafik daha net olacaktır. TP ve SL arasındaki ilişkiye gelince, aynı test cihazında bir kafa kafaya kontrol düzenlemek, örneğin oranlarını bir parametre haline getirmek, yorumlamada daha kolay ve daha nettir. Nedense, bana öyle geliyor ki, rastgele girişler için, işlemin ortalama sonucu, elbette eksi işaretiyle her zaman yayılma eğiliminde olacaktır.
TP ve SL arasındaki ilişkiye gelince, aynı test cihazında önden bir kontrol ayarlamak yorumlamada daha kolay ve daha net...
Bir gönderiyi başka bir konudan kopyaladığım için eski tanımlamalar kaldı: TP ve SL . Bunları Pips1 ve Pips2 olarak yorumlamakta fayda var. Ana sonuç Hipotezde formüle edilmiştir.
Bir gönderiyi başka bir konudan kopyaladığım için eski tanımlamalar kaldı: TP ve SL . Bunları Pips1 ve Pips2 olarak yorumlamakta fayda var. Ana sonuç Hipotezde formüle edilmiştir.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Senaryo:
Sonuç, büyük ölçüde Sapma parametresine bağlıdır - yayılma (standart sapma).
Aynı grafikler:
Varsayılan parametrelerle, karede benzer bir bağımlılık elde edilir. Ancak Deviation parametresi yana değiştirildiğinde tamamen bozuluyor.
Binbaşı piyasa fiyatlarını kontrol ettim, kareye bağımlılık devam ediyor.
Повтор :
Советник считает количество колен ЗигЗага (не менее Pips ) и записывает в файл:
Запускается в тестере с оптимизацией:
График зависимости количества колен от их мин. размера ( Pips ):
Графики зависимости отношения вероятностей TP и SL ( p(SL) / p(TP) ) при отношении TP / SL = Koef от размера SL
Bu arada, logaritmik ölçekte grafik daha net olacaktır. TP ve SL arasındaki ilişkiye gelince, aynı test cihazında bir kafa kafaya kontrol düzenlemek, örneğin oranlarını bir parametre haline getirmek, yorumlamada daha kolay ve daha nettir. Nedense, bana öyle geliyor ki, rastgele girişler için, işlemin ortalama sonucu, elbette eksi işaretiyle her zaman yayılma eğiliminde olacaktır.
Bu arada, logaritmik ölçekte grafik daha net olacaktır.
Yani sadece...
TP Olasılığı = (SL - spread) / (TP + SL)
Olasılık SL = (TP + spread) / (TP + SL)
TP ve SL arasındaki ilişkiye gelince, aynı test cihazında önden bir kontrol ayarlamak yorumlamada daha kolay ve daha net...
Bir gönderiyi başka bir konudan kopyaladığım için eski tanımlamalar kaldı: TP ve SL . Bunları Pips1 ve Pips2 olarak yorumlamakta fayda var. Ana sonuç Hipotezde formüle edilmiştir.
Ne düşündüğünüzü anlamıyorum ... TP ve SL'ye ulaşma olasılığı?
Yani sadece...
TP Olasılığı = (SL - spread) / (TP + SL)
Olasılık SL = (TP + spread) / (TP + SL)
Kontrol edelim - TP = 20, SL = 20 => P(TP)=(SL-2)/(20+20) = 18/40 = 0.45, P(SL)=(TP+2)/(TP+SL ) =(20+2)/(20+20)=22/40 = 0,55Yani eşit değiller :))))
Bir gönderiyi başka bir konudan kopyaladığım için eski tanımlamalar kaldı: TP ve SL . Bunları Pips1 ve Pips2 olarak yorumlamakta fayda var. Ana sonuç Hipotezde formüle edilmiştir.
Doğru yorum için gönderi düzeltildi.
Kontrol edelim - TP = 20, SL = 20 => P(TP)=(SL-2)/(20+20) = 18/40 = 0.45, P(SL)=(TP+2)/(TP+SL ) =(20+2)/(20+20)=22/40 = 0,55Yani eşit değiller :))))
Bir pozisyon açtığınızda, zaten spread miktarı kadar zarardasınız....
Bir pozisyon açtığınızda, zaten spread miktarı kadar zarardasınız....
Peki ya olasılık?
Peki ya olasılık?Fiyatın geçmesi gereken mesafeler eşitse, olasılık 0,5'e eşittir. SL-yayılımı=TP+yayılımı