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

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

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

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

О программе

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

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

НастройкаОписание
History История — Количество баров, используемых для расчёта SSA; ограничивается максимумом 5000.
TimeFrame Таймфрейм — Таймфрейм, на котором выполняется расчёт SSA; автоматически корректируется до минимального из выбранного и текущего графика.
true; (Interpolate) Интерполяция — Режим интерполяции промежуточных значений между барами: без интерполяции, линейная или квадратичная.
Lag Задержка — Параметр задержки SSA, влияющий на сглаживание и чувствительность анализа.
NumberOfComps Количество вычислений — Число итераций вычислений SSA, определяющее точность подгонки к исходному массиву данных.
Price Цена — Тип цены, используемый как исходные данные для расчёта (например, цена закрытия).
MultiColor Мультицвет — Включает или отключает цветовое выделение участков тренда на графике индикатора.
SIGNALBAR Бар сигнала — Номер бара, на котором проверяется смена направления тренда для генерации оповещений.
"expert.wav"; //"stops.wav" //"alert2.wav" //"news.wav" (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