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
Fiyatın logaritmasını okuyun
Diğer referansları kendiniz bulacaksınız
Fiyatın logaritmasını okuyun
Diğer referansları kendiniz bulacaksınız
Bir diğer son derece önemli nüans ise, bu senaryoda Sharpe hesaplanırken yalnızca özsermayede değişiklik olan çubukların dikkate alınmasıdır:
//--- add only if equity has changed if(m_equities[i] != prev_equity) { log_return = MathLog(m_equities[i] / prev_equity); // logaritmayı artır aver += log_return; // artışların ortalama logaritması AddReturn(log_return); // artan logaritma dizisini doldurun counter++; // geri dönüş sayacı } prev_equity = m_equities[i];Ortalama değişim daha sonra bu tür çubukların sayısına bölünerek bulunur:
Bununla birlikte, yıllık keskinliklere geçiş, sanki mevcut tf' nin tüm çubukları hesaplamada sayılmış gibi, zaman dilimi oranına dayanır:
Yani, bir kez daha: komut dosyası, hisse senedi değişikliği ile 1 çubuk başına ortalama keskinliği bulur ve ardından yıllık olanı bulmak için bunu bir yıldaki bu tür çubukların sayısıyla değil, bir yıldaki bu tf'nin toplam çubuk sayısıyla (elbette kökü) çarpar. Bu da hatalıdır ve nihai rakamı olduğundan fazla gösterir.
Görünüşe göre, Sharpe test cihazında da aynı şekilde hesaplanıyor?
komut dosyası, özkaynak değişikliği ile 1 çubuk başına ortalama Sharpe'yi bulur ve ardından yıllık olanı bulmak için bunu bir yıldaki bu tür çubukların sayısıyla değil, bir yıldaki bu tf'nin toplam çubuk sayısıyla (elbette kökü) çarpar. Bu da hatalıdır ve nihai rakamı olduğundan fazla gösterir
Bunu ben de fark ettim. Bu yüzden benim sürümümde sıfır çubukları hesaba katmak için bir seçenek ekledim.