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

123PatternsV6

123 patterns v6 source code.mq5
Вы автор или правообладатель?

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

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

О программе

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

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

Индикатор работает в отдельном графике (chart window) и использует 8 буферов для отрисовки линий, стрелок и точек. Поддерживается очистка отображения при деинициализации и обновление информации при каждом новом баре.

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

НастройкаОписание
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     = 1;
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])
      {
      LowerLine[shi

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

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

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

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

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

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

Стоимость полного кода
878,20₽ ≈ $10.73