Hatalar, hatalar, sorular - sayfa 1985

 
Alexey Kozitsyn :
Tabiiki.
Evet ve değer 0 olarak ayarlanmışsa, elbette bir şeyler yanlıştır... Şekil, her çubukta 0 değerinde bir ok olduğunu göstermektedir.
 
Alexey Viktorov :
Evet ve değer 0 olarak ayarlanmışsa, elbette bir şeyler yanlıştır... Şekil, her çubukta 0 değerinde bir ok olduğunu göstermektedir.
İşin püf noktası boş = EMPTY_VALUE .
 
Alexey Kozitsyn :
İşin püf noktası boş = EMPTY_VALUE .
Boş boştur, ancak PLOT_EMPTY_VALUE'a grafikte ve veri penceresinde görüntülenmeyecek bir değer atanmıştır. EMPTY_VALUE değerini 0 ile değiştirmeyi deneyin
 PlotIndexSetDouble (plot_index, PLOT_EMPTY_VALUE , 0 );
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

EA piyasaya gitmez. Hata 130.

fxsaber , 2017.09.04 17:19

 void OnStart ()
{
   Print ( 0.99872 );
}

Sonuç

 0.9987200000000001
(string)NormalizeDouble(0.99872, 5) çok uzun bir sonuçtur.
 
Alexey Viktorov :
Boş boştur, ancak PLOT_EMPTY_VALUE'a grafikte ve veri penceresinde görüntülenmeyecek bir değer atanmıştır. EMPTY_VALUE değerini 0 ile değiştirmeyi deneyin
Hayır, hala yanlış gidiyor. Şimdi kodu her yerde EMPTY_VALUE ile EMPTY = EMPTY_VALUE sabitiyle değiştirdim. İyi olmak, iyileşmek. Ama yine de, grafikteki TF'yi değiştirirken, bu çöp. BOŞ = 0 olarak ayarlayın. Daha da iyi oldu, ancak zaman dilimlerinin sık değişmesiyle tekrar - grafikte çöp. Genel olarak - SD'ye bir uygulama yazmak gerekir.
 
Alexey Kozitsyn :
Hayır, hala yanlış gidiyor. Şimdi kodu her yerde EMPTY_VALUE ile EMPTY = EMPTY_VALUE sabitiyle değiştirdim . İyi olmak, iyileşmek. Ama yine de, grafikteki TF'yi değiştirirken, bu çöp. BOŞ = 0 olarak ayarlayın. Daha da iyi oldu, ancak yine, grafikte sık sık TF değişikliği - çöp. Genel olarak - SD'ye bir uygulama yazmak gerekir.

Bütün bunlar neden? Ben tamamen farklı bir şeyden bahsediyordum. Son çare olarak, arabelleği sıfırlamak yerine

 ArrayInitialize (массив, 0 );

koyabilirsin

 ArrayInitialize (массив, EMPTY_VALUE );
 
Alexey Viktorov :

Bütün bunlar neden? Ben tamamen farklı bir şeyden bahsediyordum. Peki, tamponu sıfırlamak yerine son çare olarak

koyabilirsin

Bu, koddaki tüm başlatmaları bir kerede değiştirmek içindir. Yazdıklarınız gerektiğinde başlatılır. ArrayInitialize() , OnDeinit() içinde başlatılır, ancak sonucu zaten yukarıda tanımlamıştım.
 

Alexey Kozitsyn :
...

ArrayInitialize(), OnDeinit() içinde başlatılır, ancak sonucu zaten yukarıda tanımlamıştım.

OnInit()'te deneyin.
 
Anatoli Kazharski :
OnInit()'te deneyin.

OnCalculate() içinde ilk başlatmada bir başlatma var (prev_calculated == 0). OnInit()'e geçmenin bir şeyleri değiştireceğini mi düşünüyorsunuz? Deneyeceğim elbette, ama bu fantezi dünyasından bir şey ...

Durmak. Dediğim gibi, diziler OnDeinit() içinde başlatılır , bunlar artık bir sonraki başlatmada kullanılmaz (giriş parametrelerinin değiştirilmesi). Bu (arabellek olarak kullanılmayan bir dizinin başlatılması) yardımcı olursa - bu da bir MT hatası olacaktır. Sadece dizilerin kullanılmadığı, aynı zamanda (ayrılmamış) hala başlatılabildiği ortaya çıktı ve bu, ekranı etkileyecek ...

 
fxsaber :
(string)NormalizeDouble(0.99872, 5) çok uzun bir sonuçtur.

Tünaydın!

Mesajınız için teşekkürler, kontrol edeceğiz