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

 
barudkinarseniy :
Merhaba yoldaşlar! Lütfen bana hatanın ne olduğunu söyleyin, derleyici olası veri kaybı hakkında bir uyarı verir(
Açık bir döküm gereklidir:
 int ts = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
 
Teşekkür ederim! Bu nüansları dönüşümle nasıl hatırlayabilirim))
 
barudkinarseniy :
Teşekkür ederim! Bu nüansları dönüşümle nasıl hatırlayabilirim))
Bu genellikle yanıltıcıdır: SymbolInfoInteger . Bu nedenle, yardıma bir kez daha bakmak daha iyidir.
 
Lütfen bana sorunun ne olduğunu söyle. Derleyici herhangi bir hata atmaz. Çoğu işlemde test cihazında her şey yolundadır, ancak bazen baskıdaki hata işleyici yanlış duraklar yazar ve açılış fiyatı 6 ondalık basamakla yazılır: Geçersiz fiyat (durdur) OrderSendX(symbol=AUDCAD,cmd=SEL,volume=0.29) ,fiyat=0.995120 ,slippage=50,stoploss=0.996470,takeprofit=0.991070)

 //+------------------------------------------------------------------+
//Открытие ордеров
void OrderOpen( int otype, double OpenPriceW1)
{
 int msl = ( int ) MarketInfo ( Symbol (), MODE_STOPLEVEL );
 int stsl = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
 
 if (otype == OP_BUY )
 {
  StepSTBAY = ( int )( Ask / Point - OpenPriceW1/ Point );
  
   if (StepSTBAY < msl) StepSTBAY = msl;
   if (StepSTBAY < stsl) StepSTBAY = StepSTBAY + stsl;
  
  lots = LotsByRisk( OP_BUY ,StepSTBAY);
  ST_BAY = NormalizeDouble ( Ask - StepSTBAY* Point , Digits );
  TP_BAY = NormalizeDouble ( Ask + StepSTBAY*RR* Point , Digits );
      
  OrderSendX( Symbol (), OP_BUY ,lots, Ask ,slipage,ST_BAY,TP_BAY, "" ,Magic, 0 , clrGreen );
 }
 if (otype == OP_SELL )
 {
  StepSTSELL = ( int )(OpenPriceW1/ Point - Bid / Point );
  
   if (StepSTSELL < msl) StepSTSELL = msl;
   if (StepSTSELL < stsl) StepSTSELL = StepSTSELL + stsl;
  
  lots = LotsByRisk( OP_SELL ,StepSTSELL);
  ST_SELL = NormalizeDouble ( Bid + StepSTSELL* Point , Digits );
  TP_SELL = NormalizeDouble ( Bid - StepSTSELL*RR* Point , Digits );
     
  OrderSendX( Symbol (), OP_SELL ,lots, Bid ,slipage,ST_SELL,TP_SELL, "" ,Magic, 0 , clrRed );
 }
}
//+------------------------------------------------------------------+
 
barudkinarseniy :
Lütfen bana sorunun ne olduğunu söyle. Derleyici herhangi bir hata atmaz. Çoğu işlemde test cihazında her şey yolundadır, ancak bazen baskıdaki hata işleyici yanlış duraklar yazar ve açılış fiyatı 6 ondalık basamakla yazılır: Geçersiz fiyat (durdur) OrderSendX(symbol=AUDCAD,cmd=SEL,volume=0.29) ,fiyat=0.995120 ,slippage=50,stoploss=0.996470,takeprofit=0.991070)

Gözüme ilk çarpan şey bu kod parçası, bu iki fonksiyon aynı
 int msl = ( int ) MarketInfo ( Symbol (), MODE_STOPLEVEL );
 int stsl = ( int ) SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_STOPS_LEVEL );
ilki eski sürüm, ikincisi yeni
 
Ve söyle bana, lütfen, danışman MT4'teki profili değiştirirken çalışmaya devam edecek mi? Yoksa kalıcı çalışma için danışmanlı tüm pencereler tek profilde mi açılmalı?
 

İyi günler sevgili programcılar!

MQL4'te farklı zaman dilimlerinde hesaplanan değerlere göre mum şeklinde bir grafik çizecek bir program yazmak mümkün mü? Belki bu tür görevler için hazır kodlar vardır?

 
Ivan Molchanov :
Ve söyle bana, lütfen, danışman MT4'teki profili değiştirirken çalışmaya devam edecek mi? Yoksa kalıcı çalışma için danışmanlı tüm pencereler tek profilde mi açılmalı?

Servis => Ayarlar



ve istediğini yap...

 
Merhaba! Ayarlanan harici parametrelerde zaman çerçevesi seçimini nasıl belirteceğimi söyler misiniz? Örnek ne olurdu ve manuel olarak yazdırılmazdı.
 
barudkinarseniy :
Merhaba! Ayarlanan harici parametrelerde zaman çerçevesi seçimini nasıl belirteceğimi söyler misiniz? Örnek ne olurdu ve manuel olarak yazdırılmazdı.

ENUM_TIMEFRAMES numaralandırma türü değişkenini kullanın.

Neden: