Hatalar, hatalar, sorular - sayfa 2319
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Sembol ayarları, grafikler değil.
Piyasa saatinde, sembolün içerik menüsünde "sembol spesifikasyonu"nu seçin
Teşekkür ederim.
Lütfen problemin başlangıcından itibaren terminal günlüklerini gösterin
Teşekkür ederim.
Lütfen problemin başlangıcından itibaren terminal günlüklerini gösterin
Özel mesajla gönderilen günlük dosyası .
Özel mesajla gönderilen günlük dosyası .
Evet teşekkür ederim.
Kayıtlara göre her şey temiz.
Anlattığınız durumun devam edip etmediğini söyleyebilir misiniz?
DoubleToString içermeyen birim (Volume, 2). Ekranda EURUSD.
Evet teşekkür ederim.
Kayıtlara göre her şey temiz.
Anlattığınız durumun devam edip etmediğini söyleyebilir misiniz?
Terminali yeniden başlattıktan sonra, şimdiye kadar her şey yolunda.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
pantural , 2018.11.01 16:03
Merhaba sevgili MT geliştiricileri, Sharpe oranını hesaplamak için algoritmadaki bir hatayı bildirmek istiyorum. Uygulamada, rapor uv. Sayın Aleksey Vyazmikin burada SR=0.29, ancak benim hesaplamalarıma göre yaklaşık 3.7-3.8 (sıfır PnL'nin dikkate alınıp alınmamasına bağlı olarak) hatanın standart sapma için bir ölçekleme faktörünün yokluğunda olduğunu varsayıyorum. (sqrt(uzunluk)) serisi, yakınsar ve standart sapma sqrt(uzunluk) olarak büyür
C++
double SharpRatio(vector<double> pnl)
{
double avret = 0;
for (int i = 0; i < pnl.size(); ++i) avret += pnl[i];
avret /= pnl.size();
double var = 0;
for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2);
var = sqrt(var / pnl.size()) / sqrt(pnl.size());
return avret / var;
}
İki özdeş araç alın. Onları aynı anda başlattı. Bir gün sonra ikisi de pnl dizisini gösterdi. Birincisi durduruldu, ikincisi durdurulmadı. Bir gün sonra, ikincisi tamamen aynı pnl'yi gösterdi.
Onlar. ilk pnl[] ve ikinci pnl[]+pnl[]. Onlar. ikinci gün ticareti ilk günle aynıydı.
Ardından, önerilen formüle göre, ikinci TS'nin Sharpe oranı, sqrt(2)'de (ikinin kökü) birincisinden daha az olacaktır. Ama aynı şekilde ticaret yaptılar!
İki özdeş araç alın. Onları aynı anda başlattı. Bir gün sonra ikisi de pnl dizisini gösterdi. Birincisi durduruldu, ikincisi durdurulmadı. Bir gün sonra, ikincisi tamamen aynı pnl'yi gösterdi.
Onlar. ilk pnl[] ve ikinci pnl[]+pnl[]. Onlar. ikinci gün ticareti ilk günle aynıydı.
Ardından, önerilen formüle göre, ikinci TS'nin Sharpe oranı, sqrt(2)'de (ikinin kökü) birincisinden daha az olacaktır. Ama aynı şekilde ticaret yaptılar!
Şaka nasıl? "Küçükken öldürülmeleri gerekiyor."
Peki, ekli dosyadan bir örneğe bakalım #11396 . Ve sonra teoride, ellerinizle hissedene kadar her şey korkutucu görünüyor.
Bu dosyada Sharp'ın 0.29 olduğu ortaya çıkan 144 işlem var (sitede 2 ondalık basamak doğruluğu ile gösteriliyor ve bu normal - kimsenin 5 ondalık basamağa ihtiyacı yok, bu durumda 2 ondalık basamak var iki stratejinin karşılaştırılması için yeterlidir).
Sharpe, bir K/STD oranı olarak hesaplanır, burada:
Önceki işlemlerin bir kopyası olan iki kat daha fazla işlem yapalım. Bu, şimdi 288 = 144*2 işlem olduğu anlamına gelir. Bu durumda K değişmez. Bu, Sharpe değişikliğinin yalnızca STD değişikliği nedeniyle gerçekleşebileceği anlamına gelir.
Başlangıç STD=MathSqrt(X2/(n-1)), burada:
Yani Sharpe=MathSqrt(X2/(144-1)) = MathSqrt(X2/143)
İki kat daha fazla işlemimiz var, bu nedenle iki kat daha büyük bir geçmiş için yeni Sharpe şu şekilde hesaplanır:
burada X2_new=2*X2. Yani SharpeNew/Sharp oranı = MathSqrt(X2/(144-1)) / MathSqrt(X2_new/(2*144-1)) =
Paydayı pay ile karıştırsam bile SharpeNew 0.29 2919 - 0.29 6025 aralığında olacaktır. Yani fark üçüncü hanede bir yerde olacaktır.
Ama 10-20 kez değil. Nerede yanlış yaptığımı kendin kontrol et.
Şaka nasıl? "Küçükken öldürülmeleri gerekiyor."
Sen beni anlamadın.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
fxsaber , 2018.11.06 13:23
Daha sonra , önerilen formüle göre, ikinci TS'nin Sharpe oranı , sqrt(2)'de (ikinin kökü) birincininkinden daha az olacaktır. Ama aynı şekilde ticaret yaptılar!
Bir C++'dan alıntılanan formül şu anlama geliyordu.
ZY Ve MT'de kullanılan formülde tabii ki birim alınmayacaktı. O zaman önerilen örnek, 144 boyunca kaç tane aralık gözlenirse gözlemlensin, Sharpe her zaman çakışacaktır.