закрыть сделку за пять минут до закрытия дневной свечи ?

 

добрый день.

посоветуйте пожалуйста код или ссылку, что почитать, как закрыть сделку за пять минут до закрытия дневной свечи ?

 
Поиск: Закрытие сделки по времени, в 23:55. 
 
Stells:

добрый день.

посоветуйте пожалуйста код или ссылку, что почитать, как закрыть сделку за пять минут до закрытия дневной свечи ?

Самое главное - что бы еще и тики в это время были. Иначе не судьба
 

я хочу пробовать закрыться в 23-55, ну а если уж не получится то после нуля пробуем закрыться в любое время.


этот вариант для пятницы, чтобы на гэп не нарваться.

 
Stells:

я хочу пробовать закрыться в 23-55, ну а если уж не получится то после нуля пробуем закрыться в любое время.


этот вариант для пятницы, чтобы на гэп не нарваться.

Смотрите ниже!

 

int OnInit(){
   ...
   //выставляет флаг в нужное значение
   Event_Not_Close = false;
   ...
}

if((TimeMinute(time[0]) == 55 && TimeHour(time[0]) == 23 && TimeDayOfWeek(time[0]) == 5)||(Event_Not_Close)){
   //Тут делаете то что планировали!!!
   ...
   //Если получилось, выставляет флаг в нужное значение
   Event_Not_Close = false;
   //Если не получилось, выставляет флаг в нужное значение
   Event_Not_Close = true;
}
 
спасибо
 
Только через OnCalculate() проверка каждую секунду. И в функции не зубудь проверять IsTradeAllowed() чтобы в выходные не пробовал закрыть.
 

eevviill:
Только через OnCalculate() проверка каждую секунду.

Торгующий индикатор? С OnTick, видимо, перепутали, который в советниках.

 И в функции не зубудь проверять IsTradeAllowed() чтобы в выходные не пробовал закрыть.

IsTradeAllowed() в выходные стабильно возвращает true. Не для этого она. Тот факт, что рынок закрыт, можно определить только по результату выполнения торговой операции - любая попытка торговли приведет к получению ошибки 132 (ERR_MARKET_CLOSED).
 
Scriptong:

Торгующий индикатор? С OnTick, видимо, перепутали, который в советниках.

IsTradeAllowed() в выходные стабильно возвращает true. Не для этого она. Тот факт, что рынок закрыт, можно определить только по результату выполнения торговой операции - любая попытка торговли приведет к получению ошибки 132 (ERR_MARKET_CLOSED).

Перепутал с OnTimer()

Не правда. 

 
eevviill:

Перепутал с OnTimer()

К сожалению, не поможет. Ведь индикатор не может выполнять торговые операции. Поэтому речь должна идти только о советнике. А там уже OnTick() или OnTimer().

Не правда. 

Еще раз: IsTradeAllowed() не отслеживает состояние рынка. В документации четко написано: Возвращает true, если эксперту разрешено торговать и поток для выполнения торговых операций свободен, иначе возвращает false. Есть здесь упоминание о том, что осуществляется проверка состояния рынка?
 

))) Вообще я невнимательно прочитал пост, сорри!!!!

Из кода уберите  TimeDayOfWeek(time[0]) == 5, тогда будет работать как хотел Stells

Причина обращения: