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

 
Alexey Kozitsyn :
Evet, giriş parametreleri değiştirilemez. Dürüst olmak gerekirse, bu değeri neden 3/5 haneli tırnaklara göre değiştirdiğimi anlamıyorum? Sonuçta bu değeri giriş parametrelerinde ayarladınız. Sadece 100 yazıp (3/5 rakam ise) ve acı çekmez misin?

Aslında, 5 işaret üzerinde optimize ediyorum - daha fazla geçmiş ve puanlar dahil farklı ayarları kullanarak 4 üzerinde işlem yapıyorum. Ayarlarda kafam karışmak istemiyorum - bu yüzden böyle bir çözüm.

 
-Aleks- :

Aslında, 5 işarette optimizasyon yapıyorum - daha fazla geçmiş ve 4'te ticaret, puanlar dahil farklı ayarlar kullanılıyor. Ayarlarda kafam karışmak istemiyorum - bu yüzden böyle bir çözüm.

Bu nasıl çalışması gerekir

int Sign = 1 ;

int OnInit () {
// Округлим огрызки - 3 и 5 знак
Sign=( SymbolInfoInteger (_Symbol, SYMBOL_DIGITS )== 3 || SymbolInfoInteger (_Symbol, SYMBOL_DIGITS )== 5 )? 10 : 1 ;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
 
Vitaly Muzichenko :

Bu nasıl çalışması gerekir

int Sign = 1 ;

int OnInit () {
// Округлим огрызки - 3 и 5 знак
Sign=( SymbolInfoInteger (_Symbol, SYMBOL_DIGITS )== 3 || SymbolInfoInteger (_Symbol, SYMBOL_DIGITS )== 5 )? 10 : 1 ;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}


Teşekkürler - Danışmanı başlatmayı başarır başarmaz deneyeceğim...

 

Hala bu hatayı alıyorum, nasıl düzeltebilirim?

'MODE_MAIN' - numaralandırıcı tanımlayıcısı zaten tanımlanmış initmql4__1.mqh 223 24


 ENUM_STO_PRICE StoFieldMigrate(int field)


  {
   switch(field)
     {
      case 0: return(STO_LOWHIGH);
      case 1: return(STO_CLOSECLOSE);
      default: return(STO_LOWHIGH);
     }
  }

//+------------------------------------------------------------------+
enum ALLIGATOR_MODE  { MODE_GATORJAW=1,   MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE     { MODE_BASE,         MODE_UPPER,      MODE_LOWER };
enum ICHIMOKU_MODE   { MODE_TENKANSEN=1,  MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN ,         MODE_SIGNAL };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
  {
   double buf[];
   switch(index)
     {
      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
         return(buf[0]); break;
      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
         return(buf[0]); break;
      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
         return(buf[0]); break;
      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
         return(buf[0]); break;
      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
         return(buf[0]); break;
      default: break;
     }
   return(EMPTY_VALUE);
  }
//+------------------------------------------------------------------+

 
-Aleks- :

Böyle bir durumda bir hata alıyorum - hatanın neden oluştuğunu anlamama yardım et - MQL5'te kullanıcı tarafından girilen bir değişkenin değerini değiştirmek imkansız mı?

Yasaktır!

MQL4_to_MQL5.mqh kullanmaya karar verirseniz, bunu yapmamanızı şiddetle tavsiye ederim. Çünkü kütüphane açıklamasında yer alan örnekler için yazılmıştır. Onlar. hiçbir şekilde evrensel değildir. Özellikle, MarketInfo'nun çok sınırlı bir sürümü var (sadece örneklerin işe yaraması için). Ama orada iyi çözümler var. Bu nedenle, bu mqh'nin kendisini kullanmamak, sadece oradan faydalı şeyler almak daha iyidir.

 
-Aleks- :

Hala bu hatayı alıyorum, nasıl düzeltebilirim?

'MODE_MAIN' - numaralandırıcı tanımlayıcısı zaten tanımlanmış initmql4__1.mqh 223 24


 ENUM_STO_PRICE StoFieldMigrate(int field)


  {
   switch(field)
     {
      case 0: return(STO_LOWHIGH);
      case 1: return(STO_CLOSECLOSE);
      default: return(STO_LOWHIGH);
     }
  }

//+------------------------------------------------------------------+
enum ALLIGATOR_MODE  { MODE_GATORJAW=1,   MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE     { MODE_BASE,         MODE_UPPER,      MODE_LOWER };
enum ICHIMOKU_MODE   { MODE_TENKANSEN=1,  MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN ,         MODE_SIGNAL };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
  {
   double buf[];
   switch(index)
     {
      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
         return(buf[0]); break;
      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
         return(buf[0]); break;
      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
         return(buf[0]); break;
      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
         return(buf[0]); break;
      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
         return(buf[0]); break;
      default: break;
     }
   return(EMPTY_VALUE);
  }
//+------------------------------------------------------------------+

Yeniden isimlendirmek. TÜM numaralandırmaların alanları farklı olmalıdır. Ve enum ADX_MODE ve enum MAIN_SIGNAL_MODE içinde aynı ada sahip alanlarınız var.
 
fxsaber :
Yeniden isimlendirmek. TÜM numaralandırmaların alanları farklı olmalıdır. Ve enum ADX_MODE ve enum MAIN_SIGNAL_MODE içinde aynı ada sahip alanlarınız var.

Şimdilik yorum yaptım... Bence kritik değil...

Bununla birlikte, danışman iki kitaplık kullanılarak derlenmiştir - ticaret işlevleri ve diğer işlevlerin 4'ten 5'e çevrilmesi.

İlk beşteki test cihazından bıkmış olsam da - görselleştirme sırasında göstergelerin nereye yerleştirilebileceğini ve günlüğün nasıl filtreleneceğini bulamıyorum ...

Henüz açık siparişleri göremedim, ha.

 

Nasıl yorumlanır:

2016.11.04 20:42:25.224 2016.02.11 14:04:30 Beklenmeyen hata - 4756 yüklenirken ertelendi
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder sipariş talebi gönderildi. Tip: BuyStop lot=1.0 opFiyat=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 başarısız satın alma durağı 1.00 RTS-12.16, 68180 sl: 67260 tp: 68200 [Geçersiz süre sonu]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Beklenmeyen hata - 4756 yüklenirken ertelendi

 
-Aleks- :

Nasıl yorumlanır:

2016.11.04 20:42:25.224 2016.02.11 14:04:30 Beklenmeyen hata - 4756 yüklenirken ertelendi
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder sipariş talebi gönderildi. Tip: BuyStop lot=1.0 opFiyat=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 başarısız satın alma durağı 1.00 RTS-12.16, 68180 sl: 67260 tp: 68200 [Geçersiz süre sonu]
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Beklenmeyen hata - 4756 yüklenirken ertelendi

Son kullanma görevinde bir sorun var.
 
-Aleks- :

İlk beşteki test cihazından bıkmış olsam da - görselleştirme sırasında göstergelerin nereye yerleştirilebileceğini ve günlüğün nasıl filtreleneceğini bulamıyorum ...

Henüz açık siparişleri göremedim, ha.

2006'dan dönüştürülmüş MT4 betiği aracılığıyla test cihazının geçmişine bakıyorum. Her şeyi MT4 kadar rahat bir şekilde gösterir.