Hatalar, hatalar, sorular - sayfa 2

 
Interesting :

Çalışır, üç DC'de test edilmiştir (DC'lerde işlem gören tüm enstrümanların numaralandırılması)

böyle dene

   for ( int li= 0 ; li< SymbolsTotal (true); li++)
  {
   PrintFormat ( SymbolName (li,true));
  } 
OnTick adına, bu sadece bir örnek.
 
ddd06 :

Yani bu ve doğru ile çalışmayan konuşma hakkında!

   for ( int li= 0 ; li< SymbolsTotal (false); li++)
  {
   PrintFormat ( "%s" , SymbolName (li,false));
  }
Bu şekilde doğru olacaktır. bilgileri görüntülemek için işlevi kullandığınızdan
 PrintFormat(....) не путать с Print(.......)
 
sergey1294 :
Bu şekilde doğru olacaktır. bilgileri görüntülemek için işlevi kullandığınızdan
Teşekkürler, onları anlamadım ama soru açık kalıyor :)
 
ddd06 :
Teşekkürler, onları anlamadım ama soru açık kalıyor :)

Gerçek alıntılarda (gerçek, demo ve muhtemelen bir yarışmacı) bu kod iyi çalışıyor.3 terminalde kontrol ettim (başlatma sırasında çağrıldı)

   for ( int li= 0 ; li< SymbolsTotal (true); li++)
  {
  // PrintFormat ( SymbolName ( li, true )) ;
  //Так конечно правильней, но первый вариант тоже проходит за милую душу...
  PrintFormat ( "%s" , SymbolName (li, true ));
  } 

Bana piyasa incelemesinde olan 15 çifti gösteriyor.


Normal test sırasında, anladığım kadarıyla, "tüm karakterler seçili ... " muhtemelen tüm karakterleri gösterecektir (ancak bunları birer birer değiştirerek).


not

Kısacası, test cihazında, uzmanın işlem yaptığı (çok para birimi ise) kendi sembol listenize sahip olmanız ve bunu DC'de sunulanların listesiyle karşılaştırmanız gerekir.

 

Kesinlikle harika, ama yine de, bence bu bir kusur .

Anlayışın için teşekkürler.

İlginç bir şekilde, ilk gönderiyle, şimdiye kadar kimse cevap vermedi, güya yazabilirlerdi - Bir sonraki derlemede düzelteceğiz.

 

Geçmiştekisiparişlerin ve anlaşmaların sayısı döndürülmez:

 TerminalInfoInteger ( TERMINAL_BUILD ) 279
 void OnStart ()
  {
     Print ( "+---------------------------------------------------------+" );    
     Print ( "PositionsTotal() " , PositionsTotal ());
     Print ( "HistoryDealsTotal() " , HistoryDealsTotal ());
     Print ( "OrdersTotal() " , OrdersTotal ());
     Print ( "HistoryOrdersTotal() " , HistoryOrdersTotal ());    
  }

çıktı

Sipariş Geçmişi

 
Urain :

Geçmiştekisiparişlerin ve anlaşmaların sayısı döndürülmez:


Önce şu işlevi kullanarak geçmişi yüklemelisiniz:

 HistorySelect ( 0 , TimeCurrent ())
 
Valmars :

Önce şu işlevi kullanarak geçmişi yüklemelisiniz:


Evet, teşekkürler, her şey çalışıyor, kılavuzu daha fazla içeceğim :o)

Kullanıcı ve danışmanlar için bir akış ayrımı olduğunu düşünemedim,

Bana öyle geldi ki, tarih görüntülendiğinden, danışman tarafından okunması gerekiyor,

ama terminalin danışmanlar için kendi alanını yaratması gerçekten daha doğru olacak,

bilgi seçimi görünüşte kendi formatında ve çok daha hızlı olduğunda,

Birçok kişi bunun bir benzerini mql-4'te geçmişin periyodik olarak yüklendiği bir tampon olarak uyguladı.

 
Urain :

Evet, teşekkürler, her şey çalışıyor, kılavuzu daha fazla içeceğim :o)

Kullanıcı ve danışmanlar için bir akış ayrımı olduğunu düşünemedim,

Bana öyle geldi ki, tarih görüntülendiğinden, danışman tarafından okunması gerekiyor,

ama terminalin danışmanlar için kendi alanını yaratması gerçekten daha doğru olacak,

bilgi seçimi görünüşte kendi formatında ve çok daha hızlı olduğunda,

Birçok kişi bunun bir benzerini mql-4'te geçmişin periyodik olarak yüklendiği bir tampon olarak uyguladı.


Ne yazık ki, komut dosyaları, Uzman Danışmanlar ve terminal için alan paylaşılıyor. Bunu, örneğin son gün (gün) için terminalden geçmişi ararsanız ve ardından yukarıdaki işlevi komut dosyasından, danışmandan çalıştırırsanız, bunu doğrulayabilirsiniz. Ve terminaldeki tarihin de 'Tüm Tarih' olarak değiştiğini göreceksiniz. Bunun terminalin bir eksikliği olduğunu düşünüyorum. Birkaç senaryonuz, uzmanınız olduğunu ve her birinin kendi geçmişini istediğini hayal edin. Terminaldeki tarih atlayacak (görsel olarak), ancak buna ihtiyacınız var mı? Sonuçta, Uzman Danışmanların çalışmasından bağımsız olarak mevcut durumu görüntülemek için 'Geçmiş' sekmesine ihtiyacınız var.

Ek olarak, terminaldeki geçmiş genellikle bir gecikmeyle güncellenir, i. işlem yapılır, pozisyon kapatılır, ancak 'Geçmiş' sekmesinde görünmez. Bir keresinde özellikle hikayenin güncellenmesini bekledim. Dakika geçti.... Beklemedim... Yalnızca 'Geçmiş' sekmesinden geçmiş istemek için bir bağlam komutu veya geçmiş isteyen bir komut dosyası yürütüldükten sonra görünür.

 
ddd06 :

Kesinlikle harika, ama yine de, bence bu bir kusur .

Ayırdığınız için teşekkürler.

İlginç bir şekilde, ilk gönderiyle, şimdiye kadar kimse cevap vermedi, güya yazabilirlerdi - Bir sonraki derlemede düzelteceğiz.

Kusur, açıkça bir biçim dizesi kullanmadan PrintFormat'ı kullanmanızdır.

Bir sonraki derlemede neyi düzeltmeliyiz?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
Neden: