а ну - двое из ларца одинаковы с лица,- подать сюда скрипт!!! :-)
- если сделают то сами и "съедят"! )))
Инструменты тут лежат :-) https://docs.mql4.com/ru/
Инструменты тут лежат :-) https://docs.mql4.com/ru/
Не приказал, а попросил ведь. Сам когда еще осилю :(
В МТ4 есть подобная функция, но например в пятницу происходит сдвиг.
На бейсике года 2000го я бы это минут за 20-30 сварганил бы. А MQL4 вообще по другому выглядит.
В МТ4 есть подобная функция, но например в пятницу происходит сдвиг.
На бейсике года 2000го я бы это минут за 20-30 сварганил бы. А MQL4 вообще по другому выглядит.
#property show_inputs extern string Время="19:30"; extern string Дата_1="2005.10.25"; extern string Дата_2="2007.10.25"; extern color Цвет=Red; int start() { int a, b, c, d, h, m, k; a=StrToTime(Дата_1); b=StrToTime(Дата_2); c=Bars-1; h=TimeHour(StrToTime(Время)); m=TimeMinute(StrToTime(Время)); for(int i=c; i>=0; i--) { if(Time[i]>a && Time[i]<b) { if(d!=TimeDay(Time[i])) { if((TimeHour(Time[i])>h) || (TimeHour(Time[i])==h && TimeMinute(Time[i])>=m)) { d=TimeDay(Time[i]); k++; ObjectCreate("a"+k,OBJ_VLINE,0,Time[i],Bid); ObjectSet("a"+k,OBJPROP_COLOR,Цвет); } } } } return(0); }
OniNePriletyat спасибо.
Попытался разобраться и вот что у меня вышло.
#property show_inputs /выводит окно со свойствами перед запуском скрипта и запрещает вывод окна подтверждения (во второй вкладке окна можно заменить начальные данные)
extern string Время="19:30"; /внешняя переменная - основной тип - символьная строка
extern string Дата_1="2005.10.25"; /внешняя переменная - основной тип - символьная строка
extern string Дата_2="2007.10.25"; /внешняя переменная - основной тип - символьная строка
extern color Цвет=Red; /внешняя переменная - дополнительный тип - цвет
int start()
{
int a, b, c, d, h, m, k; /целый тип данных
a=StrToTime(Дата_1); /преобразование даты в целое число в секундах от 1970 года
b=StrToTime(Дата_2); /преобразование даты в целое число в секундах от 1970 года
c=Bars-1; /задается "с" - кол-во баров на графике минус один
h=TimeHour(StrToTime(Время)); /преобразование времени в секунды, определяется час
m=TimeMinute(StrToTime(Время)); /преобразование времени в секунды, определяется минута
for(int i=c; i>=0; i--) /цикл, i>=0 условие окончания, шаг "-1"
{
if(Time[i]>a && Time[i]<b) /если время между датами заданными в начале, то
{
if(d!=TimeDay(Time[i])) /если не равно дню времени бара
{
if((TimeHour(Time[i])>h) || (TimeHour(Time[i])==h && TimeMinute(Time[i])>=m)) /если час больше ИЛИ (час равен И
минута больше либо равна)
{
d=TimeDay(Time[i]); /"d" равно дню времени бара
k++; /"k" увеличить на один
ObjectCreate("a"+k,OBJ_VLINE,0,Time[i],Bid); /создать линию
ObjectSet("a"+k,OBJPROP_COLOR,Цвет); /изменить ее цвет на заданный в начале
}
}
}
}
return(0);
}
Попытался разобраться и вот что у меня вышло.
#property show_inputs /выводит окно со свойствами перед запуском скрипта и запрещает вывод окна подтверждения (во второй вкладке окна можно заменить начальные данные)
extern string Время="19:30"; /внешняя переменная - основной тип - символьная строка
extern string Дата_1="2005.10.25"; /внешняя переменная - основной тип - символьная строка
extern string Дата_2="2007.10.25"; /внешняя переменная - основной тип - символьная строка
extern color Цвет=Red; /внешняя переменная - дополнительный тип - цвет
int start()
{
int a, b, c, d, h, m, k; /целый тип данных
a=StrToTime(Дата_1); /преобразование даты в целое число в секундах от 1970 года
b=StrToTime(Дата_2); /преобразование даты в целое число в секундах от 1970 года
c=Bars-1; /задается "с" - кол-во баров на графике минус один
h=TimeHour(StrToTime(Время)); /преобразование времени в секунды, определяется час
m=TimeMinute(StrToTime(Время)); /преобразование времени в секунды, определяется минута
for(int i=c; i>=0; i--) /цикл, i>=0 условие окончания, шаг "-1"
{
if(Time[i]>a && Time[i]<b) /если время между датами заданными в начале, то
{
if(d!=TimeDay(Time[i])) /если не равно дню времени бара
{
if((TimeHour(Time[i])>h) || (TimeHour(Time[i])==h && TimeMinute(Time[i])>=m)) /если час больше ИЛИ (час равен И
минута больше либо равна)
{
d=TimeDay(Time[i]); /"d" равно дню времени бара
k++; /"k" увеличить на один
ObjectCreate("a"+k,OBJ_VLINE,0,Time[i],Bid); /создать линию
ObjectSet("a"+k,OBJPROP_COLOR,Цвет); /изменить ее цвет на заданный в начале
}
}
}
}
return(0);
}
ответить
Вот несколько простых, но подробно разобранных скриптов или
экспертов, и можно самому программировать :)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Скрипт такой.
Входные параметры - время (часы, минуты), интервал дат, цвет.
Выходной параметр - вертикальные линии заданного цвета на всем графике в каждой дате заданного интервала в заданное время.
Чтоб разрывы в графике не влияли, это само сабой.
Зы В свое время хорошо программировал на бейсике :)