Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 657
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
Görünüşe göre her şey yerinde ve hatta bağlantılarla... Tam birisi belgeleri okuduğunu iddia ettiğinde ve ağların kaldırılmasını istediğinde (bu arada, FORTS'ta kullanılıyor)... alaycılığın olmadığı hiçbir yer yok. .
Gönderilmediğini görün. )
geç, zaten oradasın.
Hedge hesabı için örnek:
İlk işlem - 0,02 satın al, ikinci işlem - 0,01 sat. Toplam iki pozisyon: 0.02 Al ve 0.001 Sat. Ardından 0,01 Sat pozisyonunu ve 0,02 Al pozisyonunu kapatıyoruz :
//| TestEA.mq5 |
//| Copyright © 2016, Vladimir Karputov |
//| http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
CTrade m_trade; // trading object
CPositionInfo m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
static long counter= 0 ;
counter++;
if (counter% 300 == 0 && counter< 700 )
{
static int number= 0 ;
number++;
if (number== 1 )
m_trade.Buy( 0.02 );
if (number== 2 )
m_trade.Sell( 0.01 );
}
if (counter> 7000 )
{
int positions= PositionsTotal ();
if (positions == 0 )
return ;
int positions_total= PositionsTotal ();
for ( int i=positions_total- 1 ;i>= 0 ;i--)
if (m_position.SelectByIndex(i))
m_trade.PositionClose(m_position.Ticket(),- 1 );
}
}
//+------------------------------------------------------------------+
ve "Günlük":
Trades 2016.02 . 25 00 : 13 : 35 deal # 2 buy 0.02 EURUSD at 1.10167 done (based on order # 2 )
Trade 2016.02 . 25 00 : 13 : 35 deal performed [ # 2 buy 0.02 EURUSD at 1.10167 ]
Trade 2016.02 . 25 00 : 13 : 35 order performed buy 0.02 at 1.10167 [ # 2 buy 0.02 EURUSD at 1.10167 ]
TestEA (EURUSD,H1) 2016.02 . 25 00 : 13 : 35 CTrade:: OrderSend : instant buy 0.02 EURUSD at 1.10167 [done at 1.10167 ]
Trade 2016.02 . 25 00 : 30 : 17 instant sell 0.01 EURUSD at 1.10157 ( 1.10157 / 1.10164 / 1.10157 )
Trades 2016.02 . 25 00 : 30 : 17 deal # 3 sell 0.01 EURUSD at 1.10157 done (based on order # 3 )
Trade 2016.02 . 25 00 : 30 : 17 deal performed [ # 3 sell 0.01 EURUSD at 1.10157 ]
Trade 2016.02 . 25 00 : 30 : 17 order performed sell 0.01 at 1.10157 [ # 3 sell 0.01 EURUSD at 1.10157 ]
TestEA (EURUSD,H1) 2016.02 . 25 00 : 30 : 17 CTrade:: OrderSend : instant sell 0.01 EURUSD at 1.10157 [done at 1.10157 ]
TestEA (EURUSD,H1) 2016.02 . 25 02 : 12 : 06 PositionClose # 3 POSITION_TYPE_SELL 0.01
Trade 2016.02 . 25 02 : 12 : 06 instant buy 0.01 EURUSD at 1.10131 , close # 3 ( 1.10123 / 1.10131 / 1.10123 )
Trades 2016.02 . 25 02 : 12 : 06 deal # 4 buy 0.01 EURUSD at 1.10131 done (based on order # 4 )
Trade 2016.02 . 25 02 : 12 : 06 deal performed [ # 4 buy 0.01 EURUSD at 1.10131 ]
Trade 2016.02 . 25 02 : 12 : 06 order performed buy 0.01 at 1.10131 [ # 4 buy 0.01 EURUSD at 1.10131 ]
TestEA (EURUSD,H1) 2016.02 . 25 02 : 12 : 06 CTrade:: OrderSend : instant buy 0.01 position # 3 EURUSD at 1.10131 [done at 1.10131 ]
TestEA (EURUSD,H1) 2016.02 . 25 02 : 12 : 06 PositionClose # 2 POSITION_TYPE_BUY 0.02
Trade 2016.02 . 25 02 : 12 : 06 instant sell 0.02 EURUSD at 1.10123 , close # 2 ( 1.10123 / 1.10131 / 1.10123 )
Trades 2016.02 . 25 02 : 12 : 06 deal # 5 sell 0.02 EURUSD at 1.10123 done (based on order # 5 )
Trade 2016.02 . 25 02 : 12 : 06 deal performed [ # 5 sell 0.02 EURUSD at 1.10123 ]
Trade 2016.02 . 25 02 : 12 : 06 order performed sell 0.02 at 1.10123 [ # 5 sell 0.02 EURUSD at 1.10123 ]
TestEA (EURUSD,H1) 2016.02 . 25 02 : 12 : 06 CTrade:: OrderSend : instant sell 0.02 position # 2 EURUSD at 1.10123 [done at 1.10123 ]
Tam olarak net olmayan ne? Ne, bir pozisyonu kapatmak için aynı hacimde ters bir emir mi açmanız gerekiyor?
Kim bilir - " POSITION_PROFIT " komisyon ve takas içerir?
Değilse, MQL5'te bir siparişten alınan komisyon tutarını bulmak için hangi parametreye ihtiyaç vardır?
Kim bilir - " POSITION_PROFIT "'e komisyon ve takas dahildir?
Değilse, MQL5'te bir siparişten alınan komisyon tutarını bulmak için hangi parametreye ihtiyaç vardır?
POSITION_PROFIT, basitçe pozisyonun kârıdır (komisyon yok, takas yok...). Birikmiş takas pozisyonunu aşağıdaki gibi öğrenebilirsiniz:
POSITION_SWAP
birikmiş takas
çift
Ancak son komisyon ve nihai takas, pozisyon kapatıldıktan sonra işlem geçmişinde bulunabilir:
DEAL_COMMISSION
İşlem komisyonu
çift
DEAL_SWAP
Kapanışta birikmiş takas
çift
Kim bilir - " POSITION_PROFIT "'e komisyon ve takas dahildir?
Değilse, MQL5'te bir siparişten alınan komisyon tutarını bulmak için hangi parametreye ihtiyaç vardır?
Eh, Rusça derseniz, emir kârlı veya zararlı olamaz, sadece daha fazla yürütme emridir. Emrin (emrin) gerçekleşmesinden sonra piyasadaki pozisyonunuzu seçtiğiniz fiyattan alırsınız.
POSITION_PROFIT, basitçe pozisyonun kârıdır (komisyon yok, takas yok...). Birikmiş takas pozisyonunu aşağıdaki gibi öğrenebilirsiniz:
Ancak son komisyon ve nihai takas , pozisyon kapatıldıktan sonra işlem geçmişinde bulunabilir:
Eh, tüm bunlar yanlış veya daha doğrusu bitmemiş.
Kapanıştan sonra neden komisyonu bilmem gerekiyor, daha doğrusu bilmem gerekiyor, ama herhangi bir zamanda, komisyonlu bir hesap ve takip eden veya başabaş olan bir hesabın çalıştığını varsayalım, ilk tetikleyicinin olmasını nasıl hesaplayabilirim? bir fiyat geri dönüşü ve kapanış durumunda komisyon ve takasların çakıştığı seviye. Artı 1 puan komisyonu karşılamak için ama takaslar ne olacak, çünkü pozisyon bir hafta piyasada asılı kalabilir ve bu süre zarfında takas 3 puana kadar çalışacak ve başabaş tetiklendiğinde kapanış eksi olacak.
Yoksa hesaplamalarda bir şeyi yanlış mı anlıyorum?
Eh, Rusça derseniz, emir kârlı veya zararlı olamaz, sadece daha fazla yürütme emridir. Emrin (emrin) gerçekleşmesinden sonra piyasadaki pozisyonunuzu seçtiğiniz fiyattan alırsınız.
Eh, tüm bunlar yanlış veya daha doğrusu bitmemiş.
Kapanıştan sonra neden komisyonu bilmem gerekiyor, daha doğrusu bilmem gerekiyor, ama herhangi bir zamanda, komisyonlu bir hesap ve takip eden veya başabaş olan bir hesabın çalıştığını varsayalım, ilk tetikleyicinin olmasını nasıl hesaplayabilirim? bir fiyat geri dönüşü ve kapanış durumunda komisyon ve takasların çakıştığı seviye. Artı 1 puan komisyonu karşılamak için ama takaslar ne olacak, çünkü pozisyon bir hafta piyasada asılı kalabilir ve bu süre zarfında takas 3 puana kadar çalışacak ve başabaş tetiklendiğinde kapanış eksi olacak.
Yoksa hesaplamalarda bir şeyi yanlış mı anlıyorum?
Kim bilir - " POSITION_PROFIT "'e komisyon ve takas dahildir?
Değilse, MQL5'te bir siparişten alınan komisyon tutarını bulmak için hangi parametreye ihtiyaç vardır?
MT4Orders kitaplığını empoze etmiyorum. Ama belki de eski güzel OrderCommission'u aramak daha kolay olurdu?
Yine de sadece hedge hesaplarında değil, aynı zamanda nette de çalışır.
Anladığım kadarıyla her şey " POSITION_PROFIT " (swap, kar, komisyon) içinde zaten var. ve bu, kapsamanın benim için karlı olup olmadığı sonucuna varmam için yeterli.