Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 803

 

Basit bir soru.

Döngüden bu şekilde çıkmak mümkün mü? Yoksa bu basitlik bedava değil mi?

 while ( 1 )
{
 .........
 if (............ ) return ;
 ..........
}
 

Bir soru daha.

MqlTick bir yapısı var, bir alanı var

uzun           zaman_msc ; // Milisaniye cinsinden son fiyat güncelleme zamanı

Anladığım kadarıyla time_msc , 1970'den bu yana geçen milisaniye sayısını saklar.

Parametreli bir CopyTick işlevi var

  uzun              from=0 , // kenelerin istendiği tarih

Yardım, bunun "Onayların istendiği tarih. 01/01/1970 tarihinden itibaren milisaniye cinsinden belirtilir" olduğunu belirtir.

Dikkat sorusu.

MqlTick yapısında ve CopyTick işlev parametresinde neden farklı veri türleri kullanılıyor? Ne de olsa, 1970'den beri zaman orada ve orada saklandı.

 
pivomoe :

Bir soru daha.

MqlTick bir yapısı var, bir alanı var

uzun           zaman_msc ; // Milisaniye cinsinden son fiyat güncelleme zamanı

Anladığım kadarıyla time_msc , 1970'den bu yana geçen milisaniye sayısını saklar.

Parametreli bir CopyTick işlevi var

  uzun              from=0 , // kenelerin istendiği tarih

Yardım, bunun "Onayların istendiği tarih. 01/01/1970 tarihinden itibaren milisaniye cinsinden belirtilir" olduğunu belirtir.

Dikkat sorusu.

MqlTick yapısında ve CopyTick işlev parametresinde neden farklı veri türleri kullanılıyor? Ne de olsa, 1970'den beri zaman orada ve orada saklandı.

ulong - işaretsiz uzun tip

 
Bunu biliyorum. Neden bir durumda imzalı bir tür kullanılır ve diğerinde imzasız? Davalar benzer.
 
pivomoe :

Basit bir soru.

Döngüden bu şekilde çıkmak mümkün mü? Yoksa bu basitlik bedava değil mi?

Ne endişesi? Yürütmenin koşula göre tamamlanması. Sadece döngüden çıkmanız gerekiyorsa, geri dönmeyin, kırın

 
Alexey Viktorov :

Ne endişesi? Yürütmenin koşula göre tamamlanması. Sadece döngüden çıkmanız gerekiyorsa, geri dönmeyin, kırın

Geri dönüş döngüsünden böyle bir çıkıştan sonra bellek tüketimini anlamıyorum ya da anlamıyorum?
 
pivomoe :
Geri dönüş döngüsünden böyle bir çıkıştan sonra bellek tüketimini anlamıyorum ya da anlamıyorum?

Neden? Kafanızı saçmalıklarla doldurmayın. Bu çıktı hızlı bir şekilde çalışacaktır.

 

Terminaldeki pazardan indirilen ücretsiz bir yardımcı programı (gösterge) nasıl reddedebilirim. Silmek yardımcı olmuyor. Uzun süredir kaldırılmış olmasına rağmen, ürünü güncelleme hakkında sürekli mesajlar alın.

 

beyler durumu anlamama yardım edin, test cihazında bir danışman var, her şey hatasız ve sorunsuz gidiyor, bir demo hesapta da sorunsuz ve danışmanı piyasaya yüklediğimde Autotester yazıyor:

2016.04.01 00:00:12 1.13780 sl'de 0.10 EURUSD anında satış başarısız oldu: 1.14030 tp: 1.13030 [Geçersiz hacim]
2016.04.01 00:00:24 başarısız anında satış 0.13779 sl'de 0.10 EURUSD: 1.14029 tp: 1.13029 [Geçersiz hacim]
2016.04.01 00:00:59 1.13782 sl'de 0.10 EURUSD anında satış başarısız oldu: 1.14032 tp: 1.13032 [Geçersiz hacim]
2016.04.01 00:01:00 1.13793 sl'de 0.10 EURUSD anında satış başarısız oldu: 1.14043 tp: 1.13043 [Geçersiz hacim]
2016.04.01 00:01:08 başarısız anında satış 0.13783 sl'de 0.10 EURUSD: 1.14033 tp: 1.13033 [Geçersiz hacim]
2016.04.01 00:01:17 başarısız anında satış 0.13784 sl'de 0.10 EURUSD: 1.14034 tp: 1.13034 [Geçersiz hacim]
2016.04.01 00:01:25 başarısız anında satış 0.13774 sl'de 0.10 EURUSD: 1.14024 tp: 1.13024 [Geçersiz hacim]
2016.04.01 00:01:34 başarısız anında satış 0.13776 sl'de 0.10 EURUSD: 1.14026 tp: 1.13026 [Geçersiz hacim]
2016.04.01 00:01:59 1.13778 sl'de 0.10 EURUSD anında satış başarısız oldu: 1.14028 tp: 1.13028 [Geçersiz hacim]
2016.04.01 00:02:00 1.13778 sl'de 0.10 EURUSD anında satış başarısız oldu: 1.14028 tp: 1.13028 [Geçersiz hacim]
2016.04.01 00:02:08 başarısız anında satış 0.13776 sl'de 0.10 EURUSD: 1.14 026 tp: 1.13026 [Geçersiz hacim]

aşağıdaki fonksiyon kodu:

OpenPos( NormalizeDouble (Lot, 2 ), NormalizeDouble ( Bid , _Digits ), NormalizeDouble (_sl, _Digits ), NormalizeDouble (_tp, _Digits ), ORDER_TYPE_SELL ,MagicSell,Comm);
 void OpenPos( const double volume, const double price, const double stop, const double take, const ENUM_ORDER_TYPE o_type, const int magic, const string coment= NULL )
{
   MqlTradeRequest request={ 0 };
   MqlTradeResult result={ 0 };
   
   string t=(o_type== ORDER_TYPE_BUY )? "Buy" : "Sell" ;
   
   ZeroMemory (request);
   ZeroMemory (result);
   
   request.action= TRADE_ACTION_DEAL ;
   request.symbol= Symbol ();
   request.volume=volume;
   request.type=o_type;
   request.magic=magic;
   request.price=price;
   request.sl=stop;
   request.tp=take;
   request.comment=coment;
   
   if (IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_FOK ))
      request.type_filling= ORDER_FILLING_FOK ;
   else if (IsFillingTypeAllowed( Symbol (), SYMBOL_FILLING_IOC ))
      request.type_filling= ORDER_FILLING_IOC ;
   else
      request.type_filling= ORDER_FILLING_RETURN ;
   
   if (! OrderSend (request,result))
       PrintFormat ( "Can't open position %s error %i" ,t, GetLastError ());
}
 
Andrii Djola :

beyler durumu anlamama yardım edin, test cihazında bir danışman var, her şey hatasız ve sorunsuz gidiyor, bir demo hesapta da sorunsuz ve danışmanı piyasaya yüklediğimde Autotester yazıyor:

OrderCheck'in sonucunu ve tüm yapısını yazdırın. OrderSend ile aynı.

On farklı ticaret sunucusunda demo hesapları açın. Ve kodunuzu orada deneyin. Çoğu zaman, Market'te kontrol edilirken yeniden üretilen ticaret sunucusunun bazı özellikleri dikkate alınmaz.+

Ve LastError'ı yazdırmayı unutmayın. Bütün bunlar birlikte çok hızlı bir şekilde hatanın nedenlerini anlamanıza izin verecektir.