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

123PatternsV6

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

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

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

О программе

Индикатор 123PatternsV6 для MetaTrader 4 предназначен для визуального анализа ценовых паттернов на основе построения линий по пивотам ZigZag. Он отображает верхние и нижние трендовые линии, стрелки сигналов, точки ключевых уровней и целевые уровни движения цены. Индикатор работает в окне чарта и использует встроенный индикатор ZigZag для определения разворотов рынка.

На основе построенных линий индикатор определяет бычьи и медвежьи паттерны, включая классические модели и пробои линий. Сигналы отображаются в виде стрелок и маркеров на графике. Целевые уровни рассчитываются на основе диапазона между ключевыми точками паттерна.

Индикатор предоставляет набор настраиваемых параметров для управления глубиной ZigZag, диапазоном отката, отображением линий и целевых уровней, а также для скрытия переходных сегментов. Все настройки доступны в окне свойств индикатора.

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

НастройкаОписание
Notes Примечания — Текстовая строка с описанием базовой настройки индикатора.
ZigZagDepth Глубина ZigZag — Параметр глубины встроенного индикатора ZigZag для определения пивотов.
RetraceDepthMin Минимальная глубина отката — Минимальное значение глубины отката для распознавания паттерна.
RetraceDepthMax Максимальная глубина отката — Максимальное значение глубины отката для распознавания паттерна.
ShowAllLines Показать все линии — Включает отображение верхней и нижней трендовых линий на графике.
ShowAllBreaks Показать все пробои — Включает отображение сигналов пробоя линий вне стандартной модели паттерна.
ShowTargets Показать цели — Включает отображение целевых уровней на графике.
Target1Multiply Множитель цели 1 — Множитель для расчёта первого целевого уровня от диапазона паттерна.
Target2Multiply Множитель цели 2 — Множитель для расчёта второго целевого уровня от диапазона паттерна.
HideTransitions Скрыть переходы — Скрывает сегменты линий в точках перехода для более чистого отображения.
Получить полный код

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

#define INDICATOR_VERSION    20101105       // VERSION 6
#define INDICATOR_NAME       "123PatternsV6"
#define RELEASE_LEVEL        "Public"
#define MT4_BUILD            226

#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1  DodgerBlue   // UpperLine
#property indicator_color2  OrangeRed    // LowerLine
#property indicator_color3  LimeGreen    // Target1
#property indicator_color4  LimeGreen    // Target2
#property indicator_color5  DodgerBlue   // BuyArrow
#property indicator_color6  OrangeRed    // SellArrow
#property indicator_color7  DodgerBlue   // BullDot
#property indicator_color8  OrangeRed    // BearDot
#property indicator_width1  1
#property indicator_width2  1
#property indicator_width3  1
#property indicator_width4  1
#property indicator_width5  3  // BuyArrow
#property indicator_width6  3  // SellArrow
#property indicator_width7  3  // BullDot
#property indicator_width8  3  // BearDot

extern string Notes           = "15pip RangeBars Basic Setup";
extern int    ZigZagDepth     = 12;
extern double RetraceDepthMin = 0.4;
extern double RetraceDepthMax = 1.0;
extern bool   ShowAllLines    = True;
extern bool   ShowAllBreaks   = True;
extern bool   ShowTargets     = False;
extern double Target1Multiply = 1.5;
extern double Target2Multiply = 3.0;
extern bool   HideTransitions = True;

double UpperLine[];
double LowerLine[];
double Target1[];
double Target2[];
double BuyArrow[];
double SellArrow[];
double BullDot[];
double BearDot[];

double   firsthigh, firstlow, lasthigh, lastlow, prevhigh, prevlow, signalprice, brokenline;
datetime firsthightime, firstlowtime, lasthightime, lastlowtime, prevhightime, prevlowtime, signaltime;
datetime redrawtime;  // remember when the indicator was redrawn

int     signal;
#define NOSIG   0
#define BUYSIG  1
#define SELLSIG 2

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

void StatusMessage()
   {
   if(IsTesting() == True) return; // do no more
   double multi = MathPow(10,Digits);
   string msg = INDICATOR_NAME+"  "+TimeToStr(TimeCurrent(),TIME_MINUTES)+"  ";
   if(signal == NOSIG) msg = msg + "NOSIG  ";
   if(signal == BUYSIG) msg = msg + "BUYSIG  "+ TimeToStr(signaltime,TIME_MINUTES)+"  "+DoubleToStr(signalprice,Digits)+"  ";
   if(signal == SELLSIG) msg = msg + "SELLSIG  "+ TimeToStr(signaltime,TIME_MINUTES)+"  "+DoubleToStr(signalprice,Digits)+"  ";
   msg = msg + "ZigZagDepth="+ZigZagDepth+"  ";

   msg = msg + "Spread="+DoubleToStr((Ask-Bid)*multi,0)+"  ";
   msg = msg + "Range="+DoubleToStr((High[0]-Low[0])*multi,0)+"  ";
   Comment(msg);
   }

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

if(redrawtime == Time[0]) {StatusMessage(); return(0);} // if already redrawn on this candle then do no more
else redrawtime = Time[0];                              // remember when the indicator was redrawn

double   zigzag, range, retracedepth, one, two, three;
datetime onetime, twotime, threetime;
int      shift = Bars-1;
while(shift >= 0)
   {

   UpperLine[shift] = UpperLine[shift+1];
   LowerLine[shift] = LowerLine[shift+1];
   Target1[shift] = Target1[shift+1];
   Target2[shift] = Target2[shift+1];

   BullDot[shift] = EMPTY_VALUE;
   BearDot[shift] = EMPTY_VALUE;
   zigzag = iCustom(NULL,0,"ZigZag",ZigZagDepth,5,3,0,shift);
   if(zigzag == High[shift])
      {
      UpperLine[shift] = High[shift];
      firsthigh = prevhigh; firsthightime = prevhightime;
      prevhigh = lasthigh;  prevhightime = lasthightime;
      lasthigh = zigzag;    lasthightime = Time[shift];
      }
   if(zigzag == Low[shift])
      {
      LowerLin

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

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

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

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

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

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

Стоимость полного кода
882,90₽ ≈ $10.79