ShadeNY
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «shadeny1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
ShadeNY — это пользовательский индикатор для платформы MetaTrader 4, предназначенный для визуальной маркировки торговых сессий на ценовых графиках. Индикатор отрисовывает цветные прямоугольники, охватывающие временные интервалы активной сессии, что позволяет трейдеру наглядно оценить продолжительность и расположение сессионного периода.
Работа индикатора поддерживает таймфреймы от M1 до H4. При инициализации на графике отрисовываются затенённые области прошлых сессий, а при поступлении новых данных текущая сессия обновляется путём расширения соответствующего прямоугольника. После завершения сессии создаётся отдельный объект-заливка.
Цвет заливки настраивается пользователем. По умолчанию используется жёлтый цвет. При удалении индикатора с графика все созданные объекты корректно удаляются.
Настройки программы
| Настройка | Описание |
|---|---|
| ShadeColor | ShadeColor — Цвет заливки прямоугольников, обозначающих торговую сессию. По умолчанию — жёлтый. |
Поиск по коду файла
#property indicator_chart_window
extern color ShadeColor=Yellow;
/*
#define NY_OPEN_HH 17 // NY session open hour
#define NY_OPEN_MM 30 // NY session open minutes
#define NY_CLOSE_HH 00 // NY session close hour
#define NY_CLOSE_MM 05 // NY session close minutes
*/
#define NY_OPEN_HH 14 // NY session open hour
#define NY_OPEN_MM 30 // NY session open minutes
#define NY_CLOSE_HH 21 // NY session close hour
#define NY_CLOSE_MM 05 // NY session close minutes
/*
#define NY_OPEN_HH 08 // NY session open hour
#define NY_OPEN_MM 30 // NY session open minutes
#define NY_CLOSE_HH 14 // NY session close hour
#define NY_CLOSE_MM 05 // NY session close minutes
*/
#define MAX_DAYS_TO_SHADE 5 // maximum number of days back from last chart date to be shaded
string obj[]; //array of object names
int iPrevious=0, iStart=-1, iEnd;
double dLow, dHigh;
int init()
{
// код доступен только после оплаты
}
if(Period()>PERIOD_H4) return(0); // no shading required
int iMaxBarsOnChart=iBars(NULL,0), i, iBarDay, iBarTime;
int iBarsToDo=MathMin((MAX_DAYS_TO_SHADE*PERIOD_D1)/Period(),iMaxBarsOnChart);
for(i=iBarsToDo; i<iMaxBarsOnChart; i++)
{
iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM) iStart=i;
else if(iStart>-1) break;
}
if(iStart>-1) iBarsToDo=iStart;
iStart=-1;
for(i=iBarsToDo; i>=0; i--)
{
iBarDay=TimeYear(Time[i])*PERIOD_MN1*12+TimeMonth(Time[i])*PERIOD_MN1+TimeDay(Time[i])*PERIOD_D1;
iBarTime=iBarDay+TimeHour(Time[i])*60+TimeMinute(Time[i]);
if(iBarTime>=iBarDay+NY_OPEN_HH*60+NY_OPEN_MM && iBarTime<=iBarDay+NY_CLOSE_HH*60+NY_CLOSE_MM)
{
if(iBarDay==iPrevious) // current NY session
{
dLow =MathMin(Показано первые 50% кода (символов: 2883)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.