Bir göstergede sıfıra bölme hatası var - sayfa 4 1234567891011 Yeni yorum Aleksey Vyazmikin 2018.07.04 14:27 #31 koddaki limit int'dir, eğer 1/2=0.5 ise, görünüşe göre şimdi yuvarlama 1 değil, 0? Hipotezi test etmek için kodu değiştirdim double d1=(delta_price_high-center_line_point)/(( double )limit/ 2 ); double d2=(center_line_point-delta_price_low)/(( double )limit/ 2 ); Vladimir Karputov 2018.07.04 14:28 #32 Aleksey Vyazmikin : Çöpü tamamlayın - yine sıfıra bölme hatası aldı Kodu ME'den resim olarak gönderiyorum - belki körüm ama neler olduğunu anlamıyorum Hepsi aynı satırda hata veriyor Dosya aynıdır, çünkü baskı kodunun eklenmesi nedeniyle hatalı satır kaymıştır. Şekillendiriciyi kullanmanız gerekir - sorunlu satırınızın if(limit==0) kontrol bölgesine DAHİL OLMADIĞINI hemen görürsünüz. Aleksey Vyazmikin 2018.07.04 14:30 #33 Vladimir Karputov : Şekillendiriciyi kullanmanız gerekir - sorunlu satırınızın if(limit==0) kontrol bölgesine DAHİL OLMADIĞINI hemen görürsünüz. Yani içeri girmesi gerekmiyor, neden? Aleksey Vyazmikin 2018.07.04 14:31 #34 Bu tür kod int a= 1 ; double test= 1 /(a/ 2 ); Terminali kapatın. Vladimir Karputov 2018.07.04 14:32 #35 Aleksey Vyazmikin : koddaki limit int'dir, eğer 1/2=0.5 ise, görünüşe göre şimdi yuvarlama 1 değil, 0? Hipotezi test etmek için kodu değiştirdim kod: //+------------------------------------------------------------------+ //| writeSpicifiedType.mq5 | //| hoz | //| | //+------------------------------------------------------------------+ #property copyright "hoz" #property link "" #property version "1.00" //--- double high=- 1.0 ; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { //--- for ( int limit= 0 ;limit< 4 ;limit++) { Print ( "limit (" ,limit, ")/2 " ,limit/ 2 ); } } //+------------------------------------------------------------------+ Sonuç: Test_en (EURUSD,M30) limit ( 0 )/ 2 0 Test_en (EURUSD,M30) limit ( 1 )/ 2 0 Test_en (EURUSD,M30) limit ( 2 )/ 2 1 Test_en (EURUSD,M30) limit ( 3 )/ 2 1 Aleksey Vyazmikin 2018.07.04 14:35 #36 Vladimir Karputov : kod: Sonuç: Bu sadece nokta ve daha önce görünüşe göre 1/2, sıfır değil, 1 verdi. Vladimir Karputov 2018.07.04 14:36 #37 Aleksey Vyazmikin : Bu sadece nokta ve daha önce görünüşe göre 1/2, sıfır değil, 1 verdi. Hayır. Her zaman çok yuvarlak olmuştur. Aleksey Vyazmikin 2018.07.04 14:39 #38 Vladimir Karputov : Hayır. Her zaman çok yuvarlak olmuştur. Yani yine de başka bir şey... Aleksey Vyazmikin 2018.07.04 14:50 #39 Baskı kodunu değiştirdi if (limit/ 2 == 0 ) { limit= 2 ; Print ( "start_time - " , TimeToString (start_time, TIME_DATE | TIME_MINUTES ), " stop_time - " , TimeToString (stop_time, TIME_DATE | TIME_MINUTES )); Print ( "start_index=" ,start_index, " stop_index=" ,stop_index); } ve şimdi anladım 2018.07 . 04 15 : 47 : 07.959 IndDrafter (Si- 9.18 ,H1) start_time - 2017.08 . 10 11 : 00 stop_time - 2017.08 . 10 11 : 00 2018.07 . 04 15 : 47 : 07.959 IndDrafter (Si- 9.18 ,H1) start_index= 2012 stop_index= 2012 Nasıl yani? [Silindi] 2018.07.04 14:53 #40 Aleksey Vyazmikin : Baskı kodunu değiştirdi ve şimdi anladım Nasıl yani? Pekala. Eğer limit limit=( int )(stop_time-start_time)/ PeriodSeconds ( _Period ) formülü kullanılarak hesaplanırsa; o zaman sonuç = 0 olacaktır. Şimdi durma ve başlama zamanının nasıl oluştuğunu izlemeniz gerekiyor. 1234567891011 Yeni yorum
koddaki limit int'dir, eğer 1/2=0.5 ise, görünüşe göre şimdi yuvarlama 1 değil, 0?
Hipotezi test etmek için kodu değiştirdim
Çöpü tamamlayın - yine sıfıra bölme hatası aldı
Kodu ME'den resim olarak gönderiyorum - belki körüm ama neler olduğunu anlamıyorum
Hepsi aynı satırda hata veriyor
Dosya aynıdır, çünkü baskı kodunun eklenmesi nedeniyle hatalı satır kaymıştır.Şekillendiriciyi kullanmanız gerekir - sorunlu satırınızın if(limit==0) kontrol bölgesine DAHİL OLMADIĞINI hemen görürsünüz.
Şekillendiriciyi kullanmanız gerekir - sorunlu satırınızın if(limit==0) kontrol bölgesine DAHİL OLMADIĞINI hemen görürsünüz.
Yani içeri girmesi gerekmiyor, neden?
Bu tür kod
Terminali kapatın.
koddaki limit int'dir, eğer 1/2=0.5 ise, görünüşe göre şimdi yuvarlama 1 değil, 0?
Hipotezi test etmek için kodu değiştirdim
kod:
Sonuç:
kod:
Sonuç:
Bu sadece nokta ve daha önce görünüşe göre 1/2, sıfır değil, 1 verdi.
Bu sadece nokta ve daha önce görünüşe göre 1/2, sıfır değil, 1 verdi.
Hayır. Her zaman çok yuvarlak olmuştur.
Hayır. Her zaman çok yuvarlak olmuştur.
Yani yine de başka bir şey...
Baskı kodunu değiştirdi
ve şimdi anladım
Nasıl yani?
Baskı kodunu değiştirdi
ve şimdi anladım
Nasıl yani?
Pekala. Eğer limit limit=( int )(stop_time-start_time)/ PeriodSeconds ( _Period ) formülü kullanılarak hesaplanırsa;
o zaman sonuç = 0 olacaktır.
Şimdi durma ve başlama zamanının nasıl oluştuğunu izlemeniz gerekiyor.