Uzman Danışmanlar Topluluğu - sayfa 2

 
Duraklar için \"coarising\" girmek daha iyidir (nasıl doğru arayacağımı bilmiyorum).

Durağı bir pip içinde takip ederseniz, komisyoncu uluyacak ve uzmanları kesecektir :)

Bence böylesi daha iyi:
   if (MathAbs(CurrentStopLoss - NewStopLoss) > (Sor - Bid)*Koef)
   {
      // Zarar durdurmayı değiştir
      ................
   }


Onlar. yeni durak eskisinden belirli bir sayı farkıyla (1 - 2) farklıysa sırayı değiştirin
Sorununuz burada otomatik olarak çözülür.

 
Mak, tavsiyen için teşekkürler. Yapacağım.
Sadece burada sorun farklıdır - _to_the_same_value_'yu ayarlamaya çalışır... yani. böyle bir kontrol sizi bir hatadan kurtarmaz, sadece olasılığını azaltır =)
 
Sadece burada sorun farklıdır - _to_the_same_value_'yu ayarlamaya çalışır... yani. böyle bir kontrol sizi bir hatadan kurtarmaz, sadece olasılığını azaltır =)

Büyük olasılıkla, Expert Advisor'ın metnindeki bir aksaklıktır.
Benzer bir deneyim yaşadım, nasıl düzelttiğimi hatırlamıyorum.

Ancak yukarıdaki örnek, komut dosyasındaki herhangi bir hata için
aynı değere ayarlamak için hiçbir girişimde bulunulmayacaktır.
 
Только тут проблема в другом - оно пытается установить _на_то_же_значение_... т.е. такая проверка не спасёт от ошибки, а просто уменьшит её вероятность =)

Büyük olasılıkla, Expert Advisor'ın metnindeki bir aksaklıktır.
Benzer bir deneyim yaşadım, nasıl düzelttiğimi hatırlamıyorum.

Ancak yukarıdaki örnek, komut dosyasındaki herhangi bir hata için
aynı değere ayarlamak için hiçbir girişimde bulunulmayacaktır.

Mak, 1 satır metin var =)
 _TrailingStop( sipariş bileti, 50 );



Bu tür hatalardan kaçınmak için f-tion'u tam olarak bu amaç için yazdım ve kontrol her pip'in işlenmesi farkıyla aynıdır.
Ve değer aynıysa (bu durumda fiyattan durağa olan mesafe _less-eşittir_ 50'dir), takip çalışmamalıdır.
Üstelik çoğu durumda çalışmıyor =))) ve bazen bir nedenden dolayı atlıyor....

 
Belki NormalizeDouble bazen farklı çalışır?
Ne yapar, atar mı yoksa yuvarlar mı?

Genel olarak, kayan türler hiçbir zaman eşitlik için karşılaştırılmamalıdır.
Tek istisna:
 çift A,B;
.........
bir = .......;
................
B=A;
...........
eğer(B==A) ........



Bir satıra ne dersiniz...
_TrailingStop'ta birçok satır var,
ve en az 2 tane varsa, zaten hataların bir nedeni var :)

 
Ne yapar, atar mı yoksa yuvarlar mı?
ben de ilgileniyorum ;)

burada kendimi kısmen düzelttim: yerine
 if ( orderstoploss == 0.0 ........ )


yapılmış

 if ( orderstoploss <= 0 ......... )

ve sonra iyi görünüyor:

 .... orderstoploss < ( teklif - TrailingStop * puan )





Renat, genel olarak, ana umutlarımı sana bağlıyorum =) muhtemelen burada bir köşe gibi basit bir şey var - ama fark etmiyorum ...

 
Hafta sonu bakmaya çalışacağım, belki yardımcı olabilirim.
 
Hafta sonu bakmaya çalışacağım, belki yardımcı olabilirim.
Senki ... akla getirilmelidir ...
 
Burada köşe gibi basit bir şey olmalı - ama fark etmiyorum ...

Komposter, yanılıyorsun :) Kaşık büken kızın dediği gibi, "her şey göründüğü gibi değil".
Örneğin, aşağıdaki döngü 5 sayı yazdırır:
 for (çift d = 0.1; d <= 0.5; d += 0.1) Print(d);


Ve sınırların 1,0 artırıldığı bir sonraki döngü ne kadar yazdıracak?

 for (çift d = 1.1; d <= 1.5; d += 0.1) Print(d);



5 sayının da yazdırılması beklenir, ancak yalnızca 4 (dört) yazdırılır. harika değil mi?
Döngüden sonra bir satır daha eklersek:

 Print("d=" + d + " (d <= 1.5)=" + (d <= 1.5));


alacağız:

 d=1.5000000 (d <= 1.5)=0



Durarak neredeyse sizinki gibi, ama daha temelde :). Sorun, ilk bilgisayar çipi kadar eski:
bilgisayarlar ikili aritmetik kullanır ve insanlar ondalık sayı kullanır. Yuvarlama sırasında eserler görünüyor.

Mak'ın önerdiği "pürüzlendirme", banal bir hata değil, yuvarlama ile ilgili temel bir sorununuz varsa yardımcı olacaktır.

Birçok kişi, finansal hesaplamalarda ondalık aritmetik için özel kitaplıklar KULLANILMASI GEREKTİĞİNİ düşünür, ancak bunlar bile bazen hatalar içerebilir.
ciddi sonuçlara yol açar. Bu arada Renat, hangi aritmetik uygulamasını kullanıyorsun?

 
organik gübre

Hızlıca baktım (henüz kazmadım), sizin için hesaplanan point'e bir itiraz buldum.
"Atmaya" ve aptalca Point koymaya çalışın. Belki de sorun şudur (MarketInfo üzerinden bir nokta her zaman ihtiyacınız olan şekilde çıkmayabilir?).