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

 
Zorian43 :
Herkese iyi akşamlar! Doğru konuya mı yazıyorum bilmiyorum yanlış başlıktaysa kusura bakmayın. Metatrader 5'i Android'e yüklerken , otomatik olarak bir demo hesabı oluşturuldu ve uygulama her başlatıldığında hemen ona bağlandı. Halihazırda bir komisyoncudan uygulamaya başka bir hesap bağlamak istediğimde, bir demo hesabının şifresini nerede görebileceğimi bulamadım. Sonuç olarak, "şifreyi sıfırla" yı tıkladım ve bundan sonra demoya bağlanamıyorum. Lütfen bana bu hesaba erişimi geri yüklemenin bir yolu olup olmadığını söyleyebilir misiniz?
Numara. Yeni bir demo hesabı açın.
 

Merhaba!

CAccountInfo::MarginCheck() yönteminin neden test cihazında gerekli marj sıfırını döndürebildiğini söyler misiniz? Yalnızca ORDER_TYPE_BUY_LIMIT limitli satın alma siparişi için çağrıldığında sıfır döndürür.

Enstrüman Si-9.18 - MICEX'ten dolar vadeli işlemleri.

Test projesinde, test cihazındaki aşağıdaki çağrı sıfır değil, 90 - tamamen mantıksız görünen küçük bir değer verir:

 ENUM_ORDER_TYPE      orderType   = NULL ;
uint                 orderVolume = 1 ;
double               orderPrice  = gvTick.last;
double marginRequired = 0 ;

orderType       = ORDER_TYPE_BUY_LIMIT ;
marginRequired  = gnCAccountInfo.MarginCheck( gsIns, orderType, orderVolume, orderPrice);
Print ( "  Требуемая маржа " , marginRequired);
 Günlük çıktısı:
2018.09.01 13:38:56.040 2018.06.13 12:10:00 Gerekli marj 90.0

 
rel18 :

Merhaba!

CAccountInfo::MarginCheck() yönteminin neden test cihazında gerekli marj sıfırını döndürebildiğini söyler misiniz? Yalnızca ORDER_TYPE_BUY_LIMIT limitli satın alma siparişi için çağrıldığında sıfır döndürür.

Enstrüman Si-9.18 - MICEX'ten dolar vadeli işlemleri.

Test projesinde, test cihazındaki aşağıdaki çağrı sıfır değil, 90 - tamamen mantıksız görünen küçük bir değer verir:

Şüpheleniyorum çünkü sadece sorman gerekiyor

ORDER_TYPE_BUY

Piyasa Alış emri

ORDER_TYPE_SELL

Piyasa Satış emri

 
Vladimir Karputov :

Şüpheleniyorum çünkü sadece sorman gerekiyor

ORDER_TYPE_BUY

Piyasa Alış emri

ORDER_TYPE_SELL

Piyasa Satış emri

Aynı örnek için test cihazında bir satın alma limit emri yürütmenin sonucu aşağıdadır. 90'lık bir marj çok küçük, gerçekten oluyor mu?


Ve şimdi test cihazında sıfır marjım var:



Tüm geriye dönük testler gerçek bir hesap kullanılarak yapılmıştır.
 

Gösterge çalışmayı durdurdu, lütfen derlemeye yardım edin
Teşekkür ederim.

Dosyalar:
VP-Range-v6.mq5  44 kb
VP-v6.mq5  42 kb
 
rel18 :

Aynı örnek için test cihazında bir satın alma limit emri yürütmenin sonucu aşağıdadır. 90'lık bir marj çok küçük, gerçekten oluyor mu?


Belki bir demo hesabıdır? Aynı komisyoncu ile gerçek hayatta deneyin.

 
Aliaksei Karalkou :

Gösterge çalışmayı durdurdu, lütfen derlemeye yardım edin
Teşekkür ederim.

1861 yapısında yerleşik bir iBarShift işlevi bulunduğundan , özel bir işlev olarak kullanılamaz. İşlevi yeniden adlandırın.

 

Merhaba! Sorunu çözmeye yardımcı olun. " PERIOD_M1 " " PERIOD_M2 " " PERIOD_M3 " vb. biçiminde String türünün bir değeri vardır. Bu değerleri sırasıyla ENUM_TIMEFRAMES türündeki değerlerle değiştirmeniz gerekir - PERIOD_M1, PERIOD_M2, PERIOD_M3 vb.

Aşağıdaki ÖRNEK'te her şey yolunda gidecektir, ancak switch deyiminde bir dize değişkeni kullanamazsınız, ne yapmalı? Sadece if....else yapısını kullanmak mümkün olabilir, ama bence daha zarif yollar var. Hangi teklifler var? Teşekkür ederim!

 //+------------------------------------------------------------------+
//| Преобразует строку в таймфрейм                                   |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES StringToTimeframe( string timeframe)
  {
   ENUM_TIMEFRAMES tfr= Period ();
   switch (timeframe) 
     {
       case "M1"   : tfr= PERIOD_M5 ;   break ;
       case "M2"   : tfr= PERIOD_M6 ;   break ;
       case "M3"   : tfr= PERIOD_M5 ;   break ;
      }
//---
   return (tfr);
  }
 
Tango_X :

Merhaba! Sorunu çözmeye yardımcı olun. " PERIOD_M1 " " PERIOD_M2 " " PERIOD_M3 " vb. biçiminde String türünün bir değeri vardır. Bu değerleri sırasıyla ENUM_TIMEFRAMES türündeki değerlerle değiştirmeniz gerekir - PERIOD_M1, PERIOD_M2, PERIOD_M3 vb.

Aşağıdaki ÖRNEK'te her şey yolunda gidecektir, ancak switch deyiminde bir dize değişkeni kullanamazsınız, ne yapmalı? Sadece if....else yapısını kullanmak mümkün olabilir, ama bence daha zarif yollar var. Hangi teklifler var? Teşekkür ederim!

if() yapılarını kullanın

 
Tango_X :

Merhaba! Sorunu çözmeye yardımcı olun. " PERIOD_M1 " " PERIOD_M2 " " " PERIOD_M3 " vb. biçiminde String türünün bir değeri vardır. Bu değerleri sırasıyla ENUM_TIMEFRAMES türündeki değerlerle değiştirmeniz gerekir - PERIOD_M1, PERIOD_M2, PERIOD_M3 vb.

Aşağıdaki ÖRNEK'te her şey yolunda gidecektir, ancak switch deyiminde bir dize değişkeni kullanamazsınız, ne yapmalı? Sadece if....else yapısını kullanmak mümkün olabilir, ama bence daha zarif yollar var. Hangi teklifler var? Teşekkür ederim!

 //+------------------------------------------------------------------+
//| Преобразует строку в таймфрейм                                   |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES StringToTimeframe( string timeframe)
  {
   return
     (
      timeframe == "M1"    ?   PERIOD_M1   :
      timeframe == "M2"    ?   PERIOD_M2   :
      timeframe == "M3"    ?   PERIOD_M3   :
      timeframe == "M4"    ?   PERIOD_M4   :
      timeframe == "M5"    ?   PERIOD_M5   :
      timeframe == "M6"    ?   PERIOD_M6   :
      timeframe == "M10"   ?   PERIOD_M10 :
      timeframe == "M12"   ?   PERIOD_M12 :
      timeframe == "M15"   ?   PERIOD_M15 :
      timeframe == "M20"   ?   PERIOD_M20 :
      timeframe == "M30"   ?   PERIOD_M30 :
      timeframe == "H1"    ?   PERIOD_H1   :
      timeframe == "H2"    ?   PERIOD_H2   :
      timeframe == "H3"    ?   PERIOD_H3   :
      timeframe == "H4"    ?   PERIOD_H4   :
      timeframe == "H6"    ?   PERIOD_H6   :
      timeframe == "H8"    ?   PERIOD_H8   :
      timeframe == "H12"   ?   PERIOD_H12 :
      timeframe == "D1"    ?   PERIOD_D1   :
      timeframe == "W1"    ?   PERIOD_W1   :
      timeframe == "MN1"   ?   PERIOD_MN1 : 
       PERIOD_CURRENT
     );
  }
//+------------------------------------------------------------------+