Programlı olarak "Marj Yüzdesi" nasıl alınır - sayfa 8

 
Alexey Viktorov :

Peki, hemorajik ... Nasıl düşündüğünüzü kontrol edin.

Meta alıntılar için ALTIN (marj yüzdesi - 1, kaldıraç -300), CFD

 2017.06 . 05 21 : 57 : 42.015 Script gold_test_vik2 GOLD,H4: removed
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: uninit reason 0
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: ******** AccountMargin = 19188.75 USD
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: ******** Процент маржи 300 Маржа ордера GOLD 0.05 = 19188.75
2017.06 . 05 21 : 57 : 42.000 gold_test_vik2 GOLD,H4: initialized

Çaprazlarda ve kilitli pozisyonlarda, hesaplamalar da yanlış, ama kişisel olarak benim için önemli değil ve bunun senaryonuzda işlenmediğini görüyorum... Bunun için çaba harcamaya değeceğini düşünmüyorum, Şimdiye kadarki tüm zorluklar, herhangi bir durumda, en az bir CFD emri için teminat ve teminat yüzdesinin hesaplanmasıyla ilgiliyse.

ps ve bana öyle geliyor ki geliştiricilerin marj yüzdesine doğrudan erişim vermemesi tesadüf değil :D

 

MetaQuote-Demo'da 300 kaldıraçlı bir demoyu nasıl açacağınızla ilgili deneyiminizi paylaşabilir misiniz? En fazla 100 tane var...


MetaQuote-Demo'da ALTIN

 2017.06 . 06 09 : 07 : 32.780 Data Folder: D:\MetaTrader 4 \Programming
2017.06 . 06 09 : 07 : 32.780 Windows 7 Home Premium (x64 based PC), IE 11.00 , UAC, 4 x AMD FX- 4170 Quad-Core Processor , RAM: 10402 / 12255 Mb, HDD: 31535 / 244198 Mb, GMT+ 03 : 00
2017.06 . 06 09 : 07 : 32.780 MetaTrader 4 build 1090 started (MetaQuotes Software Corp.)

çıktı

 2017.06 . 06 09 : 09 : 25.812 test GOLD,H1: ******** AccountMargin = 160.95 USD
2017.06 . 06 09 : 09 : 25.812 test GOLD,H1: ******** Процент маржи 1 Маржа ордера GOLD 0.05 = 160.9525

anlık görüntüler



 
Alexey Viktorov :

MetaQuote-Demo'da 300 kaldıraçlı bir demoyu nasıl açacağınızla ilgili deneyiminizi paylaşabilir misiniz? En fazla 100 tane var...


ayy... bu testlerle terminallerde kafam karıştı. Bu insta idi, diğer her şey doğru, ALTIN, marj yüzdesi - 1, kaldıraç 300, yukarıdaki ekran görüntüleri...

üzgünüm!

 
ir0407 :
Marj yüzdesi, hesaplanmamış marjdır. Bu, marjı hesaplamak için kullanılan bileşenlerden sadece biridir. Ve bu hesaplamanın sonucu (tablodaki formüllere göre) marj para biriminde döndürülür, bu durumda (mevduat para biriminden farklıysa) mevduat para birimine çevrilmelidir.

Ve bu benim de kafamı bir türlü toparlayamadığım şey. Örneğin, formülü alın:

Lots*Contract_Size/Leverage

Nerede, Lot - bu, enstrümanın ve sözleşmenin temel para birimindeki bizim lotumuzdur - ayrıca temel para biriminde ve ardından, gerekirse, ayrıca temel para birimini karşıt para birimiyle oran ile çarparız. Ve tüm bunlarla, sonucu marjın para biriminde alıyoruz. Nasıl yani?

 
K-2SO :

Ve bu benim de kafamı toplayamadığım şey. Örneğin, formülü alın:

Nerede, Lot - bu, enstrümanın ve sözleşmenin temel para birimindeki bizim lotumuzdur - ayrıca temel para biriminde ve ardından, gerekirse, ayrıca temel para birimini karşıt para birimiyle oran ile çarparız. Ve tüm bunlarla, sonucu marjın para biriminde alıyoruz. Nasıl yani?

Bu formül

Lots*Contract_Size/Leverage

USD kur marjı hesaplamaları için uygundur***


Başlangıç olarak, mevduat para birimine transfer için hangi fiyatın gerekli olduğu belirlenir.

Enstrümanın adı mevduat para birimi, özellikle USD ile başlıyorsa, fiyat dikkate alınmaz.

Sipariş OP_BUY ise Teklif fiyatı gereklidir

Sipariş OP_SELL ise Sor

 double price = stringFind == 0 ? 1 : type% 2 == OP_BUY ? bid : ask;
percentage = NormalizeDouble (
                             margin           // Маржа получена в валюте депозита с учётом плеча
                           /(contractSize     // Размер контракта в базовой валюте
                            *price           // Умножаем на текущую цену и получаем в валюте депозита
                            / 100 )             // Это для того чтобы коэффициент перевести в проценты
                           *(calcMode == 0 ? leverage : 1 ) // Это получено методом научно-технического тыка.
                                     // Если способ расчёта 0 - Forex; то надо учесть плечо
                                     //                     1 - CFD; то плечо не учитывается
                                     //                     2 - Futures; 3 - CFD на индексы НЕ проверялись, их у меня нету...
                           , 0 );
orderMargin = (orderLots         // правильно, в базовой валюте
              *contractSize       // и это тоже в базовой
              *orderOpenPrice     // а вот тут переводим в валюту депозита
              *percentage/ 100 )   // у меня слов не хватает чтобы объяснить что это такое, но видимо очень нужное.
             /(calcMode == 0 ? leverage : 1 );   // Это тоже получено методом научно-технического тыка.

Umarım her şeyi net bir şekilde anlatmışımdır...

 
Alexey Viktorov :

Umarım her şeyi net bir şekilde anlatmışımdır...

um... Sanırım yine farklı şeylerden bahsediyoruz. Geçerken, marj hesaplama yönteminin kendisini değil (hesaplamaların kendilerini değil), ancak marj hesaplama formülünün çıktısında, marj para birimi ile pratik olarak çalışmadığımızı netleştirmeye karar verdim. sonuç marj para biriminde. Her durumda, ir0407 mesajından bunu böyle anladım. İşte bu yüzden, henüz alıntıların muhasebesinin olmadığı çok basit hesaplama formülünü verdim ...

Geri kalanına gelince (bilimsel dürtme yöntemiyle yapılan hesaplamalar), sanki hepsini denedim, ancak henüz tek bir çözüm bulunmadığını not ediyorum. Brokerleri karıştırdım ama sonuçlar öyle değil, yani Instagram'da yukarıdaki parametrelerle son seçeneğiniz hala kozmik sayılar veriyor: https://www.mql5.com/en/forum/193833/page8#comment_5243991

ps yorumlar için teşekkürler! Her durumda, düşünme şekli, tarif ettiğiniz hesaplamalar anlaşılabilir)

 
K-2SO :

um... Sanırım yine farklı şeylerden bahsediyoruz. Geçerken, marj hesaplama yönteminin kendisini değil (hesaplamaların kendilerini değil), ancak marj hesaplama formülünün çıktısında, marj para birimi ile pratik olarak çalışmadığımızı netleştirmeye karar verdim. sonuç marj para biriminde. Her durumda, ir0407 mesajından bunu böyle anladım. İşte bu yüzden, henüz alıntıların muhasebesinin olmadığı çok basit hesaplama formülünü verdim ...

Geri kalanına gelince (bilimsel dürtme yöntemiyle yapılan hesaplamalar), sanki hepsini denedim, ancak henüz tek bir çözüm bulunmadığını not ediyorum. Brokerleri karıştırdım ama sonuçlar öyle değil, yani Instagram'da yukarıdaki parametrelerle son seçeneğiniz hala kozmik sayılar veriyor: https://www.mql5.com/en/forum/193833/page8#comment_5243991

ps yorumlar için teşekkürler! Her durumda, düşünme şekli, tarif ettiğiniz hesaplamalar anlaşılabilir)

İnsta'da demoyu açmak bile istemiyorum. Zorlaştırmazsa, hata ayıklayıcıda hangi ara değerlerin elde edildiğini gösterebilirsiniz. ekranımda beğen


 
Alexey Viktorov :

İnsta'da demoyu açmak bile istemiyorum. Zorlaştırmazsa, hata ayıklayıcıda hangi ara değerlerin elde edildiğini gösterebilirsiniz. ekranımda beğen



Ve yine benim canim! Görünüşe göre, kodunuzun nasıl çalıştığını çözerken, içindeki bir şeyi değiştirdim (geri göndermeyi unuttum), bu yüzden böyle bir hata verdi. Şimdi (her ihtimale karşı) orijinali tekrar kopyaladım - bu doğru ve insta'ya güveniyor. Sonra diğer brokerlerle test edeceğim.
 

Şapka çıkartın, neredeyse başardınız! Farklı marj yüzdelerine sahip daha önce değerlendirilen üç broker için altın hesaplaması (tek yöndeki siparişler için) doğrudur.

Ama senaryo hala egzotik olanla baş edemiyor. Burada fxcm komisyoncusunda durdum. Altın için marj yüzdesi 70000, normal döviz çiftleri için 130, marj para birimi her yerde USD'dir. Ve hiçbir şey hiçbir yerde doğru olarak kabul edilmez! (. Ben de iki gündür bunun bir anahtarını arıyorum ve aslında bunun sonucunda, baz para birimleri üzerinden yapılan hesaplamalar sonucunda nasıl ortaya çıkıyor sorusuna cevap arıyorum. kotasyon para birimleri ile oranları, bir marj para birimi elde ederiz ... belki bu, ya da belki bu brokerin sıradan döviz çiftleri için bile marj yüzdesini hesaba kattığı gerçeğidir.

Buradan ru.files.fm/u/xfezz883#_ terminalini indirebilir, paketinden çıkarabilir, yürütülebilir bir dosya ile çalıştırabilir, bir demo başlatabilirsiniz...

 
K-2SO :

Şapka çıkartın, neredeyse başardınız! Farklı marj yüzdelerine sahip daha önce değerlendirilen üç broker için altın hesaplaması (tek yöndeki siparişler için) doğrudur.

Ama senaryo hala egzotik olanla baş edemiyor. Burada fxcm komisyoncusunda durdum. Altın için marj yüzdesi 70000, normal döviz çiftleri için 130, marj para birimi her yerde USD'dir. Ve hiçbir şey hiçbir yerde doğru olarak kabul edilmez! (. Ben de iki gündür bunun bir anahtarını arıyorum ve aslında bunun sonucunda, baz para birimleri üzerinden yapılan hesaplamalar sonucunda nasıl ortaya çıkıyor sorusuna cevap arıyorum. kotasyon para birimleri ile oranları, bir marj para birimi elde ederiz ... belki bu, ya da belki bu brokerin sıradan döviz çiftleri için bile marj yüzdesini hesaba kattığı gerçeğidir.

Buradan ru.files.fm/u/xfezz883#_ terminalini indirebilir, paketinden çıkarabilir, yürütülebilir bir dosya ile çalıştırabilir, bir demo başlatabilirsiniz...

Çapraz sayımlar sorun değil. Marj para biriminin mevduat para birimine dönüştürüldüğü bir fiyat teklifi almanız yeterlidir.

Örneğin EURJPY fiyatı

 double price = stringFind == 0 ? 1 : type% 2 == OP_BUY ? bid : ask;

depozito USD ise, EURUSD kullanılarak hesaplanmalıdır. Ve CADJPY USDCAD kullanılarak hesaplanır. Burada, mevduat para birimini marj para birimiyle nasıl ekleyeceğinizi görmelisiniz, aynı aptal listede sürmeyin.

Ve karşıt olanlar, MarketInfo(sembol, MODE_MARGINHEDGED) sahibi olmak özellikle zor değil. Tek sorun, önce yaklaşanları bulmanız, ardından yaklaşanların bir kısmını ve gerisini tam olarak ayrıştırmanız gerekiyor ...

Genel olarak, yazılan her şeyden fayda görüyorum, sadece riskli bir strateji ile gecikme etkinleştirildiğinde alınacak marjı önceden öğrenebilir ve bir hatayla karşılaşmamak için kaldırabilirsiniz. yeterli fon yoksa zaman gecikmesi. Bir keresinde piyasaya bir danışman yerleştirirken bununla mücadele etmiştim.

Neden: