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

dadas_true_trend_indi_v3.1.mq5

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

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

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

О программе

Dadasa True Trend Indi — пользовательский индикатор для MetaTrader, который анализирует экстремумы цен на заданном старшем таймфрейме и отрисовывает на графике трендовые линии, соединяющие найденные максимумы и минимумы. Линии окрашиваются в зависимости от направления: зелёный/синий для восходящих, красный для нисходящих, нейтральный цвет — для смешанных ситуаций.

Индикатор поддерживает отображение расширений трендовых линий с настраиваемой толщиной и стилем, а также позволяет задавать смещение по времени для линий расширения. Фоновый режим и ширина линий настраиваются отдельно. Обновление происходит при появлении нового бара.

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

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

НастройкаОписание
Show_Indi Отображение индикатора — Включает или отключает отображение индикатора на графике.
Tf Старший таймфрейм — Старший таймфрейм для анализа экстремумов цен. При значении 0 используется текущий таймфрейм.
Begin_Bar Начальный бар — Начальный бар, с которого начинается перебор и построение трендовых линий.
ColorUp Цвет восходящего тренда — Цвет трендовой линии, отображающей восходящее движение цены.
ColorDown Цвет нисходящего тренда — Цвет трендовой линии, отображающей нисходящее движение цены.
ColorNeutral Нейтральный цвет — Цвет нейтральной трендовой линии, применяемый при отсутствии выраженного направления.
Back Фоновое отображение — Включает или отключает отображение трендовых линий на заднем плане графика.
Width Толщина линий — Толщина основных трендовых линий на графике.
Show_Extensions Показывать расширения — Включает или отключает отображение линий расширения тренда.
ExtWidth Толщина расширений — Толщина линий расширения тренда.
ExtStyle Стиль расширений — Стиль линий расширения тренда.
Offset Смещение расширений — Смещение по времени для линий расширения тренда, задаваемое в минутах старшего таймфрейма.
Получить полный код

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

#property indicator_chart_window

extern bool Show_Indi = true;
extern int Tf = 60;
extern int Begin_Bar = 0;
extern color ColorUp     = Blue;
extern color ColorDown     = Red;
extern color ColorNeutral = DarkKhaki;
extern bool Back = true;
extern int Width = 2;
extern bool Show_Extensions = true;
extern int ExtWidth = 1;
extern int ExtStyle = 2;
extern int Offset = 2;

int i,Prev_Bar;
color Color,PrevColor;

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

int deinit()
  {

if(Tf==0) Tf=Period();

for (i=0; i<=Bars; i++) 
    {
ObjectDelete(Tf+"High_Arrow"+i); 
ObjectDelete(Tf+"Low_Arrow"+i);
ObjectDelete(Tf+"ExtHigh_Arrow"+i); 
ObjectDelete(Tf+"ExtLow_Arrow"+i);
    }  

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
  if(IsNewBar())
   {  
  if(Show_Indi&&Period()<Tf)
    {

   for (i=Begin_Bar; i<=Bars; i++) 
    {
ObjectDelete(Tf+"High_Arrow"+i); 
ObjectDelete(Tf+"Low_Arrow"+i);
ObjectDelete(Tf+"ExtHigh_Arrow"+i); 
ObjectDelete(Tf+"ExtLow_Arrow"+i);

    datetime time1 = iTime(NULL,Tf,i);
    datetime time2 = iTime(NULL,Tf,i+1);
    int iBarLowest1 = iLowest( NULL, 0, MODE_LOW, Tf/Period()+1, iBarShift(NULL, 0, time1) );  //lowest in previous Fixed_Trend_Tf_Follow
    int iBarLowest2 = iLowest( NULL, 0, MODE_LOW, Tf/Period()+1, iBarShift(NULL, 0, time2) );    //lowest in pre-previous Fixed_Trend_Tf_Follow
    double price_lowest1 = iLow(NULL,0,iBarLowest1);    
    double price_lowest2 = iLow(NULL,0,iBarLowest2);
    datetime time_lowest1 = iTime(NULL,0,iBarLowest1);
    datetime time_lowest2 = iTime(NULL,0,iBarLowest2);    
    int iBarHighest1 = iHighest( NULL, 0, MODE_HIGH, Tf/Period()+1, iBarShift(NULL, 0, time1) );  //highest in previous Fixed_Trend_Tf_Follow
    int iBarHighest2 = iHighest( NULL, 0, MODE_HIGH, Tf/Period()+1, iBarShift(NULL, 0, time2) );    //highest in pre-previous Fixed_Trend_Tf_Follow
    double price_highest1 = iHigh(NULL,0,iBarHighest1);    
    double price_highest2 = iHigh(NULL,0,iBarHighest2); 
    datetime time_highest1 = iTime(NULL,0,iBarHighest1);
    datetime time_highest2 = iTime(NULL,0,iBarHighest2);  
    datetime time3 = iTime(NULL,Tf,i)+Offset*Tf*60;  

    Color = ColorNeutral;

if(price_highest2>price_highest1)
 {
  Color = ColorDown; 

    ObjectCreate(Tf+"High_Arrow"+i, OBJ_TREND, 0, 0,0, 0,0);
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_TIME1,time_highest1);
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_TIME2,time_highest2); 
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_PRICE1,price_highest1);
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_PRICE2,price_highest2);    

    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_BACK,Back);  
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_COLOR,Color); 
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_STYLE,0); 
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_WIDTH,Width); 
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_RAY,false); 
    ObjectSet(Tf+"High_Arrow"+i,OBJPROP_SELECTABLE,false); 

if(Show_Extensions)
  {
  string Ext_Name = IntegerToString(Tf,0)+"ExtHigh_Arrow"+IntegerToString(i,0);

    ObjectCreate(Ext_Name, OBJ_TREND, 0, 0,0, 0,0);
    ObjectSet(Ext_Name,OBJPROP_TIME1,time_highest1);
    Obje

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

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

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

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

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

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

Стоимость полного кода
523,70₽ ≈ $6.40