Скачать MetaTrader 5

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

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

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

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

Aleksey
339
Aleksey  

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

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

+Period()*60

Aleksey
339
Aleksey  
Спасибо!
Julia Sharipova
1184
Julia Sharipova  
а как задать время жизни ордера например 60 секунд,
TarasBY
1739
TarasBY  
ex_kalibur:
а как задать время жизни ордера например 60 секунд,

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

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

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

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

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