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

 
Sprut112 :

Buna izin var mı?

böyle yap...

 double Freeus = AccountInfoDouble ( ACCOUNT_MARGIN_FREE )* MaximumRisk 
               / SymbolInfoDouble (symbol_name[ir], SYMBOL_TRADE_TICK_VALUE )/ 1000 ;
  input_lots = NormalizeDouble ( MathRound (Freeus) * SymbolInfoDouble (symbol_name[ir], SYMBOL_VOLUME_STEP ),dg);
 
xxz :

böyle yap...

Hayır, Step'i eklediğimde her şey çalıştı :) Tekrar teşekkürler!
 
Vladimir Karputov :

Uzman Danışmanlarda (OnInit()) başlatma bloklarını düzeltin.

Tam olarak ne ? uyarılar 0. 0 döndür
dönüş ( INIT_SUCCEEDED ) olmadıkça.
 
pivomoe :
Tam olarak ne ? uyarılar 0. 0 döndür
dönüş ( INIT_SUCCEEDED ) olmadıkça.

Yeniden yüklenmeyen Uzman Danışmanların OnInit() işlevinin tam MQL5 kodunu gösterin. Yeniden yüklenmeyen Uzman Danışmanların OnDeinit() işlevinin tam MQL5 kodunu gösterin. Uzman Danışmanlar üçüncü taraf kitaplıkları mı kullanıyor? DLL?

 
Vladimir Karputov :

Yeniden yüklenmeyen Uzman Danışmanların OnInit() işlevinin tam MQL5 kodunu gösterin. Yeniden yüklenmeyen Uzman Danışmanların OnDeinit() işlevinin tam MQL5 kodunu gösterin. Uzman Danışmanlar üçüncü taraf kitaplıkları mı kullanıyor? DLL?

dll kullanmıyorum. OnInit kodu, 1000 satırlık bir sayfadır. Sınıflar için bir bellek tahsisi vardır. OnDeinit'te muhtemelen tüm bellek serbest bırakılmaz. Terminali bir çarpı işaretiyle kapatarak her şey yolunda, ancak zamanlayıcı aracılığıyla her şey yalnızca vakaların% 90'ında yolunda.
 
pivomoe :
dll kullanmıyorum. OnInit kodu 1000 satırlık bir sayfadır. Sınıflar için bir bellek tahsisi vardır. OnDeinit'te muhtemelen tüm bellek serbest bırakılmaz. Terminali bir çarpı işaretiyle kapatarak her şey yolunda, ancak zamanlayıcı aracılığıyla her şey yalnızca vakaların% 90'ında yolunda.

Sorunuzun %90'ına cevap vermişsiniz. Geriye hatayı bulmak kalıyor :)

 
Lütfen bana her siparişe nasıl açıkça bir sihir atayacağımı söyle.
Örneğin.
Yüklemeniz gerekiyor:
Buy_Stop siparişi verin ve ona magic_1 atayın
Buy_Stop siparişi verin ve ona magic_2 atayın
Buy_Stop siparişi verin ve ona magic_3 atayın

Böylece siparişleri değiştirirken, hangi siparişin değiştirileceğini açıkça belirtmek mümkün olacaktır.

Buy_Stop == magic_2 siparişi verirseniz, değiştirin.

 

Tünaydın.

Test cihazında Uyku () eksikliği hakkında sorularım var. İnsanların strateji test cihazını kullanırken aşağıdaki görevleri nasıl çözdüğünü bilmek istiyorum (hem tek bir çalıştırma hem de giriş parametrelerinin numaralandırılması):

1) Gösterge kolunun hazır olup olmadığı nasıl kontrol edilir? Gösterge hesaplamasının tamamlanmasını nasıl bekletebilirim ve ancak o zaman çizgiler boyunca daha ileri gidebilirim.

2) Danışmanın çalışması sırasında okuma için çağrılan bir metin dosyasının açılması nasıl beklenir?

3) OrdersTotal() işlevinin yanıtı nasıl beklenir? Ve bu fonksiyonun yanıtında gecikme olabilir mi?

4) OrderCalcMargin() işlevinin yanıtı nasıl beklenir? Ve bu fonksiyonun yanıtında gecikme olabilir mi?

5) Test cihazının MqlTradeResult aracılığıyla " ticaret sunucusu dönüş kodunu " beklemesi için (nasıl olduğu açık olmasa da) ayarlamak mantıklı mı?

Terminalde, tüm bu görevler Sleep () kullanılarak çözüldü, ancak test cihazında çalışmıyor. Ek olarak, tam olarak ne için Uyku () gerektiğinden emin değilim, belki mantıklı bir çözüm var mı?

Şimdiden teşekkürler.

 

Merhaba! yapıyı ayrıştırmak if... C= (i>0) ? (A>B) ? 1: (A<B) ? 2: C: 0;

kılavuzu okudum ama anlamadım

 
Tango_X :

Merhaba! yapıyı ifadelere ayrıştırın eğer... C= (i>0) ? (A>B) ? 1: (A<B) ? 2: C: 0;

kılavuzu okudum ama anlamadım

Şöyle:

C=xxx;
if (i> 0 )
  {
   if (A>B)
     {
      C= 1 ;
     }
   else
     {
       if (A<B)
        {
         C= 2 ;
        }
       else
        {
         C=C;
        }
     }
  }
else
  {
   C= 0 ;
  }

not. Yardım burada önemsizdir. İşte mantık.