Hatalar, hatalar, sorular - sayfa 2572

 
Vict :

CJVal'i nasıl yaratırsınız? belki yeni CJVal()?

Terminalin bunu yakalaması pek olası değildir.

Hayır, İncil'in yazarı örneğinde olduğu gibi, yığında

CJAVal js( NULL , jtUNDEF);
 

Görsel test modumda SymbolInfoTick() işlevinin bir değer döndürdüğünü ve Close[0] zaman serisinin başka bir değeri olduğunu buldum.

Bu benim hatam mı? Yanlış bir şey mi yapıyorum?

Değerler aynı olmalı gibi görünüyor:

 int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---

   MqlTick mtLastTick;
   SymbolInfoTick ( Symbol (),mtLastTick);
   
   ArraySetAsSeries (close, true );


   Comment ( "Close[0] = " + DoubleToString (close[ 0 ], 5 ) + "\nLastBid = " + DoubleToString (mtLastTick.bid, 5 ));
   
//--- return value of prev_calculated for next call
   return (rates_total);
  }

Kural olarak, fark 1-2 puandır, ancak keskin hareketlerde daha da fazla olabilir.

Sadece ben mi?

Şimdiye kadar zaman serilerini "daha doğru" olarak aldım, SymbolInfoTick()'in Close[0]'dan farklı bir değer verdiği ortaya çıkarsa, Close[0]'ın doğru değer olduğunu düşünüyorum, spread'i aynı bırakıyorum SymbolInfoTick() tarafından döndürülen gibi.

Ancak yine de, hangi fiyatın doğru olduğunu, DC'nin hangi fiyata "baktığını" - SymbolInfoTick()'te veya Close[0]'da anlamak ilginçtir.

Dosyalar:
TestTick.mq5  2 kb
 
Georgiy Merts :

Görsel test modumda SymbolInfoTick() işlevinin bir değer döndürdüğünü ve Close[0] zaman serisinin başka bir değeri olduğunu buldum.

Bu benim hatam mı? Yanlış bir şey mi yapıyorum?

Değerler aynı olmalı gibi görünüyor:

Kural olarak, fark 1-2 puandır, ancak keskin hareketlerde daha da fazla olabilir.

Sadece ben mi?

Şimdiye kadar zaman serilerini "daha doğru" olarak aldım, SymbolInfoTick()'in Close[0]'dan farklı bir değer verdiği ortaya çıkarsa, Close[0]'ın doğru değer olduğunu düşünüyorum, spread'i aynı bırakıyorum SymbolInfoTick() tarafından döndürüldüğü gibi.

Ancak yine de, hangi fiyatın doğru olduğunu, DC'nin hangi fiyata "baktığını" - SymbolInfoTick()'te veya Close[0]'da anlamak ilginçtir.

Ayrıca SymbolInfoDouble(_Symbol,SYMBOL_BID) var

 
Andrey Barinov :

Ayrıca SymbolInfoDouble(_Symbol,SYMBOL_BID) var

Evet, SymbolInfoTick() ile aynı şeyi döndürür.

 

Bana global değişkenlerden bahset. Market Watch'tan kene kaydetme sorunu çözüldü.

Her yeni onay işareti, karşılık gelen global değişkeni bir artırır. Market Watch'ta saniyede yaklaşık 100 tik göze çarpıyor.

Toplamda, global değişkenler 100 Hz hızında güncellenir. Bunun SSD'yi olumsuz etkileyip etkilemediğini merak ediyorum.

Her 1000'de bir keneleri kaydederim (haftada ~1 Gb birikir). Onlar. bunda sorun yok. Ancak küresel olanlarla, her güncellemede SSD'ye yazıldığını daha önce düşünmemiştim.

Bu nedenle, bu soru ortaya çıktı.

 
fxsaber :

Bana global değişkenlerden bahset. Market Watch'tan kene kaydetme sorunu çözüldü.

Her yeni onay işareti, karşılık gelen global değişkeni bir artırır. Market Watch'ta saniyede yaklaşık 100 tik göze çarpıyor.

Toplamda, global değişkenler 100 Hz hızında güncellenir. Bunun SSD'yi olumsuz etkileyip etkilemediğini merak ediyorum.

Her 1000'de bir keneleri kaydederim (haftada ~1 Gb birikir). Onlar. bunda sorun yok. Ancak küresel olanlarla, her güncellemede SSD'ye yazıldığını daha önce düşünmemiştim.

Bu nedenle, bu soru ortaya çıktı.

Her güncellemede diske yazılmazlar.

 
fxsaber :

Bana global değişkenlerden bahset. Market Watch'tan kene kaydetme sorunu çözüldü.

Her yeni onay işareti, karşılık gelen global değişkeni bir artırır. Market Watch'ta saniyede yaklaşık 100 tik göze çarpıyor.

Toplamda, global değişkenler 100 Hz hızında güncellenir. Bunun SSD'yi olumsuz etkileyip etkilemediğini merak ediyorum.

Her 1000'de bir keneleri kaydederim (haftada ~1 Gb birikir). Onlar. bunda sorun yok. Ancak küresel olanlarla, her güncellemede SSD'ye yazıldığını daha önce düşünmemiştim.

Bu nedenle, bu soru ortaya çıktı.

Terminal global değişkenlerinin, diske periyodik otomatik kaydetme özelliğine sahip kaynaklar aracılığıyla uygulandığını düşünüyorum. Otomatik kaydetmenin her 3 saniyede bir, büyük olasılıkla çok daha az sıklıkla gerçekleştiğini düşünmüyorum ve bunun yalnızca deinit olayı gerçekleştiğinde olması bile mümkün.

 

Bir zamanlar terminalin global değişkenleri hakkında yardımda okuduklarıma bakmak istemiyorum, ancak terminal kapatıldığı anda kayıtlı görünüyorlar - unutabilsem de uzun zaman önce okudum

kontrol etmek daha kolay, Windows'ta görev yöneticisinde sabit disk kullanımının bir şeması var


 
Igor Makanu :

Bir zamanlar terminalin global değişkenleri hakkında yardımda okuduklarıma bakmak istemiyorum, ancak terminal kapatıldığı anda kayıtlı görünüyorlar - unutabilsem de uzun zaman önce okudum

kontrol etmek daha kolay, Windows'ta görev yöneticisinde sabit disk kullanımının bir şeması var


Muhtemelen burada notta

 
Cevap için teşekkürler. Yıkama işlevi, tüm belirsiz yorumları hemen bir kenara attı.
Neden: