← К каталогу
Исходный код · ID 3015

4_trendline_v3.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, который отрисовывает на графике четыре трендовые линии (OBJ_TREND), привязанные к заданным временным интервалам. Индикатор работает на таймфрейме M15, сравнивая время каждого бара с настраиваемыми временными метками начала и окончания для каждой из четырёх линий.

Каждая трендовая линия имеет собственный цвет и может отображаться как сплошной или пунктирной линией. Параметр ApplyToOpen определяет, будет ли для построения линии использоваться цена открытия или цена закрытия бара. Временные значения задаются в виде строк с указанием am/pm и корректируются с учётом разницы между серверным и локальным временем.

Индикатор автоматически удаляет и пересоздаёт объекты линий при каждом обновлении. При несоответствии серверного и локального времени, а также при работе в пятницу после заданного часа закрытия, выводятся предупреждения через функцию Alert.

Настройки программы

НастройкаОписание
ApplyToOpen ApplyToOpen — Переключатель выбора цены для построения концов трендовых линий. При значении true используются цены открытия баров, при false — цены закрытия.
Friday_Close_Hour Friday_Close_Hour — Строковое значение часа закрытия в пятницу (формат с указанием am/pm), используемое для корректировки временной разницы серверного и локального времени.
2:45pm(PST) 5:45pm(EST) (TL_1_StartTime) TL_1_StartTime — Время начала первой трендовой линии в строковом формате с указанием am/pm (например, 2:45pm).
9:15pm(PST) 12:15am(EST) (TL_1_EndTime) TL_1_EndTime — Время окончания первой трендовой линии в строковом формате с указанием am/pm (например, 9:15pm).
2:45pm(PST) 5:45pm(EST) (TL_2_StartTime) TL_2_StartTime — Время начала второй трендовой линии в строковом формате с указанием am/pm (например, 2:45pm).
11:45pm(PST) 2:45am(EST) (TL_2_EndTime) TL_2_EndTime — Время окончания второй трендовой линии в строковом формате с указанием am/pm (например, 11:45pm).
12:15am(PST) 3:15am(EST) (TL_3_StartTime) TL_3_StartTime — Время начала третьей трендовой линии в строковом формате с указанием am/pm (например, 12:15am).
5:15am(PST) 8:15am(EST) (TL_3_EndTime) TL_3_EndTime — Время окончания третьей трендовой линии в строковом формате с указанием am/pm (например, 5:15am).
5:15am(PST) 8:15am(EST) (TL_4_StartTime) TL_4_StartTime — Время начала четвёртой трендовой линии в строковом формате с указанием am/pm (например, 5:15am).
11:15am(PST) 2:15pm(EST) (TL_4_EndTime) TL_4_EndTime — Время окончания четвёртой трендовой линии в строковом формате с указанием am/pm (например, 11:15am).
FirstColor FirstColor — Цвет первой трендовой линии на графике.
SecondColor SecondColor — Цвет второй трендовой линии на графике.
ThirdColor ThirdColor — Цвет третьей трендовой линии на графике.
FourthColor FourthColor — Цвет четвёртой трендовой линии на графике.
Получить полный код

Поиск по коду файла

extern int Server_Local_TimeDiff = 10;
extern bool   ApplyToOpen = false;
extern string Friday_Close_Hour = "1pm";
extern string TL_1_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_1_EndTime =  "9:15pm"; //9:15pm(PST) 12:15am(EST)
extern string TL_2_StartTime =  "2:45pm"; //2:45pm(PST) 5:45pm(EST)
extern string TL_2_EndTime =  "11:45pm"; //11:45pm(PST) 2:45am(EST)
extern string TL_3_StartTime =  "12:15am"; //12:15am(PST) 3:15am(EST)
extern string TL_3_EndTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_StartTime =  "5:15am"; //5:15am(PST) 8:15am(EST)
extern string TL_4_EndTime =  "11:15am"; //11:15am(PST) 2:15pm(EST)
extern color  FirstColor = DodgerBlue;
extern color  SecondColor = Goldenrod;
extern color  ThirdColor = Salmon;
extern color  FourthColor = Violet;

int FridayCloseHour=23, vHour=0;
double timeDiff=10;
bool alertFlag=false, alertFlag2=false;
string TL1StartTime, TL1EndTime, TL2StartTime, TL2EndTime;
string TL3StartTime, TL3EndTime, TL4StartTime, TL4EndTime;
string test, test2, barTime;

int TL_1_TradeDay=1;  

#property indicator_chart_window

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

ObjectDelete("TL_1");
ObjectDelete("TL_1_2");
ObjectDelete("TL_2");
ObjectDelete("TL_2_2");   
ObjectDelete("TL_3");
ObjectDelete("TL_3_2");
ObjectDelete("TL_4");
ObjectDelete("TL_4_2");      

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }

void calcTimes(){
int strlen=0;
string substr, substr2, substr3;
string substr100, substr200;

if (CurTime() > LocalTime()) {timeDiff = CurTime() - LocalTime();} 
    else timeDiff = LocalTime() - CurTime(); // if (alertFlag==false) {Alert("Error!!!", "Server Time<Local Time",

timeDiff=MathRound(timeDiff/3600);

if (DayOfWeek()==5 && Hour()>=FridayCloseHour) timeDiff=Server_Local_TimeDiff;
else 
if (timeDiff != Server_Local_TimeDiff) {
   if (alertFlag==false) {Alert("Error!!!", " Server_Local_TimeDiff Do not match!",
      "\n","If Server is active.","\n", 
      "You need to change Server_Local_TimeDiff!","\n",
      "Or you may have to change the Friday_Close_Hour."); alertFlag=true;}}

strlen=StringLen(TL_1_StartTime);

if (strlen==6) {
substr=StringSubstr(TL_1_StartTime, 0, 1);
substr2=StringSubstr(TL_1_StartTime, 2, 2);
substr3=StringSubstr(TL_1_StartTime, 4, 2);
if (substr3=="am" && substr!="12") {vHour=StrToInteger(substr)+timeDiff; if (vHou

Показано первые 50% кода (символов: 17624)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 762,40₽ ≈ $21.54