İkinci sorun.
işte fonksiyon:
void MonitorTick() { string s; datetime dt= TimeCurrent (); int y1=TimeYear(dt); int m1=TimeMonth(dt); int d1=TimeDay(dt); string fn=y1+ "_" +m1+ "_" +d1+ "_Monitor_Tick_" + Symbol ()+ ".mon" ; { handleM= FileOpen (fn, FILE_BIN | FILE_WRITE | FILE_READ ); if (handleM< 0 ) { handleM= FileOpen (fn, FILE_BIN | FILE_WRITE ); } else { s= "Time;;Shift " + Symbol ()+ "\n" ; FileWriteString (handleM,s, StringLen (s)); } } s=TimeToStr( TimeCurrent (),TIME_DATE|TIME_MINUTES|TIME_SECONDS)+ ";;" ; s=s+DoubleToStr((Bid-iOpen( NULL , PERIOD_D1 , 0 ))/ Point , 0 )+ "\n" ; { FileSeek (handleM, 0 , SEEK_END ); FileWriteString (handleM,s, StringLen (s)); FileClose (handleM); } }
Kelimelerle - her tikte, dosyaya mevcut fiyat ile günün açılış fiyatı arasındaki farkı yazar.
bir noktada dosyaya çöp yazmaya başlar. Aşağıdaki içerik:
2011.05 . 12 15 : 40 : 50 ;; 2 2011.05 . 12 15 : 40 : 50 ;; 1 2011.05 . 12 15 : 40 : 51 ;; 0 2011.05 . 12 15 : 40 : 51 ;; 1 2011.05 . 12 15 : 40 : 52 ;; 2 2011.05 . 12 15 : 40 : 53 ;; 2 2011.05 . 12 15 : 40 : 55 ;; 3 2011.05 . 12 15 : 53 : 54 ;; 15692 2011.05 . 12 15 : 53 : 54 ;; 15688 2011.05 . 12 15 : 54 : 05 ;; 15692 2011.05 . 12 15 : 54 : 28 ;; 15696 2011.05 . 12 15 : 54 : 42 ;; 15694 2011.05 . 12 15 : 54 : 56 ;; 15698 2011.05 . 12 15 : 55 : 40 ;; 15697 2011.05 . 12 15 : 56 : 40 ;; 15698 2011.05 . 12 15 : 56 : 47 ;; 15696 2011.05 . 12 15 : 57 : 17 ;; 15696 2011.05 . 12 15 : 57 : 34 ;; 15699
Nasıl anlatılır????
Bu işleve sahip EA, üç kod satırından başka bir şey yapmaz. 10 enstrüman üzerinde duruyor ve periyodik olarak 5-7 tanesi bunu veriyor. Yalnızca terminali yeniden başlatmak yardımcı olur. Bu arada, göstergeler (çoklu para birimi) de saçmalık göstermeye başlıyor.
İkinci sorun.
Nasıl anlatılır????
gibi bir yapı olduğunda
Bid-iOpen( NULL , PERIOD_D1 , 0 ))
D1 geçmişinde ve beklenene uygun bir çubuk olduğundan emin olmak gerekir.
Yani mevcut günlük barın açılış fiyatını kullanıyorsanız , mevcut günlük barın açılış fiyatını kullandığınızdan emin olmanız gerekir.
not
Çok para birimli oyuncularınızın kodlarının aynı olduğundan şüpheleniyorum.
yani bu verilerin ekranda görünmesi yeterli değil mi?
Ekranımda birkaç aylık geçmişim var. Ayrıca, bir saniye önce bir kene, geçmişin "aniden" kaybolduğu ve ayrıca yeniden başlatmanın hemen ardından, terminal açıldığında ve aynı anda "aniden" göründüğünde, mevcut olandan nasıl farklı olduğunu açıklamanızı rica ediyorum. daha fazla hata olmadan yazılır.
çoklu para biriminde aynıdır. tüm çiftler için bir geçmiş olduğunda, sıfır çubuğunda bile saçmalık gösterilir - %100 geçmişe sahip olmak için özel olarak diğer pencerelerde açılır.
Yani mevcut günlük barın açılış fiyatını kullanıyorsanız , mevcut günlük barın açılış fiyatını kullandığınızdan emin olmanız gerekir.
garip durum. doğal olarak mevcut günü gösteren bir grafik açılır. bir saniye önce, açılış fiyatı ve ortadan kayboldu? ve ağ bağlantısı kesildiğinde, İnternet erişimi olmadan , aniden gerçekleştirilen yeniden başlatma, terminalin geçmişi bulmasına yardımcı olur mu?
ve farkın 15000 puan olması için hangi gün olmalı.... ?
garip durum. doğal olarak mevcut günü gösteren bir grafik açılır. bir saniye önce, açılış fiyatı ve ortadan kayboldu?
Ben bir terminal geliştiricisi değilim ve yalnızca programlı olarak erişilebilir geçmişe sahip açık pencerelerdeki çubukların bağlantılarını tahmin edebilirim.
Belirsizliklerden kaçınmak için nasıl doğru programlama yapacağınızı size yazdım.
Ben bir terminal geliştiricisi değilim ve yalnızca açık pencerelerdeki çubukların bağlantılarını programlı olarak mevcut olan geçmişi tahmin edebilirim.
Belirsizliklerden kaçınmak için nasıl doğru programlama yapacağınızı size yazdım.
günün açılış fiyatından bahsederken ne gibi bir belirsizlik olabilir? başka hangi kontrollere ihtiyaç var?
GBPCAD çifti için 15.000 puan, bugünün geçmişi de dahil olmak üzere günün tüm geçmişinin ortadan kalktığı anlamına gelir. ve aniden ortadan kayboldu, çünkü şimdi oldu?
GBPCAD çifti için, 15000 puan, teklifleri RefreachRates() komutuyla güncelleme zahmetine girmediğiniz veya MarketInfo(Symbol(),MODE_BID) kullanmadığınız için Teklif fiyatının = 0 olduğu anlamına gelir.
hayır. çünkü bu durumda elde edilen değer negatif olacaktır (hesaplama formülüne bakınız).
sorun şu ki bir BID vardı, ancak geçmiş yoktu. ve bu hikayenin bir saniye önce olmasına rağmen, program koduna erişilememesinin nedenini buluyorum.
- Ve benim için bugün (13-05-2011) güncelleme yapılmadı. Bu benim DC'm yeni yapıyı görmezden mi geliyor?
Her neyse, güncelleme uyarısı veya normal bir yeniden başlatma olmadı.
- Ve benim için bugün (13-05-2011) güncelleme yapılmadı. Bu benim DC'm yeni yapıyı görmezden mi geliyor?
Her neyse, güncelleme uyarısı veya normal bir yeniden başlatma olmadı.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
MetaTrader 4 İstemci Terminali inşa 402
- Terminal: Geçmişi Geçmiş Merkezine (F2 tuşu) yüklerken saat dilimi düzeltmesi düzeltildi.
- Terminal: 5 karakterli semboller için 1-1 ölçeğinde çizelgelerin sabit görüntülenmesi.
- Forum gönderilerine ve kilitlenme günlüklerine dayalı düzeltmeler.
Otomatik güncellemeler LiveUpdate sistemi aracılığıyla sağlanacaktır