trading session vlines.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trading session vlines.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Trading Session vLines.mq4 предназначен для визуализации ключевых моментов торговых сессий на графике цены. Он рисует вертикальные линии в заданные часы, соответствующие открытию и закрытию сессий Великобритании, началу нового торгового дня и началу американской сессии. Линии отличаются цветом и стилем, что позволяет трейдеру быстро ориентироваться на графике.
Индикатор автоматически учитывает переход на летнее и зимнее время для Великобритании и США в известные периоды, корректируя часы создания линий. Пользователь может задать глубину истории в количестве баров, а также настраиваемые часы для каждой из отметок сессий.
Продукт работает в среде MetaTrader 4 как пользовательский индикатор. Он не выполняет торговых операций и не рассчитывает торговые сигналы — его задача исключительно наглядная разметка временных отметок на ценовом графике.
Настройки программы
| Настройка | Описание |
|---|---|
| No_Bars_To_Calculate | Количество баров для расчёта — Задаёт глубину истории — сколько баров назад индикатор будет создавать вертикальные линии. По умолчанию равен 1000. |
| UK_Open | Час открытия сессии Великобритании — Час в серверном времени, в который рисуется вертикальная линия открытия UK-сессии. По умолчанию равен 8. |
| UK_Close | Час закрытия сессии Великобритании — Час в серверном времени, в который рисуется вертикальная линия закрытия UK-сессии. По умолчанию равен 17. |
| BeginDay | Час начала торгового дня — Час в серверном времени, в который рисуется вертикальная линия начала нового торгового дня. По умолчанию равен 0. |
| US_Start | Час начала сессии США — Час в серверном времени, в который рисуется вертикальная линия начала US-сессии. По умолчанию равен 13. |
Поиск по коду файла
#property indicator_chart_window
extern int No_Bars_To_Calculate = 1000;
extern int UK_Open=8;
extern int UK_Close=17;
extern int BeginDay = 0;
extern int US_Start = 13;
bool uk_dst = false;
bool us_dst = false;
string objNames[0];
int array_count = 0;
int TimeStart = 0;
int TimeFinish=0;
int USStart=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
int items=ArrayRange(objNames,0)-1; Print(items, " objects to delete");
int i = 0;
for (i=items; i>=0;i--)
{
if(objNames[i] != "")
{
Print("Deleted: ",objNames[i]);
ObjectDelete(objNames[i]);
}
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int pos = Bars-1;
int i = 0;
if(Bars - counted_bars == 1) return(0);
pos = (No_Bars_To_Calculate);
for (i=ArrayRange(objNames,0); i>=0;i--)
{
objNames[i] = "";
}
while(pos>=0)
{
switch(TimeYear(Time[pos]))
{
case 2006:
if(TimeDayOfYear(Time[pos])>85 && TimeDayOfYear(Time[pos])<298)
{
uk_dst=true;
Comment("UK Summer Time is active");
} else {
uk_dst=false;
}
break;
case 2005:
if(TimeDayOfYear(Time[pos])>86 && TimeDayOfYear(Time[pos])<299)
{
uk_dst=true;
} else {
uk_dst=false;
}
break;
default:
uk_dst=false;
break;
}
if(uk_dst==true)
{
TimeStart = UK_Open - 1;
TimeFinish = UK_Close-1;
}
else
{
TimeStart = UK_Open;
TimeFinish = UK_Close;
}
if((TimeHour(Time[pos]) == TimeStart && TimeMinute(Time[pos]) == 0))
{
if(ObjectFind(TimeToStr(Time[pos]))==-1)
{
if(!ObjectCreate(TimeToStr(Time[pos]), OBJ_VLINE, 0, Time[pos], 0))
{
Print("error: can't create vertical line object! code #",GetLastError());
return(0);
}else {
objNames[array_count] = TimeToStr(Time[pos]);
ObjectSet(TimeToStr(Time[pos]), OBJPROP_STYLE, STYLE_DOT);
ObjectSet(TimeToStr(Time[pos]), OBJPROP_COLOR, DodgerBlue);
Print("Object created: ", objNames[array_count]);
array_count++;
}
}
else
{
Print("object ", TimeToStr(Time[pos]), " already exists!");
}
}
if((TimeHour(Time[pos]) == TimeFinish && TimeMinute(Time[pos]) == 0))
{
if(ObjectFind(TimeToStr(Time[pos]))==-1)
{
if(!ObjectCreate(TimeToStr(Time[pos]), OBJ_VLINE, 0, Time[pos], 0))
{
Print("error: can't create Показано первые 50% кода (символов: 3609)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.