"Expert Advisor'ın Çalışması Sırasında Denge Eğrisinin Eğimini Kontrol Etme" makalesi için tartışma

 

Yeni makale Expert Advisor'ın Çalışması Sırasında Denge Eğrisinin Eğimini Kontrol Etme yayınlandı:

Bir alım satım sistemi için kurallar bulmak ve bunları bir Expert Advisor'da programlamak işin yarısıdır. Bir şekilde, alım satım işleminin sonuçlarını biriktirdiği için Expert Advisor'ın çalışmasını düzeltmeniz gerekir. Bu makalede, denge eğrisinin eğimini ölçen bir geri bildirim oluşturmak yoluyla bir Expert Advisor'ın performansını artırmaya olanak tanıyan yaklaşımlardan biri açıklanmaktadır.

Denge eğrisinin eğimini kontrol eden sistemin çalışma prensibine bir göz atalım. Bir alım satım Expert Advisor'ımız olduğunu varsayalım. Varsayımsal denge eğrisi şu şekilde görünür:

Denge eğrisinin eğimini kontrol eden sistemin çalışma prensibi

Şekil 1. Denge eğrisinin eğimini kontrol eden sistemin çalışma prensibi

Sabit hacimli alım satım işlemleri kullanan Expert Advisor için başlangıç dengesi eğrisi yukarıda gösterilmiştir. Kapanan alım satım işlemleri kırmızı noktalarla gösterilmektedir. Bu noktaları, alım satım işlemi sırasında Expert Advisor'ın denge değişimini temsil eden bir eğri çizgisiyle birleştirelim (kalın siyah çizgi).

Şimdi bu çizginin zaman eksenine olan eğim açısını (ince mavi çizgilerle gösterilen) sürekli olarak takip edeceğiz. Veya daha açık olmak gerekirse, her alım satım işlemini bir sinyalle açmadan önce, eğim açısını önceden kapatılmış iki alım satım işlemiyle (veya açıklamanın daha basit olması için iki alım satım işlemiyle) hesaplayacağız. Eğim açısı belirtilen değerin altına düşerse kontrol sistemimiz çalışmaya başlar, açının hesaplanan değerine ve belirtilen düzenleme işlevine göre hacmi azaltır.

Yazar: Dmitriy Skub

 

Çizimlerle ilgili bir şey.

Hiç resim yok, sadece başlıklar var.

 
Bence çok iyi bir yaklaşım
 
Ancak test ederken, bir nedenden dolayı sanki duraklatılmış gibi dondu, nedeni nedir?
 
arbuz:
Ancak test ederken, bazı nedenlerden dolayı, sanki duraklatmaya basmışsınız gibi takılıyor, nedeni nedir?
Üzgünüm, sıralama algoritmasında küçük bir yanlışlık vardı. Düzeltilmiş kütüphane şimdi görünecektir.
 

"Bu, EA'nın MM (para yönetimi) üzerine bir tür eklentidir ve hesapta önemli kayıplar yapmasını önler ."


İfade:
"// Lot limiti aşağıdan:

if( lots < min_trade_volume )
{
lots = min_trade_volume;
}"
izin verebilir.

Bkz. örneğin, https://www.mql5.com/ru/forum/124281/page2#283533

Поясните, пожалуйста, как получается просадка - MQL4 форум
  • www.mql5.com
Поясните, пожалуйста, как получается просадка - MQL4 форум
 

Makaleyi dikkatlice okudunuz mu?

Kütüphanenin bu sürümü için gerekliliklerden biri, normal bir çalışma lotunun boyutunun izin verilen minimum boyuttan önemli ölçüde (en az 2-3 kat) daha büyük olması gerektiğidir

Bağlamdan çıkardığınız parça genellikle çalışma partisinin normalleştirilmesine atıfta bulunur, böylece yanlış bir boyut nedeniyle hata almazsınız.

 

Bağlantıyı okumak isteyebilirsiniz.

Bu yaygın bir hata.

 
Ais:

Okumanız için bir bağlantı da faydalı olacaktır.

Bu yaygın bir hatadır.

Risk yönetimini sadece çalışma lotunu normalleştirilmiş bir değere getirmekle karıştırıyorsunuz. MM mevcut lot büyüklüğünün izin verilen minimum değerden önemli ölçüde daha küçük olmasını gerektiriyorsa, pozisyon hiç açılmamalıdır. Peki bunun normalleşme ile ne ilgisi var? (retorik soru)
 

Burada, eski versiyon makalede yer alırken bir düzeltme ile yayınlıyorum.


Makale de güncellenmiştir.

Dosyalar:
 

Bir işlemin hacmi "normalleştirme" veya başka amaçlarla değiştirildiğinde, toplam risk değeri de değişir.

Bu bir tutumdur.

Ayrıca, "Bu yöntem en alta en yakın lot değerini döndürür." denilmektedir.

Ve bu durumda

"// Lot limiti aşağıdan:
if( lots < min_trade_volume )
{
lots = min_trade_volume;
}"

üstten en yakın değer döndürülür ve bu değer birçok kez farklılık gösterebilir...

Daha basit ve daha güvenilir bir ticaret hacmi hesaplama örneği https://www.mql5.com/en/forum/112782adresinde bulunabilir .

Özellikle:

"if ( SizeLimit >= MinLots )
{ int Steps = MathFloor ( ( SizeLimit - MinLots ) / LotStep ) ;
LotSize = MinLots + Adımlar * LotStep ; }
else LotSize = 0 ;

if ( LotSize >= MaxLots )
LotSize = MaxLots ;
"

NormalizeDouble() fonksiyonunun kullanılması gereksizdir.

Bu yöntem, minimum hacim, adım ve ondalık basamakların herhangi bir değeri için çalışır.

Umarım sizin son halini almış ve düzeltilmiş olan da öyle olur.

Calculation on Leverage & MM together in Expert Advisors. - MQL4 forum
  • www.mql5.com
Calculation on Leverage & MM together in Expert Advisors. - MQL4 forum