Otomatik Ticaret Şampiyonası 2007: Uzman Danışmanlarda Sık Yapılan Hatalar - sayfa 8

 
Öyle ya da böyle
 if ( OrderStopLoss () != ( Bid - Point * TrailingStop ))
Stoploss zaten puan olarak ayarlandığından ve ifade puan olarak aynı olduğundan, en az bir puanlık bir fark olup olmadığı kontrol edilir.

Başka kim, 0.1'lik artışlarla ve 5 lotla sınırlı olmak üzere lotlara ihtiyaç duyar

 TmpRound = MathRound ( Lots / 0.1 ) ;
        Lots = TmpRound * 0.1 ;       
        if ( Lots > 5 ) Lots = 5 ;
        if ( Lots < 0.1 ) Lots = 0.1 ;
 
1) Uzman Danışmanlarda sadece yaygın hataları tespit etmekle kalmayıp, bu sorunları çözmenin yollarını da göstermek güzel olurdu.

2) Herkes bundan faydalanır. Aksi takdirde, örneğin geliştiriciler tarafından örnek olarak yazılan klasik Uzman Danışman MACD Sample.mq4, 1 numaralı hata nedeniyle testi geçemez.
Acemi bir tüccar doğru kararın bir örneğini nasıl görebilir?

3) Bu arada, örneğin ortalamaya dayalı, tüm gereksinimleri karşılayan ve bir uzmanı programlamada iyi tat kurallarını belirleyen basit bir uzmanı örnek olarak belirlemek harika bir fikir. Birçoğu bunu takdir edecektir. Bu, otomatik ticaret sistemleri oluşturmak için bir temel olarak MQL4'ün iyi bir şekilde yaygınlaştırılması olacaktır.
 
AstaLavista :
1) Uzman Danışmanlarda sadece yaygın hataları tespit etmekle kalmayıp, bu sorunları çözmenin yollarını da göstermek güzel olurdu.

2) Herkes bundan faydalanır. Aksi takdirde, örneğin geliştiriciler tarafından örnek olarak yazılan klasik Uzman Danışman MACD Sample.mq4, 1 numaralı hata nedeniyle testi geçemez.
Acemi bir tüccar doğru kararın bir örneğini nasıl görebilir?

3) Bu arada, örneğin ortalamaya dayalı, tüm gereksinimleri karşılayan ve bir uzmanı programlamada iyi tat kurallarını belirleyen basit bir uzmanı örnek olarak belirlemek harika bir fikir. Birçoğu bunu takdir edecektir. Bu, otomatik ticaret sistemleri oluşturmak için bir temel olarak MQL4'ün iyi bir şekilde yaygınlaştırılması olacaktır.


Altın sözler!

Umarım bu, en azından planlanan "sihirbazlarda" - kod oluşturma şablonlarında dikkate alınır.

 
2 AstaLavista: Rosh'un takip kodu daha doğrudur (tabii ki parantez içindeki karşılaştırma satırında oldTP'yi oldSL'ye ve newTP'yi newSL'ye değiştirmek zarar vermez) - ">" koşuluna sahiptir. Ve sizin durumunuzda, fiyat geri dönerse, koşul karşılanacağı için takip geri dönecektir!
 
Stepler2442 :
2 AstaLavista: Rosh'un takip kodu daha doğrudur (tabii ki parantez içindeki karşılaştırma satırında oldTP'yi oldSL'ye ve newTP'yi newSL'ye değiştirmek zarar vermez) - ">" koşuluna sahiptir. Ve sizin durumunuzda, fiyat geri dönerse, koşul karşılanacağı için takip geri dönecektir!
bu durumda defne kasası ile değiştirin
 if ( OrderStopLoss () < ( Bid - Point * TrailingStop )

değerler eşit ise koşul yerine getirilmeyecek, 1 numaralı hatadan kaçınılacaktır ve değerler ayarlanan stop değerinin altında ise değişiklik yapılmayacak - yani tam olarak çalışacaktır- teşekküllü Son Durak
 OrderStopLoss () и ( Bid - Point * TrailingStop )

 
Stepler2442 :
2 AstaLavista: Rosh'un takip kodu daha doğrudur (tabii ki parantez içindeki karşılaştırma satırında oldTP'yi oldSL'ye ve newTP'yi newSL'ye değiştirmek zarar vermez) - ">" koşuluna sahiptir. Ve sizin durumunuzda, fiyat geri dönerse, koşul karşılanacağı için takip geri dönecektir!
Teşekkürler, düzeltildi.
 
AstaLavista :
Stepler2442 :
2 AstaLavista: Rosh'un takip kodu daha doğrudur (tabii ki parantez içindeki karşılaştırma satırında oldTP'yi oldSL'ye ve newTP'yi newSL'ye değiştirmek zarar vermez) - ">" koşuluna sahiptir. Ve sizin durumunuzda, fiyat geri dönerse, koşul karşılanacağı için takip geri dönecektir!

bu durumda sadece bölme kasasını değiştirin
 if ( OrderStopLoss () < ( Bid - Point * TrailingStop )


Evet, bu işe yarayacak. Şimdi, Rosh tarafından önerilen sonlandırmanın tek farkı ve bir avantajı, onunla sadece takip etmeyi değil, aynı zamanda bir adımla da kolayca yapabilmenizdir, böylece her pip boyunca seğirmemek ve komisyoncuyu değişiklik akışıyla zorlamamak :)
 

Ne yazık ki, bazen işe yaramaz (bu tırmığa zaten bastım). Ve bu her zaman böyle çalışacak:

 if ( NormalizeDouble ( OrderStopLoss () , Digits ) < NormalizeDouble ( Bid - Point * TrailingStop , Digits ))
 
Bu harika ve bu yüzden tüm sorunlar için en iyi çözümü ve örnek bir danışman şeklinde bulmak olurdu ...
 

Beyler, danışmanın otomatik olarak test edilmesi sonucu oluşturulan günlük indirilebilir ve görüntülenebilir mi? Profilde bir şey bulunamadı.