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

BNFX Signals

bnfx signals - indicator-3.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор BNFFX Signals объединяет два аналитических подхода на графике: расчёт свечей Хейкин Аси с применением скользящих средних (SMA, EMA, SMMA, LWMA, T3) и обнаружение паттернов пин-баров. Результаты отображаются в виде гистограмм, стрелок трендов и сигналов бычьих/медвежьих пин-баров.

Свечи Хейкин Аши рассчитываются на основе сглаженных значений Open, Close, Low и High. При активации улучшенной формулы используется корректировка значения закрытия по соотношению диапазонов цены. Доступна сортировка значений и применение шага дискретизации для визуализации.

Обнаружение пин-баров основано на соотношении фитилей к телу свечи, сравнении текущего ATR с максимальным за заданный период и проверке импульса тела. Сигналы отрисовываются в виде стрелок. Встроенная система уведомлений поддерживает всплывающие сообщения, электронную почту и звуковые оповещения при смене тренда.

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

НастройкаОписание
Setting_1 Текстовый заголовок первой группы настроек, определяющий параметры расчёта Хейкин Аси и скользящих средних.
MaPeriod Период скользящей средней, применяемой при расчёте значений Хейкин Аси. Минимальное допустимое значение равно 1.
MaMetod Тип скользящей средней, используемой для расчёта Хейкин Аси: простая (SMA), экспоненциальная (EMA), сглаженная (SMMA), линейно-взвешенная (LWMA) или T3.
Step Шаг дискретизации изменений свечей Хейкин Аси. При значении больше нуля разница между текущим и предыдущим значением буфера округляется до кратного этому шагу.
BetterFormula Переключатель улучшенной формулы расчёта закрытия свечей Хейкин Аси. При активации значение закрытия корректируется пропорционально соотношению диапазонов цены, при неактивности используется среднее арифметическое четырёх цен.
T3Hot Параметр T3 Hot (коэффициент затухания) для метода T3. Определяет скорость реакции трёхэкспоненциального скользящего среднего.
T3Original Переключатель оригинального режима расчёта коэффициента сглаживания T3. При активации используется формула 2/(1+period), при неактивности — 2/(2+(period-1)/2).
SortedValues Переключатель сортировки ценовых значений. При активации значения Open, Close, Low и High сортируются по возрастанию перед расчётом, что влияет на определение открытия и закрытия Хейкин Аси.
Setting_2 Текстовый заголовок второй группы настроек, определяющий параметры обнаружения пин-баров.
WickRatioToBody Минимальное соотношение длины нижнего фитиля к длине тела свечи для распознавания бычьего пин-бара. Значение 0 отключает проверку.
WickRatioToOpiiteWick Минимальное соотношение длины нижнего фитиля к длине верхнего фитиля для распознавания бычьего пин-бара. Значение 0 отключает проверку.
LongestBarinLast Количество последних баров, в пределах которых ищется максимальное значение ATR для сравнения с текущим ATR. При значении 0 условие сравнения не применяется.
PinBarMonetum Переключатель проверки импульса тела пин-бара. При активации требуется, чтобы тело текущей свечи не превышало тело предыдущей свечи в соответствующем направлении.
Получить полный код

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

#property version   "1.00"

#property indicator_chart_window
#property indicator_buffers 13
#property indicator_color1  clrSandyBrown
#property indicator_color2  clrDodgerBlue
#property indicator_color3  clrSandyBrown
#property indicator_color4  clrDodgerBlue
#property indicator_color5  clrLime
#property indicator_color6  clrRed
#property indicator_width3  2
#property indicator_width4  2
#property indicator_width5  2
#property indicator_width6  2
#property indicator_type7   DRAW_NONE

#property indicator_label8  "BuyArrow"
#property indicator_type8   DRAW_ARROW
#property indicator_color8  clrGreen
#property indicator_style8  STYLE_SOLID
#property indicator_width8  2

#property indicator_label9  "SellArrow"
#property indicator_type9   DRAW_ARROW
#property indicator_color9  clrRed
#property indicator_style9  STYLE_SOLID
#property indicator_width9  2
#property indicator_type10   DRAW_NONE
#property indicator_type11   DRAW_NONE

#property indicator_label12  "BullishPinBar"
#property indicator_type12   DRAW_ARROW
#property indicator_color12  clrLime
#property indicator_style12  STYLE_SOLID
#property indicator_width12  1

#property indicator_label13  "BearishPinBar"
#property indicator_type13   DRAW_ARROW
#property indicator_color13  clrDeepPink
#property indicator_style13  STYLE_SOLID
#property indicator_width13  1

enum maType
  {
   ma_sma,  // Simple moving average
   ma_ema,  // Exponential moving average
   ma_smma, // Smoothed moving average
   ma_lwma, // Linear weighted moving average
   ma_t3    // T3
  };

input string Setting_1=" Heiken Ashi Ma T3 new ";
extern int    MaPeriod        = 5;
extern maType MaMetod         = ma_t3;
extern int    Step            = 0;
extern bool   BetterFormula   = true;
extern double T3Hot           = 1.00;
extern bool   T3Original      = false;
extern bool   SortedValues    = true;

bool   ShowArrows      = true;
bool   alertsOn        = false;
bool   alertsOnCurrent = false;
bool   alertsMessage   = false;
bool   alertsSound     = false;
bool   alertsEmail     = false;

input string Setting_2=" PinBar Logic ";
input double   WickRatioToBody=2;//Wick Ratio To Body (2 mean Wick is two times longer than Body)
input double   WickRatioToOpiiteWick=2.5;//Wick Ratio to the Opiite Wick
input int      LongestBarinLast=0;//Longest Bar in Last Certain Number of Bars
input bool     PinBarMonetum=true;//Pin Bar Body Momentum

double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double UpArrow[];
double DnArrow[];
double trend[];

double         BuyArrowBuffer[];
double         SellArrowBuffer[];
double         ATR[];
double         ATR_Max[];
double         BullishPinBarBuffer[];
double         BearishPinBarBuffer[];

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

string sym=Symbol();
ENUM_TIMEFRAMES per=0;

int start()
  {
      // код доступен только после оплаты
   }
   int counted_bars=IndicatorCounted();
   if(counted_bars<0)
      return(-1);
   if(counted_bars>0)
      counted_bars--;
   int limit=MathMin(Bars-counted_bars,Bars-1);
   int pointModifier = 1;
   if(Digits==3 || Digits==5)
      pointModifier = 10;

   for(int i=limit; i >= 1; i--)
     {
      if(MaMetod==ma_t3)
        {
         double maOpen  = iT3(Open[i],MaPeriod,T3Hot,T3Original,i,0);
         double maClose = iT3(Close[i],MaPeriod,T3Hot,T3Original,i,1);
         double maLow   = iT3(Low[i],MaPeriod,T3Hot,T3Original,i,2);
         double maHigh  = iT3(High[i],MaPeriod,T3Hot,T3Original,i,3);
        }
      else
        {
         maOpen  = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_OPEN,i);
         maClose = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_CLOSE,i);
         maLow   = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_LOW,i);
         maHigh  = iMA(NULL,0,MaPeriod,0,(int)MaMetod,PRICE_HIGH,i);
        }
      if(SortedValues)
        {
         double sort[4];
         sort[0] = maOpen;
         sort[1] = maClose;
         sort[2] = maLow;
         sort[3] = maHigh;
         ArraySort(sort);
         maLow  = sort[0];
         maHigh = sort[3];
         if(Open[i]>Close[i])
           { maOpen = sort[2]; maClose = sort[1]; }
         else
           {
            maOpen = sort[1];
            maClose = sort[2];
           }
        }

      if(BetterFormula)
        {
         if(maHigh!=maLow)
            double haClose  = (maOpen+maClose)/2+(((maClose-maOpen)/(maHigh-maLow))*MathAbs((maClose-maOpen)/2));
         else
            haClose   = (maOpen+maClose)/2;
        }
      else
         haClose   = (maOpen+maHigh+maLow+maClose)/4;
      double haOpen   = (Buffer3[i+1]+Buffer4[i+1])/2;
      double haHigh   = MathMax(maHigh, MathMax(haOpen,haClose));
      double haLow    = MathMin(maLow,  MathMin(haOpen,haClose));

      if(haOpen<haClose)
        {
         Buffer1[i]=haLow;
         Buffer2[i]=haHigh;
        }
      else
        {
         Buffer1[i]=haHigh;
         Buffer2[i]=haLow;
        }
      Buffer3[i]=haOpen;
      Buffer4[i]=haClose;

      if(Step>0)
        {
         if(MathAbs(Buffer1[i]-Buffer1[i+1]) < Step*pointModifier*Point)
            Buffer1[i]=Buffer1[i+1];
         if(MathAbs(Buffer2[i]-Buffer2[i+1]) < Step*pointModifier*Point)
        

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

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

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

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

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

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

Стоимость полного кода
1 016,10₽ ≈ $12.42