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

1VS_ChanelTrend_V1.0

vs-channel-trend.mq5

Похожие материалы по тегам

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор 1VS_ChanelTrend_V1.0 предназначен для визуального анализа трендов и каналов на графике цены в MetaTrader 4. Он строит трендовые линии вверх и вниз на основе значимых точек цены (Low для восходящих, High для нисходящих), начиная с заданного бара, а также параллельные канальные линии пунктиром. При включённой опции отображаются дополнительные внутренние трендовые линии внутри выявленных каналов.

Параметр FirstBar задаёт начальный бар для расчёта трендовых линий. DeltaBar определяет минимальное количество баров между соседними трендовыми линиями, отфильтровывая короткие участки. InsLine включает или отключает отрисовку внутренних трендовых линий внутри каналов.

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

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

НастройкаОписание
????????? ??? ?????????? ????? ( ?????????? ???????????? ????? StartTL ) (FirstBar) FirstBar — Номер бара, с которого начинается расчёт трендовых линий и построение начальной вертикальной отметки StartTL.
??????????? ?????? ????? ? ????? (DeltaBar) DeltaBar — Минимальное количество баров между соседними трендовыми линиями. Отфильтровывает короткие участки, не формирующие значимую линию.
?????? ??? ??? ?????????????? ?????????? ????? ????????? ? ????????????? (InsLine) InsLine — Переключатель отображения дополнительных внутренних трендовых линий внутри построенных каналов.
Получить полный код

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

#property indicator_chart_window
extern int       FirstBar  =  1;    // ????????? ??? ?????????? ?????  ( ?????????? ???????????? ????? StartTL )
extern int       DeltaBar  =  3;    // ??????????? ?????? ????? ? ?????
extern bool      InsLine   =  true; // ?????? ??? ??? ?????????????? ?????????? ????? ????????? ? ?????????????

color     ColorTL_U   =  Blue,
          ColorTL_D   =  Red,
          ColorCH_U   =  Blue,
          ColorCH_D   =  Red,
          ColorTR_U   =  Green,
          ColorTR_D   =  Violet;
string    NameTL_U    =  "Up_", 
          NameTL_D    =  "Dn_",
          NameCH_U    =  "UpZ_", 
          NameCH_D    =  "DnZ_",
          NameTR_U    =  "UpTr_", 
          NameTR_D    =  "DnTr_";
int       last_bar    =  0,
          cntLine     =  1,       // ????? ????????? ?????
          Line_U[100][2],       // ?????? ????????? ????????? ????? . ?????? ????? ????? ???? ?????? 
          Line_D[100][2],       // ?????? ????????? ????????? ????? . ?????? ????? ????? ???? ?????? 
          LineI_U[100][2],      // ?????? ????????? ?????????? ????????? ????? . ?????? ????? ????? ???? ?????? 
          LineI_D[100][2],      // ?????? ????????? ??????????  ????????? ????? . ?????? ?????? ????? ???? ?????? 
          LineShow_U[100][2],   // ?????? ????????? ???????????? ????????? ????? . ?????? ?????? ????? ???? ?????? - ???????????? Line_U[100][2]
          LineShow_D[100][2];   // ?????? ????????? ???????????? ????????? ????? . ?????? ?????? ????? ???? ?????? - ???????????? Line_D[100][2] 

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

int deinit()
  {
   ObjectDelete("StartTL");
   DeleteTrendLine( NameTL_U, 100);
   DeleteTrendLine( NameTL_D, 100);
   DeleteTrendLine( NameCH_U, 100);
   DeleteTrendLine( NameCH_D, 100);
   DeleteTrendLine( NameTR_U, 100);
   DeleteTrendLine( NameTR_D, 100);
   ObjectDelete("MyLabel_D");
   ObjectDelete("MyLabel_U");
   return(0);
  }

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

void Draw_TL ()
{
   int    i,
          j,
          MaxTL,Bar2;
   double Bar1_Value,
          Bar2_Value,
          Bar0_Value;
   FirstBar=iBarShift(Symbol(),Period(), ObjectGet("StartTL",0), FALSE);

   DeleteTrendLine( NameTL_U, 100);
   DeleteTrendLine( NameTL_D, 100);
   DeleteTrendLine( NameCH_U, 100);
   DeleteTrendLine( NameCH_D, 100);
   DeleteTrendLine( NameTR_U, 100);
   DeleteTrendLine( NameTR_D, 100);

   Line_U[0,0]=FirstBar;                           // ?????? ??? ?????? ????????? ????? Up
   Line_U[0,1]=FindPoint(Line_U[0,0],Bars,1);      // ?????? ??? ?????? ????????? ????? Up
   Line_D[0,0]=FirstBar;                           // ?????? ??? ?????? ????????? ????? Down
   Line_D[0,1]=FindPoint(Line_D[0,0],Bars,-1);     // ?????? ??? ?????? ????????? ????? Down

   i=0;
   while ( Line_U[i,1] > Line_U[i,0] )     // ???? ??????? ????????? ????? ??????? ?? ?????????? ? ?????? Line
   {
      i++;
      Line_U[i,0]=Line_U[i-1,1];
      Line_U[i,1]=FindPoint(Line_U[i,0],Bars,1);
   }

   MaxTL=i-1;
   cntLine=0;
   j=0;    
   for (i=0; i<=MaxTL; i++) //  ?? ???????????? ??????? ???????? ??????? ????????? ?????? 
   {
      if(Line_U[i,1]-Line_U[i,0] >=DeltaBar )
      {
         cntLine++;
         LineShow_U[j,0]=Line_U[i,0];     // ????????? ?????? ? ?????????????? ?????????? ???????. 1 ??????????
         LineShow_U[j,1]=Line_U[i,1];     // ????????? ?????? ? ?????????????? ?????????? ???????. 2 ??????????
         j++;
         CreateLine(NameTL_U+cntLine,Time[Line_U[i,1]], Low[ Line_U[i,1] ],Time[Line_U[i,0]],Low[ Line_U[i,0] ],ColorTL_U,STYLE_SOLID);

         Bar2=DrawLine (NameTL_U+cntLine, Line_U[i,1], Line_U[i,0], 1); // ??????? ??? ?????????????? ????? ??????
         Bar2_Value=ObjectGetValueByShift(NameTL_U+cntLine, Bar2);      // ???????? ????? ????
         Bar0_Value=Low[ Line_U[i,0] ]+(High[ Bar2 ]-Bar2_Value  );     // ??????? ????? ?????? ?????? ? ?????? ?????
         CreateLine(NameCH_U+cntLine,Time[Line_U[i,1]], Low[ Line_U[i,1] ]+(High[ Bar2 ]-Bar2_Value ),  Time[Line_U[i,0]],Bar0_Value,ColorCH_U,STYLE_DASH);
         ObjectSet   (NameCH_U+cntLine,OBJPROP_RAY,false);
      }   
   }
   ObjectSetText("MyLabel_U", "Up=  "+ cntLine, 12, "Times New Roman", Blue);

   if (InsLine==true)
   {

      int Bar_1,Bar_2;
      MaxTL=j;
      for(j=0; j<MaxTL; j++)
      {

         Bar_1=iHighest(Symbol(),Period(),MODE_HIGH,LineShow_U[j][1]-LineShow_U[j][0],LineShow_U[j][0]); //?????? ???. ?????????, ??? ???????????? ?? ?????? ??????. 
         Bar_2=LineShow_U[j,1];                       // ?????? ??? ????????? ?????? ??? ?????? ????????? ????? Up
         LineI_U[0,0]=Bar_1;                          //?????? ??? ????????? ?????. ????????? ??? 

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

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

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

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

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

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

Стоимость полного кода
823,60₽ ≈ $10.07