Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 16

 

İyi.

Şu anda muhtemelen benim için en önemli şey, belirli bir işlem için marjı hesaplamak için mevduat para birimine karşı sabit bir taban döviz kuru değeri kullanmanız gerektiğine doğru inanıp inanmadığımı kendim için açıklığa kavuşturmak. işlem açıldı. Bu doğru? Ve bu ticaretteki marj, emir kapanana kadar sabit mi kalacak? Bu doğru?

 
Babu Bonappan :

.....

Şu anda muhtemelen benim için en önemli şey, belirli bir işlem için marjı hesaplamak için mevduat para birimine karşı sabit bir taban döviz kuru değeri kullanmanız gerektiğine doğru inanıp inanmadığımı kendim için açıklığa kavuşturmak. işlem açıldı. Bu doğru? Ve bu ticaretteki marj, emir kapanana kadar sabit mi kalacak? Bu doğru?

Evet haklısın.

Bu nedenle, marjın hesaplanması için fiyat, emrin açıldığı anda önemlidir.

 
Renat, yardımın için çok teşekkür ederim!
 
Babu Bonappan :
Renat, yardımın için çok teşekkür ederim!
Rica ederim
 
Renat Akhtyamov :

herhangi bir şekilde kod olmadan sırasıyla kodla ilgili soru

Soruda modifikasyon veya yineleme siparişleri hakkında mı soru soruyorsunuz?

Bu yüzden neye ihtiyacın olduğunu bilmiyorum. Ama koddaki hata %100

Hiçbir şey bilmiyorsun, ama kendinden emin bir şekilde sonuçlar çıkarıyorsun.

OrderSelect'i soruyorum

 
Babu Bonappan :

Lütfen bana MQL4 kullanarak terminaldeki her açık pozisyon için marjı nasıl alacağımı söyleyin?

Genelde bunu yapardım:

margin = MarketInfo ( Symbol (), MODE_LOTSIZE ) * OrderOpenPrice () / AccountLeverage () * OrderLots ();

EUR/USD ticareti yaparken bu yapı mükemmel çalıştı ve mantığının doğru olduğundan emindim.

Ama şimdi EUR/JPY (veya EUR/CHF) için aynı sonucu almak istiyorum. Açıkçası, OrderOpenPrice () yerine, standart lotun boyutunu temel para biriminin mevduat para birimine olan döviz kuruyla (benim durumumda EUR/USD ile) çarpmam gerekiyor. Ama bu kurs nedir? Bir pozisyon açma anında olan mı yoksa şu anda olan mı (bu pozisyon için marj miktarını bilmek istediğimiz anda)?

OrderOpenPrice - seçilen emrin açılış fiyatı - hangi para birimini kullandığı önemli değil, fiyatı verir. Büyük olasılıkla Nokta ve Rakamların kontrol edilmesi gerekir. Veya yuvarlama. Yuvarlama nerede?

NormalizeDouble ila 5 ondalık basamağa, JPY ise 3 ondalık basamağa ihtiyaç duyar. Ve teoride paketin kendisi de herhangi bir para birimi üzerinde çalışmalıdır.

 
Babu Bonappan :
Ama ya bir emir açarken yorum alanına EUR/USD kurunu yazıp oradan okursa?
OrderSymbol () "USDJPY" yerine yazmak daha kolay
 
A1exPit :
OrderSymbol () "USDJPY" yerine yazmak daha kolay

Neden USD/JPY? Sonuçta, sırasıyla EUR / JPY üzerinden işlem yapıyoruz, 1 lot 100.000 euro ve mevduat para birimi dolar. Benim düşünceme göre, bu durumda işlemin açılış anındaki EUR/USD kuruna ihtiyacımız var.

Ek olarak, kodda zorla bir sembol belirtirseniz, kodun başka bir çaprazda, örneğin NZD/CAD'de ticaret yapmak için uygun olmadığı ortaya çıkacaktır. Ve evrensel bir versiyon almak istiyorum. Şimdiye kadar, sadece her sipariş için açılış anında hesaplanan marj miktarını bir şekilde kurtarmak aklıma geldi. Bu amaçla, sipariş biletinin ve üzerindeki marjın saklanacağı bir dizi oluşturmaya değer olabilir. Ama belki daha önemsiz bir çözüm var ...

 
A1exPit :

OrderOpenPrice - seçilen emrin açılış fiyatı - hangi para birimini kullandığı önemli değil, fiyatı verir. Büyük olasılıkla Nokta ve Rakamların kontrol edilmesi gerekir. Veya yuvarlama. Yuvarlama nerede?

NormalizeDouble ila 5 ondalık basamağa, JPY ise 3 ondalık basamağa ihtiyaç duyar. Ve teoride paketin kendisi de herhangi bir para birimi üzerinde çalışmalıdır.

Karakter sayısı konusunda neden yalan söylüyorsun? İnsanları yanıltmayın.

 
A1exPit :

OrderOpenPrice - seçilen emrin açılış fiyatı - hangi para birimini kullandığı önemli değil, fiyatı verir.

OrderOpenPrice, anladığım kadarıyla tam olarak ihtiyacım olanı veriyor. Ancak yalnızca mevduat para biriminin dolar olması ve işlem gören çiftin EUR/USD olması şartıyla. Bu durumda, OrderOpenPrice'ta, marjı kolayca hesaplayabileceğinizi bilerek, siparişin açıldığı andaki mevduat para birimine göre temel para biriminin döviz kuru korunur.

Ancak bu koşullardan en az biri karşılanmazsa, tek bir sipariş için marj miktarı nasıl alınır? Teklifin temel para biriminin açılış anındaki mevduat para birimine göre döviz kurunu nereden alabilirim?

Evet, saniyeye kadar doğru bir sipariş açılış saatimiz var. Ama ne alabiliriz? Maksimum olarak - istenen enstrümanın dakika mumunun parametreleri. Ancak, marjın hesaplandığı oranın tam değeri değil. Ancak AccountMargin işlevi bir şekilde bunu alıyor! Tam olarak nasıl olduğunu anlamak isterim.