//-----------------------------------------------------------------------------+// Функция контроля времени торговли |//-----------------------------------------------------------------------------+bool TradeTime(int StartTradeHour,int EndTradeHour){if(!TradeOfTime){if(DayOfWeek()==6||DayOfWeek()==0){
gTimeEngl="Start trade in 01:00 am";
gTimeRus="Начало торговли в понедельник в 01:00";return(false);}return(true);}if(DayOfWeek()==6||DayOfWeek()==0){
gTimeEngl="Start trade in 01:00 am";
gTimeRus="Начало торговли в понедельник в 01:00";return(false);}if(StartTradeHour<EndTradeHour){if(TimeHour(TimeCurrent())>=StartTradeHour&&TimeHour(TimeCurrent())<EndTradeHour
||(CountOpOrd("0")>0)){
gTimeEngl=StringConcatenate("By the end of trading session :",DoubleToStr((EndTradeHour-TimeHour(TimeCurrent())),0)," hours");
gTimeRus=StringConcatenate("До конца торговой сессии :",DoubleToStr((EndTradeHour-TimeHour(TimeCurrent())),0)," часов");return(true);}}if(StartTradeHour>EndTradeHour){if(TimeHour(TimeCurrent())>=StartTradeHour||TimeHour(TimeCurrent())<EndTradeHour
||(CountOpOrd("0")>0)){
gTimeEngl=StringConcatenate("By the end of trading session :",DoubleToStr((EndTradeHour-TimeHour(TimeCurrent())),0)," hours");
gTimeRus=StringConcatenate("До конца торговой сессии :",DoubleToStr((EndTradeHour-TimeHour(TimeCurrent())),0)," часов");return(true);}}
gTimeEngl=StringConcatenate("resting to : ",StartTradeHour,": 00");
gTimeRus=StringConcatenate("отдыхаем до : ",StartTradeHour,": 00");return(false);}
//-----------------------------------------------------------------------------+// Определяет дату конца торговли |//-----------------------------------------------------------------------------+bool EndTradeForDateTime(string EndTradeData){//"Enterting Date of End trading in eeee.mm.dd";if(EndTradeData==""){
gInf1rus="Дата конца торговли не определена ";
gInf1engl="Date of the end of trading is not defined ";
gColor1=LimeGreen;return(false);}int EndData=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));int DataEnd=StrToTime(EndTradeData);if(EndData>=DataEnd){
gInf1rus="Торговля остановленна "+EndTradeData;
gInf1engl="Trading stopped "+EndTradeData;
gColor1=Red;return(true);}
gInf1rus="Торговля будет остановленна "+EndTradeData;
gInf1engl="Trading will be stopped "+EndTradeData;
gColor1=LimeGreen;return(false);}
Доброе время суток, KimIV. Мне нужен Ваш совет, а точнее помощь. Нашел в базе данных советник e-Smart_Tralling.mq4, автор неизвестен…но как уточнили в ветке автор взял воснову - трейлинговый советник-помощник И.Кима aka KimIV. Попытался изменить в коде этого советника: 1.чтобы он закрывал не все прибыльные сделки, допустим при исполнении заявки если я в комментарий добавил цель и свой тейк профит-советник не закрывает эту сделку, 2. чтобы он работал со всеми валютными парами и был со stoploss. Но опыта программирование особо еще нет, может подскажете что нужно изменить. Заранее благодарен
Такой вариант подойдет....
А вынесите-ка OpenHour и CloseHour в параметры, и те, кто хочет иметь несколько интервалов будут удовлетворены:
сделают себе TimeTrade(OpenHour1, CloseHour1), TimeTrade(OpenHour2, CloseHour2), ......
и будут их комбинировать, как захотят.
когда то уже выкладывал
и еще
и закончим на этом..и закончим на этом
"Не спешите нас хоронить, есть у нас еще здесь дела.." :))
Если нужны ещё и минуты для более точного определения временного интервала, например для ночного скальпера.
Конечно нужны, как минимум десятки минут.
Нужны также дни недели и возможность задания инидивидуального времени в каждый день недели и
выбора / запрета определённого дня.
Практика показывает что в разные дни недели закономерности работают по-разному.
Пришла в голову простая формула автоматической генерации магика для советников, одновременно работающих на разных инструментах одного счета.