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

trendlines_auto.mq5

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

#__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 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

Индикатор использует три внутренних буфера для хранения данных о сигналах покупки, продажи и стоп-уровнях. Уровни сигналов рассчитываются на основе максимума/минимума бара, следующего за точкой пересечения, с возможностью настройки отступа в пунктах. Параметр Break определяет, какой метод сравнения используется для генерации сигнала.

Функция уведомлений поддерживает несколько типов: вывод отладочной информации в журнал, воспроизведение звука и всплывающие сообщения. Звуковой файл можно настроить. Внешний вид трендовых линий (цвет, толщина, режим луча) настраивается через соответствующие параметры.

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

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

НастройкаОписание
_s0 Заголовок группы настроек
Break Включает или выключает проверку пробоя трендовой линии ценой для генерации сигнала
Expand Управляет продлением трендовых линий при обновлении
UseAlert Включает или выключает отправку уведомлений о сигналах
alertDebug Включает или выключает вывод отладочной информации в журнал
alertSound Включает или выключает звуковое уведомление при сигнале
alertMessage Включает или выключает всплывающее сообщение при сигнале
fileSound Имя звукового файла для воспроизведения при уведомлении
TrendUpName Имя объекта восходящей трендовой линии
TrendDnName Имя объекта нисходящей трендовой линии
TrendUp Цвет восходящей трендовой линии
TrendDn Цвет нисходящей трендовой линии
otstup Отступ от цены в пунктах (pips) для установки уровней сигналов
_s1 Заголовок группы настроек ZigZag
ExtDepth Глубина ZigZag — минимальное количество баров между пивотами
ExtDeviation Отклонение ZigZag — минимальное изменение цены для формирования пивота
ExtBackstep Количество баров для возврата при построении ZigZag
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Black

extern string _s0="????????? ?????";

extern bool Break=true;//?????? ??????? ???????? ?????? ??? ?????
extern bool Expand=true;// ???????? ?? ????????? ????????????? ????????????

extern bool UseAlert=true;
extern bool alertDebug=true;
extern bool alertSound=true;
extern bool alertMessage=false;
extern string fileSound="alert2.wav";

extern string TrendUpName="TrendlineUp";
extern string TrendDnName="TrendlineDn";

extern color TrendUp=Blue;
extern color TrendDn=Red;

extern int otstup=0;//?????? ??????? ?? ????? pips

extern string _s1="????????? ZZ";
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
double buy[],sell[],stop[];

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

int deinit()
  {

   ObjectDelete(TrendUpName);
   ObjectDelete(TrendDnName);

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int    counted_bars=IndicatorCounted();
   ArrayInitialize(buy,EMPTY_VALUE);
   ArrayInitialize(sell,EMPTY_VALUE);
   ArrayInitialize(stop,EMPTY_VALUE);

   double zzUp1=0,zzUp2=0;   
   double zzDn1=0,zzDn2=0;
   int iUp1,iUp2,iDn1,iDn2;
   double zzCurrent=0,zzTmp;
   int j=0,trend=0;

   for(int i=0;i<Bars;i++){

      zzTmp=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);//current
      if(zzTmp>0.0 && j==0) {zzCurrent=zzTmp; j=1;}

      if(zzTmp>0.0 && j==1 && zzTmp<zzCurrent && zzDn1==0) {zzDn1=zzTmp; j=2; iDn1=i; trend=-1;}
      if(zzTmp>0.0 && j==1 && zzTmp>zzCurrent && zzUp1==0) {zzUp1=zzTmp; j=2; iUp1=i; trend=1; }

      if(trend==-1){
         if(zzTmp>0.0 && j==2 && zzTmp>zzDn1 && zzUp1==0) {zzUp1=zzTmp; iUp1=i; j=3;}
         if(zzTmp>0.0 && j==3 && zzTmp<zzUp1 && zzDn2==0) {zzDn2=zzTmp; iDn2=i; j=4;}
         if(zzTmp>0.0 && j==4 && zzTmp>zzDn2 && zzUp2==0) {zzUp2=zzTmp; iUp2=i; j=5; break;}
      }
      if(trend==1){
         if(zzTmp>0.0 && j==2 && zzTmp<zzUp1 && zzDn1==0) {zzDn1=zzTmp; iDn1=i; j=3;}
         if(zzTmp>0.0 && j==3 && zzTmp>zzDn1 && zzUp2==0) {zzUp2=zzTmp; iUp2=i; j=4;}
         if(zzTmp>0.0 && j==4 && zzTmp<zzUp2 && zzDn2==0) {zzDn2=zzTmp; iDn2=i; j=5; break;}
      }
   }

   if(zzUp1!=0.0 && zzUp2!=0.0 && zzDn1!=0.0 && zzDn2!=0.0){

      if(zzUp2>zzUp1 || Expand){
         if(ObjectFind(TrendDnName)==-1) {

            if(ObjectCreate(TrendDnName,OBJ_TREND,0,iTime(NULL,0,iUp2),zzUp2,iTime(NULL,0,iUp1),zzUp1)){
                 ObjectSet(TrendDnName,OBJPROP_COLOR,TrendDn);                
                 ObjectSet(TrendDnName,OBJPROP_WIDTH,2);
                 ObjectSet(TrendUpName,OBJPROP_RAY,TRUE);
            }

         }
         else {
            ObjectSet(TrendDnName,OBJPROP_TIME1,iTime(N

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

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

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

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

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

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

Стоимость полного кода
502,10₽ ≈ $6.14