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

SSA Advanced TT

ssa of price advanced mtf tt(1).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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, написанный на языке MQL4. Он выполняет расчёт аналитического показателя методом сингулярного спектра (SSA) с использованием внешней DLL-библиотеки libSSA.dll и отображает результаты на графике цены.

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

Встроена система обнаружения тренда с возможностью многокрасочного отображения линий индикатора. Также реализован механизм уведомлений, поддерживающий отправку сообщений, звуковых сигналов, e-mail и push-уведомлений при смене направления тренда.

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

НастройкаОписание
History History — Задаёт количество исторических баров, используемых для расчёта индикатора.
TimeFrame TimeFrame — Выбирает таймфрейм, на котором выполняется расчёт индикатора.
true; (Interpolate) Interpolate — Определяет тип интерполяции между барами: без интерполяции, линейная или квадратичная.
Lag Lag — Устанавливает параметр лага (задержки) для расчёта SSA.
NumberOfComps NumberOfComps — Задаёт количество вычислительных итераций для уточнения результата SSA.
Price Price — Определяет тип цены, используемой для расчёта (например, закрытие, открытие и т.д.).
MultiColor MultiColor — Включает или отключает многокрасочное отображение линий индикатора в зависимости от направления тренда.
SIGNALBAR SIGNALBAR — Задаёт номер бара, на котором проверяется условие для генерации сигнала.
"expert.wav"; //"stops.wav" //"alert2.wav" //"news.wav" (SoundFile) SoundFile — Указывает путь к звуковому файлу, воспроизводимому при срабатывании уведомления.
Получить полный код

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

#import "libSSA.dll"
   void fastSingular(double& sourceArray[],int arraySize, int lag, int numberOfComputationLoops, double& destinationArray[]);
#import

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1  clrDeepSkyBlue //clrLimeGreen  //
#property indicator_color2  clrOrangeRed  //PaleVioletRed
#property indicator_color3  clrOrangeRed  //PaleVioletRed
#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  2

enum Iterpolation { intNO, /*No interpolation*/ intLinear, /*Linear Interpolation*/ intQuad /*Quadratic Interpolation*/ };

extern int                History  =  1888;
extern ENUM_TIMEFRAMES  TimeFrame  =  PERIOD_CURRENT;
extern Iterpolation   Interpolate  =  intQuad;  //true;             
extern int                    Lag  =  25;
extern int          NumberOfComps  =  2;
extern int                  Price  =  PRICE_CLOSE;
extern bool            MultiColor  =  true;
extern int              SIGNALBAR  =  0;
extern bool         AlertsMessage  =  true,   //false,    
                      AlertsSound  =  true,   //false,
                      AlertsEmail  =  false,
                     AlertsMobile  =  false;
extern string           SoundFile  =  "alert2.wav";  //"expert.wav";   //"stops.wav"   //"alert2.wav"   //"news.wav"

#define CallMTF(BUFF,idx)  iCustom(NULL,TimeFrame,IndikName,History,PERIOD_CURRENT,Interpolate, Lag,NumberOfComps,Price, MultiColor,SIGNALBAR,AlertsMessage,AlertsSound,AlertsEmail,AlertsMobile,SoundFile, BUFF, idx)

double SSA[], SSADa[], SSADb[];    string IndikName;
double trend[], Source[], Value[];
static datetime TimeBar=0;   string messageUP, messageDN;

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

int deinit() { return(0); }

int start()
{
      // код доступен только после оплаты
   }
   int n = History;
     if (n > Bars) {
       n = Bars;
       if (ArraySize(Source)!= n) { ArrayResize(Source,n); ArrayResize(Value,n); } }

   static datetime barTime;
   int i, limit, CountedBars=IndicatorCounted();
     if (CountedBars<0) return(-1);
     if (CountedBars>0) CountedBars--;
       limit = MathMin(MathMax(Bars-CountedBars,Lag),n-1);
         SetIndexDrawBegin(0,Bars-n);
           if (barTime!=Time[0]) {
               barTime=Time[0];
               limit=n-1; }

   if (TimeFrame!=_Period)
    {
     limit = (int)fmax(limit,fmin(Bars-2,CallMTF(4,0)*TimeFrame/_Period));
     if (MultiColor && trend[limit]==-1) CleanPoint(limit,SSADa,SSADb);

     for (i=limit+Lag*3; i>=0; i--)
      {
       int y = iBarShift(NULL,TimeFrame,Time[i],false);

       SSA[i]  = CallMTF(0,y);   

       trend[i] = CallMTF(3,y);

       if (Interpolate==0 || (i>0 && y==iBarShift(NULL,TimeFrame,Time[i-1]))) continue;
           interpolate(SSA,TimeFrame,Interpolate,i);

      }  //*конец цикла* for (i=limit+MAX*3; i>=0; i--)

       for (i=limit+Lag; i>=0; i--)  { if (MultiColor && trend[i]==-1) PlotPoint(i,SSADa,SSADb,SSA); } 

     return(0);
    }  //*конец* if (TimeFrame!=_Period).....

   for(i=limit; i>=0; i--)  Source[i]=iMA(NULL,0,1,0,MODE_SMA,Price,i);
                            fastSingular(Source,n,Lag,NumberOfComps,Value);  ArrayCopy(SSA,Value);

   if (MultiColor && trend[limit]==-1) CleanPoint(limit,SSADa,SSAD

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

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

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

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

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

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

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