Profesyonellerin değerlendirmesi için.

 

Maksimum düşüşten bahsediyorduk. Bazı insanlar, test cihazının yanlış ölçtüğü görüşünü dile getirdi. kontrol etmeye karar verdi. Kodu yazdım, EA'ya dahil ettim ve test modunda çalıştırdım. Test cihazı ile sonuç eşleşti. Kod aşağıda yayınlanmıştır.---

Algoritmanın doğruluğunu değerlendirmenizi rica ediyorum ve en yüksek ve en düşük değerleri hesaplamadan maksimum düşüşü hesaplamanın mümkün olup olmadığını bilmek istiyorum.

 double MaxDrawDown;
int deinit() {
 Print ( "MaxDrawDown=" ,MaxDrawDown);
   return ( 0 );
} 

start(){ 
   static double MaxEquity;
   static double MinEquity;
         double DrawDown;
   static bool flag;
 
   if (!flag)
    {
     MaxEquity= AccountEquity ();
     MinEquity= AccountEquity ();
     flag = true;
    } 
   if ( AccountEquity ()>MaxEquity) 
    {MaxEquity= AccountEquity ();MinEquity= AccountEquity ();}
  
   if ( AccountEquity ()<MinEquity) 
    {MinEquity= AccountEquity ();}
  
  DrawDown=MaxEquity-MinEquity;
  
   if (DrawDown>MaxDrawDown ) 
    {MaxDrawDown=DrawDown;}
// ............остальной код советника
 

Sobsno, hesaplamadan ne anlama geliyor? koşu sırasında hem maksimum hem de minimum vardı ...

Bire bir mantık test cihazı. Sorun şu ki, çevrimiçi olarak düşüşü bu şekilde tanımayacaksınız - yine de hesaplamanız gerekiyor.

 
FAQ :

Sobsno, hesaplamadan ne anlama geliyor? koşu sırasında hem maksimum hem de minimum vardı ...

Bire bir mantık test cihazı. Sorun şu ki, çevrimiçi olarak düşüşü bu şekilde tanımayacaksınız - yine de hesaplamanız gerekiyor.

İnişler ve çıkışlar hakkındaki soru, OnGoing gönderisiyle bağlantılı olarak ortaya çıktı ve bu, bazı iniş ve çıkışların neden şaşırtıcı olduğuna şaşırdı. Bu yüzden, en yüksek ve en düşük seviyeler olmadan maksimum düşüşü hesaplamanın başka bir yolu olabileceğini düşündüm. Onlar. hesaplama doğru mu? Ve çevrimiçi olarak hangi sorunlar ortaya çıkacak? Bu yöntemin neden işe yaramadığını açıklayabilir misiniz? Belki birden fazla danışman olursa sorun olur ve her biri için böyle bir kodla tanımlama yapmak mümkün olmaz diyorsunuz. Demek istediğin buysa, o zaman anlaşılabilir. Yoksa farklı bir şey mi?

 
Çünkü geçmişe (emirlere) göre, sadece bakiye eğrisini geri yükleyebilirsiniz, ancak her an açık olan emirlerin sayısı, her bir emir (döviz) için marj ve fiyatın en yüksek/en düşük değerlerine dayalı olarak öz sermaye eğrisini sentezlemeniz gerekecektir. .
 
FAQ :
Çünkü geçmişe (emirlere) göre, sadece bakiye eğrisini geri yükleyebilirsiniz, ancak her an açık olan emirlerin sayısı, her bir emir (döviz) için marj ve fiyatın en yüksek/en düşük değerlerine dayalı olarak öz sermaye eğrisini sentezlemeniz gerekecektir. .

EA'yı yeni başlattıysak ve henüz bir geçmiş yoksa, bunları global değişkenlerde depolayarak öz sermaye yüksek ve düşüklerini hesaplayamaz ve mevcut ve mevcut maksimum düşüşü hesaplayamaz mıyız? Yoksa bir şeyi yanlış mı anlıyorum? Ya da zaten bir tür tarihin olduğu bir durumu düşünüyorsunuz. Örneğin, bir komut dosyası çalıştırarak, siparişlerin geçmişini dikkate alarak maksimum düşüşü hesaplamak ister misiniz? O zaman açık. Ancak çalışmaya yeni başladıysak ve geçmiş yoksa veya yoksa, ancak EA'nın bu kodla başlatıldığı andan itibaren düşüşü hesaplamak istiyoruz. o zaman herhangi bir şey yoluna girebilir mi?

 
khorosh :

EA'yı yeni başlattıysak ve henüz bir geçmiş yoksa, bunları global değişkenlerde depolayarak öz sermaye yüksek ve düşüklerini hesaplayamaz ve mevcut ve mevcut maksimum düşüşü hesaplayamaz mıyız? Yoksa bir şeyi yanlış mı anlıyorum? Ya da zaten bir tür tarihin olduğu bir durumu düşünüyorsunuz. Örneğin, bir komut dosyası çalıştırarak, siparişlerin geçmişini dikkate alarak maksimum düşüşü hesaplamak ister misiniz? O zaman açık. Ancak çalışmaya yeni başladıysak ve geçmiş yoksa veya yoksa, ancak EA'nın bu kodla başlatıldığı andan itibaren düşüşü hesaplamak istiyoruz. o zaman herhangi bir şey yoluna girebilir mi?


Cerrahtan hisse senedi göstergesinin göstergelerini okumak, bazı değişkenlerde bir şey saklamaktan daha kolaydır.
 
Reshetov :
Cerrahtan hisse senedi göstergesinin göstergelerini okumak, bazı değişkenlerde bir şey saklamaktan daha kolaydır.
Katılıyorum, kodun test cihazında çalıştırılması amaçlandı, sadece prensipte doğru düşünüp düşünmediğimle ilgileniyordum, aksi takdirde OnGoing bende şüphelere yol açtı.
 
Integer :

Endişelenme, burada konu dışı birçok şeyle dalga geçti ve konuyla ilgili bile değil, tamamen geçti.
Desteğiniz için teşekkür ederim, aksi halde bir şeyi yanlış anladığımdan şüpheleniyordum.
 
khorosh :

Maksimum düşüş hakkında konuşuldu. Bazı insanlar, test cihazının yanlış ölçtüğü görüşünü dile getirdi.

Test eden kişi, öz sermayenin maksimum düşüşünü doğru bir şekilde ölçer, ancak şu anda bakiyenin durumunu hesaba katmaz, bu da bu ölçümü saçmalık haline getirir.

Yani, eğer bir açık emir önce yükselir ve sonra 100 pips düşerse, o zaman testçi, mantıksal olarak stratejinin riskini belirlemesi gereken gerçek düşüş sıfır olmasına rağmen, özsermayede 100 piplik bir düşüş verecektir. Bu tür hesaplamaların bir stratejinin risklerini değerlendirmek için yararsız olduğu açıktır.

 
khorosh :
Desteğiniz için teşekkür ederim, aksi halde bir şeyi yanlış anladığımdan şüpheleniyordum.


Genel olarak, maksimum dezavantaj, maksimum ve minimum öz sermaye arasındaki fark değildir. Başlangıçta, MaxEquity=Equity, MinEquity=Equity, Drawdown=0. İş sürecinde: Eğer Özkaynak>MaxEquity ise, düşüşü MaxEquity-MinEquity olarak hesaplarız, elde edilen değer önceden sabitlenmiş düşüşten büyükse, daha büyük değeri hatırlayın, hemen minimumu sıfırlayın - MinEquity=MaxEquity ve hatırlayın yeni maksimum MaxEquity=Equity.
 

Kırmızı çizgiler dezavantajları gösterir , maksimumu bulmanız gerekir.

Neden: