Levis_Rock
Активный участник
Вот ты смешной...
Вставь тогда этот код перед кодом открытия ордера, оно будет посылать на ... в отдых, пока время не наступит.
Что же ты сразу, я в mql не алё )
Вот ты смешной...
Вставь тогда этот код перед кодом открытия ордера, оно будет посылать на ... в отдых, пока время не наступит.
Вставь тогда этот код перед кодом открытия ордера, оно будет посылать на ... в отдых, пока время не наступит.
Элвису очередное гранд мерси, конечно. Но я хотел обозначить то, что ограничение торгов по времени должно накладываться только на открытие ордеров и если ордера уже есть открытые, то их сопровождение должно продолжаться. Поэтому жесткие ретерны в коде, как говорил мой коллега по работе - такого быть нельзя!)))Всё отлично, спасибо за помощь
Элвису очередное гранд мерси, конечно. Но я хотел обозначить то, что ограничение торгов по времени должно накладываться только на открытие ордеров и если ордера уже есть открытые, то их сопровождение должно продолжаться. Поэтому жесткие ретерны в коде, как говорил мой коллега по работе - такого быть нельзя!)))
Динозавры живыМужики, ну что вы как дети, давно существует код, который работает. Ну только если не нужны минуты.
Распознает переход через полночь...
В начале объявляем переменные :
extern int Start = 0; // Время старта открытия ордеров
extern int Stop = 18; // Время стопа открытия ордеров
потом в start пихаем:
if (Start < Stop)
{
if (TimeHour(TimeCurrent()) < Start || TimeHour(TimeCurrent()) >= Stop) return(0);
}
if (Start > Stop)
{
if (TimeHour(TimeCurrent()) < Start && TimeHour(TimeCurrent()) >= Stop) return(0);
}
extern string emp3 = "//////////////Work time settings////////////////////";
extern bool Use_work_time = false;
extern string start_time_1 = "08:00";
extern string stop_time_1 = "16:00";
extern string start_time_2 = "";
extern string stop_time_2 = "";
extern string start_time_3 = "";
extern string stop_time_3 = "";
/////////////////////////////////////////////////////////////////
bool work_time_f()
{
if(!Use_work_time) return(true);
string TC_s=TimeToString(TimeCurrent(),TIME_MINUTES);
if(
(start_time_1+stop_time_1=="" || ((start_time_1<stop_time_1 && (TC_s<start_time_1 || TC_s>=stop_time_1)) || (start_time_1>stop_time_1 && (TC_s<start_time_1 && TC_s>=stop_time_1))))
&& (start_time_2+stop_time_2=="" || ((start_time_2<stop_time_2 && (TC_s<start_time_2 || TC_s>=stop_time_2)) || (start_time_2>stop_time_2 && (TC_s<start_time_2 && TC_s>=stop_time_2))))
&& (start_time_3+stop_time_3=="" || ((start_time_3<stop_time_3 && (TC_s<start_time_3 || TC_s>=stop_time_3)) || (start_time_3>stop_time_3 && (TC_s<start_time_3 && TC_s>=stop_time_3))))
) return(false);
return (true);
}
Ребят подскажите, строчка if (Hour()<8 || Hour()>20) return(0);
Это чтобы сов торговал с 8 до 20, что изменить, что бы наоборот сов не торговал в это время? И будет ли работать, если я укажу несколько строк с разным временем?
if (Hour()>=8 && Hour()<20) return(0);
Все верно, и код короче выйдет.Зачем? TimeHour(TimeCurrent())
просто Hour()
...
PHP:if (Hour()>=8 && Hour()<20) return(0);
Так я же не тебе писал ответ, а Левису_Каменному!)))Ну так я же написал - вставь код с ретерном не в старт, а внутрь функции открытия ордеров, в самом начале ее. И функция будет постоянно прерываться, пока время не наступит.
Стукани мне в скайп (ник тот же) - есть пара мыслей, с которыми уже год не могу справиться...))) Может твой свежий взгляд рассудит...Не разобрался, думал , что мне пишешь, ты сначала мой ник упомянул, а потом текст далее воспринимается как будто мне .
Доброго времени суток!
Вопрос: индикатор подвальный и рисует стрелки в подвале, а не на чарте, как их перенести на чарт?что-то не могу разобраться
ObjectCreate()
Доброго времени суток!
Вопрос: индикатор подвальный и рисует стрелки в подвале, а не на чарте, как их перенести на чарт?что-то не могу разобраться
#property indicator_chart_window
Если кроме стрелок больше ничего не рисует.:facepalm:
Гыгыгы...#property indicator_chart_window
Если кроме стрелок больше ничего не рисует.:facepalm:
Доброй ночи, помогите с проблемой..
На терминале работает один бот на разных парах. Перед кодом открытия ордера, стоит функция if(total==0), если её убрать, то бот открывает тысячи сделок одновременно, в противном случае бот не открывает ордера по другим парам, если в терминале уже есть открытый ордер, хоть и разные магики, как можно исправить ситуацию ?