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

 
secret :

Cevabınız için teşekkürler, hem belgelere hem de örneğinize baktım, ancak yine de MT4'te OrderClosePrice() benzeri bir parametrenin nasıl alınacağını bulamadım.

ENUM_DEAL_ENTRY == DEAL_ENTRY_OUT && ENUM_DEAL_TYPE == DEAL_TYPE_SELL --- ise ALIŞ pozisyonu kapatılır ve dolayısıyla DEAL_PRICE kapanış fiyatıdır.

 
secret :

Cevabınız için teşekkürler, hem belgelere hem de örneğinize baktım, ancak yine de MT4'te OrderClosePrice() benzeri bir parametrenin nasıl alınacağını bulamadım.

Doğrudan bir benzetme yoktur. Bir pozisyon işlemlerden oluşur. Bir pozisyon için özel olarak doğru veriler istiyorsanız, önce pozisyonu işlem geçmişinden toplamanız gerekir.

Bu nedenle, "anlaşma" konsepti ile çalışmanız sizin için daha iyidir.


Genel olarak, uygulama büyük ölçüde "Neden?" Sorusunun cevabına bağlıdır. Yani, önce tam olarak ne istediğinizi ve nedenini açıklayın.

 
secret :

Bir emrin kapanış fiyatı nasıl alınır (anlaşmalar, pozisyonlar - herhangi bir şey)?

Forumda google arattım ve bulamadım.

https://www.mql5.com/ru/forum/162461

Как определить последнюю цену закрытия ордера (MQL5)?
Как определить последнюю цену закрытия ордера (MQL5)?
  • 2016.12.05
  • www.mql5.com
Подскажите как определить последнюю цену закрытия ордера (MQL5)? В MQL4 было просто OrderClosePrice...
 
Igor Makanu :

alternatif olarak https://www.mql5.com/en/code/16006 adresini açın

ve @fxsaber'ın uygulamasını görün

Uygulamayı oradan çıkarmak gerçekçi değildir, çünkü kütüphanenin diğer tüm bölümlerine güçlü bir şekilde bağımlıdır.

 

Arkadaşlar, görünüşte basit bir problemi nasıl çözeceğimi söylemenizi rica ediyorum. Kod parçası:

 double stavkariska;

//ставка риска по инструментам

if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )

   { double stavkariska= 0.3 ;}

else double stavkariska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*stavkariska); 

Derleyici uyarısı:

'stavkariska' beyanı, 25. satırdaki yerel beyanı gizler script.mq5 32 12

başlatılmamış değişken 'stavkariska' olası kullanımı script.mq5 33 39

Sorun, uyarı vermeden derlenmesi için doğru şekilde nasıl çözülür?


Компиляция - Разработка программ - MetaTrader 5
Компиляция - Разработка программ - MetaTrader 5
  • www.metatrader5.com
Компиляция — это процесс перевода исходного кода MQL4/MQL5-программы на машинный язык. Ее результатом является создание исполняемого файла программы (*EX4 или *.EX5), который может быть запущен в торговой платформе. Скомпилировать можно любой файл (*.MQ4, *.MQ5 или *.MQH), однако исполняемый файл (*.EX4 или *.EX5) может быть получен только в...
 
TrueSam :

Arkadaşlar, görünüşte basit bir problemi nasıl çözeceğimi söylemenizi rica ediyorum. Kod parçası:

Derleyici uyarısı:

'stavkariska' beyanı, 25. satırdaki yerel beyanı gizler script.mq5 32 12

başlatılmamış değişken 'stavkariska' olası kullanımı script.mq5 33 39

Sorun, uyarı vermeden derlenmesi için doğru şekilde nasıl çözülür?


Bir çevirmen kullanın:

декларация 'stavkariska' скрывает локальную декларацию в строке 25 скрипт.mq5 32 12

возможно использование неинициализированной переменной 'stavkariska' скрипт.mq5 33 39


Yani değişkenleri daha dikkatli tanımlayın - aynı değişkenlerin aynı kapsamda bildirilmesine izin vermeyin.

Bir değişken bildirirken, onu hemen başlatmaya alışın .

   double StavkaRiska = 0.0 ; // ставка риска по инструментам

   if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )
     double StavkaRiska= 0.3 ;
   else StavkaRiska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*StavkaRiska);
 
Vladimir Karputov :

Bir çevirmen kullanın:


Yani değişkenleri daha dikkatli tanımlayın - aynı değişkenlerin aynı kapsamda bildirilmesine izin vermeyin.

Bir değişken bildirirken, onu hemen başlatmaya alışın .

Mesele şu ki, If else ifadesinde başka bir değişken bildirirken, onu tekrar bildirme ihtiyacı alıyorum, aksi takdirde "'stavkariska1' hatası - bildirilmemiş tanımlayıcı. Yeni başlayanlar için bir kısır döngü. Belki seçimi uygulamanın başka yolları da vardır. ?
 
TrueSam :
Mesele şu ki, If else ifadesinde başka bir değişken bildirirken, onu tekrar bildirme ihtiyacı alıyorum, aksi takdirde "'stavkariska1' hatası - bildirilmemiş tanımlayıcı. Yeni başlayanlar için bir kısır döngü. Belki seçimi uygulamanın başka yolları da vardır. ?

Barabashka da aceleyle bir hata yaptı.

   double StavkaRiska= 0.0 ; // ставка риска по инструментам

   if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )
     double StavkaRiska= 0.3 ;
   else StavkaRiska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*StavkaRiska);

Vurgulanan gereksiz. Yeniden beyan olmadan, olması gerektiği gibi çalışmalıdır.

 
Alexey Viktorov :

Barabashka da aceleyle bir hata yaptı.

Vurgulanan gereksiz. Yeniden beyan olmadan, olması gerektiği gibi çalışmalıdır.

İlginiz için teşekkür ederim. İtiraf ediyorum, kopyala-yapıştır kullanarak doğrudan tarayıcıya yazdım.

 
Alexey Viktorov :

Barabashka da aceleyle bir hata yaptı.

Vurgulanan gereksiz. Yeniden beyan olmadan, olması gerektiği gibi çalışmalıdır.

Çok teşekkürler! Kase işe yaradı :)