Çaydanlıktan gelen sorular - sayfa 24

 
tol64 :
Basit bir örnek alabilir miyim?
uyarının hangi satırda verildiğini gösterir. ve hangi türler küfür eder
 
sergeev :
uyarının hangi satırda verildiğini gösterir. ve hangi türler küfür eder

 void OnStart ()
  {
//--- выведем всю информацию, доступную из функции AccountInfoInteger()
   printf ( "ACCOUNT_LOGIN =  %d" , AccountInfoInteger ( ACCOUNT_LOGIN ));
   printf ( "ACCOUNT_LEVERAGE =  %d" , AccountInfoInteger ( ACCOUNT_LEVERAGE ));
   bool thisAccountTradeAllowed= AccountInfoInteger ( ACCOUNT_TRADE_ALLOWED );
   bool EATradeAllowed= AccountInfoInteger ( ACCOUNT_TRADE_EXPERT );

   ENUM_ACCOUNT_TRADE_MODE tradeMode= AccountInfoInteger ( ACCOUNT_TRADE_MODE );           // На этой строке: Строка 25 Столбец 40 и Столбец 78
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode= AccountInfoInteger ( ACCOUNT_MARGIN_SO_MODE );   // И на этой     : Строка 26 Столбец 44 и Столбец 86

...
Kodda vurgulanır ve yorumlanır.
 
tol64 :

Kodda vurgulanır ve yorumlanır.

   ENUM_ACCOUNT_TRADE_MODE tradeMode= ( ENUM_ACCOUNT_TRADE_MODE )AccountInfoInteger ( ACCOUNT_TRADE_MODE );
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode= ( ENUM_ACCOUNT_STOPOUT_MODE )AccountInfoInteger ( ACCOUNT_MARGIN_SO_MODE );

 
uncleVic :

Teşekkür ederim. Ayrıca stop-out seviye modunun ayarlanmasını da sormak istiyorum. Bu modu sadece ticaret sunucusu tarafından ayarlandığı için öğrenebilir miyim yoksa değiştirebilir miyim?
 
tol64 :
Teşekkür ederim. Ayrıca stop-out seviye modunun ayarlanmasını da sormak istiyorum. Bu modu sadece ticaret sunucusu tarafından ayarlandığı için öğrenebilir miyim yoksa değiştirebilir miyim?
Stop-out salt okunurdur, ayarlayamazsınız. Ve genel olarak, AccountInfo...() işlevlerinin üzerinde çalıştığı her şey salt okunurdur.
 
tol64 :

Kodda vurgulanır ve yorumlanır.

Teşekkürler, örnek düzeltildi. Artık derleyici bu örnek için uyarı vermeyecektir.
 

Belli verileri/özellikleri okumanız gereken her yerde, amcaVic tarafından gösterilen seçeneği kullanmanız gerektiği ortaya çıktı: https://www.mql5.com/ru/forum/3775/page24#comment_84143

Örneğin, ilk bakışta mantıklı olanı yaparsanız (ve mql4 geçişinden aşina olduğunuz), derleyici bir uyarı verir:

   int val_x_dist;
   int val_y_dist;
   
   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   val_x_dist = ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   val_y_dist = ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

Derleyici uyarılarından kurtulmak için aşağıdakilerden birini yapmanız gerekir:

   int val_x_dist;
   int val_y_dist;
   
   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   val_x_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   val_y_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

Veya UncleVic'in bunu gösterme şekli, yani :

   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   ENUM_OBJECT_PROPERTY_INTEGER val_x_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   ENUM_OBJECT_PROPERTY_INTEGER val_y_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

doğru mu anladım

 
AUser :
Rastgele sayı üretecinin nasıl çalıştığını söyle ve sayıyı çift/tek için kontrol eden bir işlev var mı? Jeneratör hakkında, çaydanlığın anlayabileceği bir dilde açıklamak istenir)) Yardımı anlamadım))

Bu veya bu işlevin ne yaptığını bulmanın en basit örneği. Komut dosyasını çalıştırın ve günlüğe bakın.

 void OnStart ()
  {
   int x;
   
   x = MathRand ();
   
   Print ( "x : " ,x);
  }
 
#define Vrsn "0.01a"
#property version   Vrsn

ChartSaveTemplate(Chrt_Smbl_ID_Crrnt,Vrsn);

şablon 0.tpl olarak kaydedilir

 #define Vrsn "001a"

şablon 001a .tpl olarak kaydedilir - aslında, almanız gereken şey.

Soru: nokta önceden nasıl kaldırılır?

upgr muhtemelen daha kesindir: bir dizgede bir karakter nasıl bulunur?

upgr ve hala neponyatka. eğer

 #define Vrsn "0.01a"

bir nokta var, o zaman sadece kesildikten sonra olan değil, aynı zamanda dümdüz olan da

ChartSaveTemplate(Chrt_Smbl_ID_Crrnt,Vrsn+Smbl_Crrnt);
niye ya? muhtemelen, StringToInteger derlendiğinde tetiklenirse ..
 
Silent :

şablon 0.tpl olarak kaydedilir

şablon 001a .tpl olarak kaydedilir - aslında, almanız gereken şey.

Soru: nokta önceden nasıl kaldırılır?

upgr muhtemelen daha kesindir: bir dizgede bir karakter nasıl bulunur?

upgr ve hala neponyatka. eğer

bir nokta var, o zaman sadece kesildikten sonra olan değil, aynı zamanda dümdüz olan da

niye ya? muhtemelen, StringToInteger derlendiğinde tetiklenirse ..

Diske yazılan her şey hatasız olarak çöp ve kötü amaçlı yazılımlara karşı kontrol edilir.

Bir şablon yazarsanız, kullanıcının ne istediğinden bağımsız olarak şablon bir tpl dosyası olmalıdır. Bu yüzden isimdeki kullanıcı tarafından belirtilen nokta kesiliyor.

Neden: