"Uzman Danışmanda Para Yönetimi için fonksiyonlar" makalesi için tartışma

 

Yeni makale Uzman Danışmanda Para Yönetimi için fonksiyonlar yayınlandı:

Alım satım stratejilerinin geliştirilmesi, öncelikli olarak, piyasaya giriş ve çıkış için kalıpların aranmasının yanı sıra pozisyonların muhafaza edilmesine odaklanmaktadır. Eğer bazı modelleri otomatik alım salım için kurallar halinde resmileştirebiliyorsak, bu durumda yatırımcı, pozisyonların hacmini, marjların büyüklüğünü hesaplamanın yanı sıra otomatikleştirilmiş bir açık pozisyonu güvence altına almak için güvenli bir ipotek fonu seviyesini muhafaza etme sorunuyla karşı karşıyadır. Bu yazıda MQL5 dilini, bu hesaplamaları yürütmek için basit örnekler oluşturmak için kullanacağız.

Tanımlanan tüm fonksiyonlar Uzman Danışmanın Symbol_Info.mq5 kodunda verilmiştir. Aşağıdaki şekil, Comment() fonksiyonunu kullanarak EURUSD sembolündeki bilgilerin çıktısını göstermektedir.


Yazar: MetaQuotes

 

Oh, işte "Okuma Odası "nın EN lezzetlisi çıktı ortaya, okuyalım bakalım neymiş, nasılmış...

Özellikle de böyle bir yazardan. :)

 

Ayrıca takas hesaplama fonksiyonunu da görmek isterim. 5 çeşit takas var ve her birinin kendine has nüansları var.

Bazen bilimsel yöntemle doğru yere ulaşamazsınız.

Seçim yaparak üç varyant buldum, ancak hala SYMBOL_SWAP_MODE_BY_INTEREST var. Kontrol edemiyorum çünkü bu hesaplama yöntemine sahip bir broker bulamıyorum.

Lütfen - CodeBase'de belirtilen para birimi ve lot için takas hesaplama işlevini yayınlama imkanı varsa - minnettar olacağız.

 
sergeev:

Ayrıca takas hesaplama fonksiyonunu da görmek isterim. 5 çeşit takas var ve her birinin kendine has nüansları var.

Bazen bilimsel yöntemle doğru yere ulaşamazsınız.

Seçim yaparak üç varyant buldum, ancak hala SYMBOL_SWAP_MODE_BY_INTEREST var. Kontrol edemiyorum çünkü bu hesaplama yöntemine sahip bir broker bulamıyorum.

Lütfen - CodeBase'de belirtilen para birimi ve lot için takas hesaplama işlevini yayınlama imkanı varsa - minnettar olacağız.

+1. Ya da daha iyisi, tüm bu hesaplamayı standart kütüphanede uygulayın ve nasıl ve neyin doğru yapılacağını görelim ...
 
Sanırım belgelerde yazıyor. mcl4'te de aynıydı, sadece formüller değiştirilmişti.
 
Если даже торговля на данном счете разрешена, то это еще не означает, что эксперт имеет право торговать. Чтобы проверить, разрешено ли торговать эксперту, пишем:

Bu durumlar nelerdir, ticarete izin verilir, ancak Uzman Danışmanın ticaret yapmasına izin verilmez?

Bu komisyoncunun yasağı veya terminal ayarları anlamına mı geliyor?

4 ile benzer şekilde: - " ...uzmanın ticaret yapmasına izin veriliyorsa ve ticaret işlemleri için akış serbestse..."

yani IsTradeAllowed = IsExpertEnabled + IsTradeContextBusy ??? ?

IsTradeAllowed - Документация на MQL4
  • docs.mql4.com
IsTradeAllowed - Документация на MQL4
 

İlginç ve gerekli bir makale! Bu makaledeki formülleri kontrol etmeye çalıştım ve elde ettiğim şey bu. Örnek olarak EURGBP'yi ele alalım. Hesap para birimi dolar cinsinden. En yakın döviz çifti EURUSD, yani mode=true. Buraya kadar her şey yolunda mı? Gerekli marjı belirlemek için makaledeki formülleri kullanıyoruz:

   if(direction==POSITION_TYPE_BUY)
     {
      //--- ters alıntı
      if(mode)
        {
         //--- ters teklif için satın alma fiyatında sayım
         calc_price=tick.ask;
         answer=lot*lot_size*calc_price;
        }
...
if(direction==POSITION_TYPE_SELL)
     {
      //--- ters alıntı
      if(mode)
        {
         //--- ters teklif için satış fiyatına göre sayım
         calc_price=tick.bid;
         answer=lot*lot_size*calc_price;
        }

Yani, makaleye göre satın alırken gerekli marj şu şekilde olmalıdır:

AL: marj = lot*lot_size*tick_ask/leverage

ve satarken:

SAT: marj = lot*lot_size*tick_bid/leverage

Bu formülleri basit bir EA'da kodluyoruz ve önceden düşük fonlarla EURUSD satmaya ve almaya çalışıyoruz, böylece metatrader bize hangi marjın gerekli olduğunu söyleyecektir. Aynı zamanda hesaplanan marjımızı da çıkarıyoruz. Bu mesajları test cihazından alıyoruz:

2010.07.06 16:34:01 Core 1 no enough money [instant sell 0.10 EURGBP at 0.82227 sl: 0.83296 tp: 0.79796]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - test eden tarafından hesaplanan marj
2010.07.06 16:34:01 Core 1 Hata: yeterli para yok. Serbest marj = 10, gerekli marj = 122.899 - tarafımızdan hesaplanan mar j.


2010.07.06 16:34:01 Core 1 no enough money [instant buy 0.10 EURGBP at 0.81247 sl: 0.80191 tp: 0.82988]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - test eden tarafından hesaplanan marj
2010.07.06 16:34:01 Core 1 Hata: yeterli para yok. Serbest marj = 10, gerekli marj = 122.737 - tarafımızdan hesaplanan mar j.

Arada bir fark var. Şimdi gerekli marjı hesaplamak için formülleri şu şekilde değiştiriyoruz

AL: marj = lot*lot_size*tick_bid/leverage

SAT: marj = lot*lot_size*tick_ask/leverage

Bu da makaleyle çelişiyor. Test cihazından bu tür mesajlar alıyoruz:

2010.07.06 16:39:49 Çekirdek 1 yeterli para yok [anında satış 0.82227'de 0.10 EURGBP sl: 0.83296 tp: 0.79796]
2010.07.06 16:39:49 Çekirdek 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - test eden tarafından hesaplanan marj
2010.07.06 16:39:49 Core 1 Hata: yeterli para yok. Serbest marj = 10, gerekli marj = 122.911 - bizim tarafımızdan hesaplanan mar j

2010.07.06 16:39:49 Çekirdek 1 yeterli para yok [0.81247'den anında 0.10 EURGBP al sl: 0.80191 tp: 0.82988]
2010.07.06 16:39:49 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - marj test cihazı tarafından hesaplandı
2010.07.06 16:39:49 Core 1 Hata: yeterli para yok. Serbest marj = 10, gerekli marj = 122.722 - tarafımızdan hesaplanan mar j
.

Burada Uzman Danışman tarafından "yanlış" yöntem kullanılarak hesaplanan marj, test cihazı tarafından hesaplanan marjla tamamen aynıdır. EURGBP gibi çaprazlar hesaplanırken ya test cihazında ya da makalede alış ve satışların yeniden düzenlendiği ortaya çıktı. Kim haklı: makale mi test cihazı mı?

 

Makale benim için iyi ve faydalı.

Hem anlayış hem de zaman tasarrufu için. Teşekkür ederim

Bu fonksiyonla ne elde ettiğimizi anlamıyorum.

Teminat miktarı gerekiyorsa, sözleşme değerinin kaldıraca bölünmesi gerekmez mi?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
SHOOTER777:

Makale benim için iyi ve faydalı.

Hem anlayış hem de zaman tasarrufu için. Teşekkür ederim.

Bu fonksiyonla ne elde ettiğimizi anlamıyorum.

Gerekli teminatın büyüklüğü ise, sözleşme değerinin kaldıraca bölünmesi gerekmez mi?

Bunu hemen anlayamadım. Sonucun neden gerçek sonuçtan 100 kat farklı olduğunu bulmam bir saatimi aldı.
 
SHOOTER777:

Teminat miktarı gerekiyorsa, sözleşme değerinin kaldıraca bölünmesi gerekmez mi?

Sözleşme değeri teminat tutarı değildir. Kod daha sonra marjin tutarını elde etmek için değeri kaldıraca böler.
 
demonuzdaki EURUSD çiftinde... 10 000 mevcut fonla lot 10 ile açamıyorum ... neden? neden? ve mevcut fonlara göre mümkün olan maksimum lot nasıl hesaplanır. teşekkür ederim.