https://www.mql5.com/ru/forum/67298
ФОРТС: В помощь начинающим
- отзывов: 1
- www.mql5.com
Установка отложенного ордера командой OrderSend().
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ребята есть проблема, немогу решить её уже который день. Нужен хэлп.
Делаю так:
datetime newExpiration = TimeCurrent() + 12 * PeriodSeconds(PERIOD_MN1);
// Текущая цена 84000
OrderOpen(
_Symbol,
ORDER_TYPE_SELL_STOP,
volume,
70000,
70000,
0.0,
0.0,
ORDER_TIME_SPECIFIED,
newExpiration,
comment
);
Ордер открывается, время экспирации (newExpiration на год больше становится), но по факту в тестере сделка автоматически закрывается по экспирации через 7 дней.
Я не понимаю почему так. (Можно конечно отслеживать ордер и переоткрывать его, но незнаю как это сделать + в этой функции не задать magic number, направьте плж)
Вот вариант сделать подругому, чтобы можнобыло достать состояние ордера по magic number:
MqlTradeRequest request={0};
MqlTradeResult result={0};
ZeroMemory(request);
ZeroMemory(result);
datetime newExpiration = TimeCurrent() + 12 * PeriodSeconds(PERIOD_MN1);
request.action =TRADE_ACTION_PENDING;
request.symbol =Symbol();
request.volume =1;
request.deviation=1000;
request.magic =123;
request.type =ORDER_TYPE_SELL_STOP;
request.type_filling = ORDER_FILLING_FOK;
request.type_time = ORDER_TIME_SPECIFIED;
request.expiration = newExpiration;
request.price = 70000;
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
Но, тут уже возникает другая проблема: ордер не открывается: выпадывает с ошибкой (Invalid expiration). И тоже непонятно почему (пример взял из доков).
Направьте, пожалуйста. Подскажите, в чем косяк.