Скачать MetaTrader 5

Помогите с expiration в OrderSend

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MQL5 Cloud Network ускоряет расчеты. Попробуй сам!
Roman Yushkin
180
Roman Yushkin 2007.04.22 03:54 
Как открыть ордер со сроком истечения например открыл 20.04.2007 в 14:56, надо со сроком истечения expiration 21.04.2007 в 00:00 то есть по началу следующего дня ордер удаляется.
Если не трудно напишите командную строку! Для скрипта
Andrey Khatimlianskii
56144
Andrey Khatimlianskii 2007.04.23 10:58  
Если с конкретной датой, то можно так:
OrderSend( ..., StrToTime( "2007.04.21 00:00" ) );

А если надо всегда в начале следующего дня, то так:
OrderSend( ..., iTime( Symbol(), PERIOD_D1, 0 ) + 86400 );
Roman Yushkin
180
Roman Yushkin 2007.04.24 01:32  

Огромное спасибо!

Aleksey
339
Aleksey 2010.10.26 10:14  

А если определить экспирацию в начале следующего бара для любого периода, то можно записать так:

datetime Expiration = iTime(Symbol(),Period(),0)+Period() );
Правильно?
Dmitry Fedoseev
42877
Dmitry Fedoseev 2010.10.26 11:34  

+Period()*60

Aleksey
339
Aleksey 2010.10.26 11:55  
Спасибо!
Julia Sharipova
1136
Julia Sharipova 2013.02.06 12:03  
а как задать время жизни ордера например 60 секунд,
TarasBY
1739
TarasBY 2013.02.06 15:15  
ex_kalibur:
а как задать время жизни ордера например 60 секунд,

Чего только извращённый вихрастый мозх не придумает:

datetime Expiration = TimeCurrent() + 60;
Victor Nikolaev
Модератор
14483
Victor Nikolaev 2013.02.06 15:33  
ex_kalibur:
а как задать время жизни ордера например 60 секунд,

Вроде бы минимальное время 10 минут
Mikhail Kozhemyako
1234
Mikhail Kozhemyako 2013.11.15 11:57  
Vinin:

Вроде бы минимальное время 10 минут

Попробовал. если время жизни меньше 10 минут, постоянно ошибка 3 ERR_INVALID_TRADE_PARAMETERS. Если от 10 до 20 минут, ошибка появляется не всегда. Больше 20 минут все нормально, без ошибок.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий