Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Yardım'da yazıyor
ENUM_SYMBOL_CALC_MODE
tanımlayıcı
Tanım
formül
SYMBOL_CALC_MODE_FOREX
Forex modu - Forex için kar ve marj hesaplaması
Marj: Lot*Sözleşme_Boyutu/Kaldıraç
Kar: (close_price-open_price)*Contract_Size*Çok
SYMBOL_CALC_MODE_FUTURES
Vadeli işlemler modu - vadeli işlemler için marj ve kar hesaplaması
Marj: Lot *İlk Marj*Yüzde/100
Kar: (close_price-open_price)*TickPrice/TickSize*Lots
SYMBOL_CALC_MODE_CFD
CFD modu - CFD için marj ve kar hesaplaması
Marj: Lot *Sözleşme Büyüklüğü*PiyasaFiyatı*Yüzde/100
Kar: (close_price-open_price)*Contract_Size*Çok
SYMBOL_CALC_MODE_CFDINDEX
CFD endeks modu – endeks CFD'leri için marj ve kar hesaplaması
Marj: (Lot*SözleşmeBoyutu*PiyasaFiyatı)*TickPrice/TickSize
Kar: (close_price-open_price)*Contract_Size*Çok
SYMBOL_CALC_MODE_CFDLEVERAGE
CFD Kaldıraç modu – kaldıraçla işlem yaparken CFD için marj ve kar hesaplaması
Marj: (Lot*Sözleşme Büyüklüğü*PiyasaFiyatı*Yüzde)/Kaldıraç
Kar: (close_price-open_price)*Contract_Size*Çok
SYMBOL_CALC_MODE_EXCH_STOCKS
Borsa modu - menkul kıymetler borsasında alım satım için teminat ve kârın hesaplanması
Marj: Lot*SözleşmeBoyutu*AçıkFiyat
Kar: (close_price-open_price)*Contract_Size*Çok
SYMBOL_CALC_MODE_EXCH_FUTURES
Vadeli işlem modu - borsada işlem gören vadeli işlem sözleşmeleri için marj ve kâr hesaplaması
Marj: Lotlar*İlk Marj veya Lotlar*Bakım Marjı
Kar: (close_price-open_price)*Lots*TickPrice/TickSize
SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS
FORTS Vadeli İşlemler modu - FORTS'ta vadeli işlem sözleşmeleri ticareti için marj ve kar hesaplaması. Marj, aşağıdaki kurallara göre MarginDiscount sapması ile azaltılabilir:
1. Bir uzun pozisyonun (alış emri) fiyatı uzlaşma fiyatından düşükse, MarginDiscount = Lot*((PriceSettle-PriceOrder)*TickPrice/TickSize)
2. Bir kısa pozisyonun (satış emri) fiyatı uzlaşma fiyatından büyükse, MarginDiscount = Lot*((PriceOrder-PriceSettle)*TickPrice/TickSize)
nerede:
Marj: Lotlar*İlk Marj veya Lotlar*Bakım Marjı
Kar: (close_price-open_price)*Lots*TickPrice/TickSize
SYMBOL_CALC_MODE_SERV_COLLATERAL
Teminat modu - enstrüman, ticaret hesabında ticarete konu olmayan bir varlık olarak kullanılır. Açık pozisyonun piyasa değeri hacim, cari piyasa fiyatı, sözleşme büyüklüğü ve likidite oranına göre hesaplanır. Maliyet, özkaynaklarla (Özkaynak) özetlenen Varlıklarda dikkate alınır. Böylece, böyle bir enstrümandaki açık pozisyonlar, serbest teminat miktarını (Serbest Marj) arttırır ve alım satımı yapılan enstrümanlardaki açık pozisyonlar için ek teminat görevi görür.
kenar boşluğu: hayır
Kar: hayır
Piyasa Değeri: Lot*SözleşmeBoyutu*PiyasaFiyatı*Likit Oranı
Yardım'da yazıyor
Tüm saygımla, sizi okumaya geri döndürmek niyetindeyim.
not
Bunu alabilirsiniz, ancak AUDCAD ile hesaplarsak, depozitoyu AUD para biriminde alacağız ve hesap dolar cinsinden. AUDUSD fiyatını değiştirirsek, gerekli marjı elde ederiz, ancak bu evrensel ve faul değildir, çünkü ön ve son ekleri olan hesaplar vardır ve tüm hikaye burada başlar. Ayrıca, piyasa incelemesinde açık bir çift olmayabilir ve hesaplama bir "bakır havza" ile kapsanacaktır.
Para ile çalışan bir program (geliştiricilerin beyanı) bu parayı sayamaz. Eski, kötü ve yavaş MT4 parayla çalışabilir, ancak yeni ve modaya uygun MT5 yapamaz. Nasıl yani?
İşte linkteki formül:
Örneğin, CADJPY'de bir teminat düşünüyoruz, CAD'de bir teminat alıyoruz
0,7625 CADUSD fiyatıdır, ancak terminalde hesaplamada kullanmak için böyle bir çift bile yoktur.
"MODE_MARGINREQUIRED" hesaplama fonksiyonunu " copypaste " yöntemiyle MT5'e aktarmak, geliştiricilerin hayatını kolaylaştırmak gerçekten çok mu zor?
Program türünden bağımsız bir hesaplama istiyorum.
Tüm saygımla, sizi okumaya geri döndürmek niyetindeyim.
Dikkatsiz olduğumu kabul ediyorum. Bana göre, marjın hesaplanması bir şekilde her zaman gereksiz olmuştur. Özellikle göstergelerde. Göstergelerde nerede gerekli olabilir?
Çözümün çok basit olduğunu düşünüyorum. Özgür olacağım - çözeceğim.
Bunu alabilirsiniz, ancak AUDCAD ile hesaplarsak, depozitoyu AUD para biriminde alacağız ve hesap dolar cinsinden. AUDUSD fiyatını değiştirirsek, gerekli marjı elde ederiz, ancak bu evrensel ve faul değildir, çünkü ön ve son ekleri olan hesaplar vardır ve tüm hikaye burada başlar. Ayrıca, piyasa incelemesinde açık bir çift olmayabilir ve hesaplama bir "bakır havza" ile kapsanacaktır.
Ve AUDUSD piyasa saatinde değilse, dörtlü ne getirecek?
Göstergedeki marjı gösterme özel görevi için, önekleri ve sonekleri hesaba katan (veya yardımcı bir Uzman Danışman kullanan) bir koltuk değneği de oluşturabilirsiniz. Ve ticaret için her şey orada görünüyor.
Ve AUDUSD piyasaya genel bakışta yoksa dörtlü ne getirecek ?
Göstergedeki marjı gösterme özel görevi için, önekleri ve sonekleri hesaba katan (veya yardımcı bir Uzman Danışman kullanan) bir koltuk değneği de oluşturabilirsiniz. Ve ticaret için her şey orada görünüyor.
Dört " MODE_MARGINREQUIRED " döndürür)
Geliştiriciler, marj hesaplamasının (ve diğer bazı bilgi işlevlerinin) bir ticaret işlevi olduğuna ve göstergelerde yasaklanması gerektiğine inanıyor. Bu konuyla ilgili ciddi bir konu açtım - moderatörler her zamanki gibi anonim olarak anında kesti. Şimdi umurumda değil, KB'de marjsız hadım edilmiş bir gösterge yayınladım.
Gerçek ticaret? ))) Evet olmasına rağmen tavlama yasak değildir. Neyin ticaretini yaptığını, açtığını veya kapattığını veya sadece emirleri değiştirdiğini merak ediyorum.
Dikkatsiz olduğumu kabul ediyorum. Bana göre, marjın hesaplanması bir şekilde her zaman gereksiz olmuştur. Özellikle göstergelerde. Göstergelerde nerede gerekli olabilir?
Çözümün çok basit olduğunu düşünüyorum. Özgür olacağım - çözeceğim.
MA ve stokastiklere ek olarak, bilgi göstergeleri de vardır. Herkes bot ticareti yapmaz, örneğin, bir anlaşma yapmadan önce bilgi göstergesinden marjı bulmanız (MM'yi gözlemleyin), lotu hesaplamanız ve TS'niz için koşullara uyup uymadığına bakmanız veya yine de anlaşmaya girmemeniz gerekir. ve başka bir sinyal bekleyin. Ve bu sadece tek kullanımlık bir durumdur.
Çözümün çok basit olduğunu düşünüyorum. Özgür olacağım - çözeceğim.
double GetMarginRequired( const string Symb )
{
MqlTick Tick;
return ( SymbolInfoTick (Symb, Tick) ? Tick.ask * SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_VALUE ) /
( SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 );
}
Karar hemen geldi.
double GetMarginRequired( const string Symb )
{
MqlTick Tick;
return ( SymbolInfoTick (Symb, Tick) ? Tick.ask * SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_VALUE ) * SymbolInfoDouble (Symb, SYMBOL_TRADE_CONTRACT_SIZE ) *
SymbolInfoDouble (Symb, SYMBOL_POINT ) / ( SymbolInfoDouble (Symb, SYMBOL_TRADE_TICK_SIZE ) * AccountInfoInteger ( ACCOUNT_LEVERAGE )) : 0 );
}
Çok teşekkürler, yen çiftlerinde bir hata oluştu