Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 656
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В MQL5 для закрытия ордера необходимо открыть зеркальный встречный ордер и больше никак?
Используй те стандартную библиотеку:
CTrade m_trade; // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..
и ни о чём не задумывайтесь.
Используй те стандартную библиотеку:
CTrade m_trade; // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..
и ни о чём не задумывайтесь.
Ну как не задумываться? Я же пишу программу на MQL5 для реальной торговли, то есть на реальные МОИ деньги!
Документацию я прочитал. Закрыть позицию - не вижу проблем.
Вопрос в другом. - у нас SELL перекрывается BUY, при этом SELL и BUY сливаются в один ордер с объемом равным нулю - это и есть закрытие?
То есть MQL5 исключает локи? А это значит, что у меня не остается ни одного шанса на удачу, кроме того как не отходя от кассы окончательно и бесповоротно получить убыток при развороте сигнала(оредра)?
Посмотрите в сигналах - MQL5, по сравнению с MQL4 в опе, мягко говоря...
Вам бы ситуацию поправить и убрать такую нелепость, как "позиция" из MQL5
Документацию я прочитал.
Оно и видно.
new-rena:
...
То есть MQL5 исключает локи? А это значит, что у меня не остается ни одного шанса на удачу, кроме того как не отходя от кассы окончательно и бесповоротно получить убыток?
Посмотрите в сигналах - MQL5, по сравнению с MQL4 в опе, мягко говоря...
Вам бы ситуацию поправить и убрать такую нелепость, как "позиция" из MQL5
В справку иногда заглядывать надо, следить за обновлениями и статьи читать: В MetaTrader 5 добавлена хеджинговая система учета позиций
Ну как не задумываться? Я же пишу программу на MQL5 для реальной торговли, то есть на реальные МОИ деньги!
Документацию я прочитал. Закрыть позицию - не вижу проблем.
Вопрос в другом. - у нас SELL перекрывается BUY, при этом SELL и BUY сливаются в один ордер с объемом равным нулю - это и есть закрытие?
То есть MQL5 исключает локи? А это значит, что у меня не остается ни одного шанса на удачу, кроме того как не отходя от кассы окончательно и бесповоротно получить убыток?
Посмотрите в сигналах - MQL5, по сравнению с MQL4 в опе, мягко говоря...
Вам бы ситуацию поправить и убрать такую нелепость, как "позиция" из MQL5
Пример для хедж-счёта:
Первая операция - Buy 0.02, вторая операция - Sell 0.01. Итого две позиции: Buy 0.02 и Sell 0.001. Затем закрываем позицию Sell 0.01 и закрываем позицию Buy 0.02:
//| 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);
}
}
//+------------------------------------------------------------------+
и "Журнал":
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]
Что именно не понятно? То что, для закрытия позиции нужно открыть противоположный ордер таким-же объёмом?
Оно и видно.
Толян, ты меня достал.
Ты можешь писать по делу без сарказма?
Толян, ты меня достал.
Ты можешь писать по делу без сарказма?
А это что?
В справку иногда заглядывать надо, следить за обновлениями и статьи читать: В MetaTrader 5 добавлена хеджинговая система учета позиций
А это что?
В справку иногда заглядывать надо, следить за обновлениями и статьи читать: В MetaTrader 5 добавлена хеджинговая система учета позиций
Вот это - "Оно и видно." больше не надо!!!!!!!!!!!!!!!
Можешь ответить, дак напиши тока ответ и баста.
Тогда бы я написал - "Спасибо!"
А в данном случае - изволь, могу тока послать.
Толян, ты меня достал.
Ты можешь писать по делу без сарказма?
Вот это - "Оно и видно." больше не надо!!!!!!!!!!!!!!!
Можешь ответить, дак напиши тока ответ и баста.
Тогда бы я написал - "Спасибо!"
А в данном случае - изволь, могу тока послать.