ищешь последний открытый ордер, смотришь дату/время открытия, сравниваешь с текущей датой/временем
zelazny:
Такой вопрос:
Позиция открывается раз в день при определенных условиях. Закрывается по сл или тп. Нужно сделать так, чтобы позиции, если уже была открыта одна или закрыта сегодня, в этот день больше не открывались?
Как это решается программно? Помогите пожалуйста.
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 06.08.2008 | //| Описание : Возвращает флаг наличия ордера или позиции в истории за сегодня| //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool ExistInHistoryToDay(string sy="", int op=-1, int mn=-1) { int i, k=OrdersHistoryTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (TimeDay (OrderOpenTime())==Day() && TimeMonth(OrderOpenTime())==Month() && TimeYear (OrderOpenTime())==Year()) return(True); } } } } } return(False); }
Большое спасибо.
datetime Ti; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { Ti=iTime(NULL,PERIOD_D1,0); return(0); } start() { //...................... if(Long) { if(Ti>=iTime(Symbol(),PERIOD_D1,0))return; Ti=iTime(Symbol(),PERIOD_D1,0); res=OpenOrders(OP_BUY,NormalizeLots (Lot,MarketInfo(Symbol(),MODE_LOTSTEP)),Slippage,StopLost,0,MAGIC," BUY "," "); } //...................... }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Такой вопрос:
Позиция открывается раз в день при определенных условиях. Закрывается по сл или тп. Нужно сделать так, чтобы позиции, если уже была открыта одна или закрыта сегодня, в этот день больше не открывались?
Как это решается программно? Помогите пожалуйста.