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

SSA of ADX AA TT

ssa of adx aa tt.mq5
Вы автор или правообладатель?

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

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

О программе

Индикатор «SSA of ADX AA TT» рассчитывает аналитическую кривую на основе метода Сингулярного Спектрального Анализа (SSA), применяя её к данным ADX. В качестве исходных значений используется разница между Plus DI и Minus DI, умноженная на коэффициент, после чего через библиотеку libSSA.dll выполняется сглаживание с заданным лагом и числом итераций. Результат отображается в отдельном подокне графика.

Индикатор рисует стрелки BUY и SELL при пересечении кривой SSA заданных уровней или нуля. Доступны настройки типа стрелок, их расположения относительно свечей и задержки отображения. Пересечения определяются по двум уровням — положительному и отрицательному CrossLevel, а также по нулю.

Поддерживаются уведомления о сигналах: всплывающие сообщения, звуковые оповещения, email- и мобильные уведомления. Каждый тип оповещения включается и отключается отдельной настройкой. Звук задаётся отдельными файлами для сигналов BUY и SELL.

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

НастройкаОписание
NumberOfBars Максимальное количество баров, используемых для расчёта индикатора. Ограничено значением 5000.
ADXPeriod Период расчёта ADX, определяющий количество баров для усреднения направленного индекса.
Lag Параметр задержки (лаг) для SSA, влияет на степень сглаживания кривой. Допустимый диапазон от 1 до 200.
NumberOfComputations Количество итераций вычислений SSA, уточняющих подгонку к исходным данным. Допустимый диапазон от 1 до 20.
Price Тип цены, используемой для расчёта ADX (закрытие, открытие, высокая, низкая и другие варианты).
ShowArrowsSW Переключатель включения и отключения отрисовки стрелок BUY и SELL на графике.
CrossLevel Уровень пересечения для генерации стрелок. Положительное и отрицательное значения задают верхнюю и нижнюю границы фильтрации сигнала.
WhichArrows Тип отображаемых стрелок: пересечение нуля, пересечение уровня CrossLevel или все стрелки сразу.
ShowArrows Режим отображения стрелок: скрыты, внутри свечей, по центру или снаружи.
ARROWBAR Бар, на котором рисовать стрелку. Значение 0 означает текущий бар, который может исчезнуть до закрытия.
ArrGap Дистанция от High/Low свечи до отображаемой стрелки, задаётся в пунктах.
SIGNALBAR Бар задержки сигнала, определяющий, на каком баре в прошлом проверять наличие стрелки для уведомлений.
Получить полный код

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

#property description "Индикатор работает с библиотекой libSSA.dll"
#property description "^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^"
#property description "Moving Average на основе  метода Сингулярного Спектрального Анализа [SSA]." 
#property description "Параметры SSA позволяют сгладить выделенный тренд,"
#property description "и установить порог фильтрации шума. SSA не имеет фазовых запаздываний," 
#property description "в отличие от методов обычной фильтрации и сглаженной MA."
#property description " "
#property description "SSA перерисовывается!!!"  //"НЕ перерисовывается! в режиме MTF." 
#property description " "  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "
#property description "Почта:  t*******e*@mail.ru" 
#property version  "2.92"

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

#property indicator_separate_window
#property indicator_buffers 3

#property indicator_color1  clrLime   //Goldenrod
#property indicator_color2  clrWhite  //LightSteelBlue
#property indicator_color3  clrRed    //MediumOrchid

#property indicator_width1  2
#property indicator_width2  0
#property indicator_width3  0

#property indicator_style1  STYLE_DASH
#property indicator_style2  STYLE_DOT
#property indicator_style3  STYLE_DOT

#property indicator_levelcolor clrDimGray  //White
#property indicator_levelstyle STYLE_DOT

enum arrows { ArrowsOFF, arCrossZero, arCrossLev, allArrows };
enum showAR { HideArrows, INSIDE, CENTER, OUTSIDE };  //enum showAR { aDoNotCALC, HideArrows, aOnCHART, aOnINDIK }; 

extern int         NumberOfBars  =  1234;
extern int            ADXPeriod  =  15;  //14;
extern int                  Lag  =  15;  //25;
extern int NumberOfComputations  =  3;   //2;
extern ENUM_APPLIED_PRICE Price  =  PRICE_CLOSE;

extern bool        ShowArrowsSW  =  true;    
extern int           CrossLevel  =  35;                    
extern arrows       WhichArrows  =  allArrows;   //arCrossLev;  //arCrossSignal;  //CrossZero;  //     
extern showAR        ShowArrows  =  OUTSIDE;   //IN      
extern int             ARROWBAR  =  0;   //На каком баре рисовать Стрелку: =0 - рисовать на текущем (до закрытия - может исчезнуть)
extern int               ArrGap  =  5;   //Дистанция от High/Low свечи  
extern color           ColorBUY  =  clrWhite,  //LightCyan,   //Aqua,  // //DarkTurquoise,  //LimeGreen,  //FireBrick,   //Aqua,  //
                       ColorSEL  =  clrRed;    //Magenta;   //Gold;  // //HotPink;  //Orange;   //SlateBlue;   //DodgerBlue;   //Lavender;  //Gold;  //
extern int              CodeBUY  =  233,
                        CodeSEL  =  234,  
                        ArrSize  =  1;        

extern int            SIGNALBAR  =  1;
extern bool       AlertsMessage  =  true,   //false,    
                    AlertsSound  =  true,   //false,
                    AlertsEmail  =  false,
                   AlertsMobile  =  false;
extern string          SoundBUY  =  "news.wav",
                      SoundSELL  =  "expert.wav";    //"alert2.wav";  //"expert.wav";   //"stops.wav"   //"alert2.wav"   //"news.wav";   //

double SSA[], ARRUP[], ARRDN[], sourceValues[], calcValues[];        
int ARB, SGB;    string PREF;    datetime TimeBar=0;  

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

int deinit()  { ALL_OBJ_DELETE();  Comment("");  return(0); }

void ALL_OBJ_DELETE()
{
   string name;
   for (int s=ObjectsTotal()-1; s>=0; s--) {
        name=ObjectName(s);
        if (StringSubstr(name,0,StringLen(PREF))==PREF) ObjectDelete(name); }
}  

datetime LastBarOpenTime=0; 

bool NewBarTF(int period) 
{
   datetime BarOpenTime=iTime(NULL,period,0);
   if (BarOpenTime!=LastBarOpenTime) {
       LastBarOpenTime=BarOpenTime;
       return (true); } 
   else 
       return (false);
}

int start()
{
      // код доступен только после оплаты
   }
   static datetime barTime;
   int i, n, limit, CountedBars=IndicatorCounted();

   n = NumberOfBars;
      if (n > B

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

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

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

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

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

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

Стоимость полного кода
807,80₽ ≈ $9.87