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

SSA of WPR AA TT

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

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

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

О программе

Индикатор «SSA of WPR AA TT» рассчитывает аналитическую линию на основе метода Сингулярного Спектрального Анализа (SSA), применённого к значениям индикатора WPR (Williams Percent Ranged). Расчёт выполняется через внешнюю DLL-библиотеку libSSA.dll, а результат отображается в отдельном подокне в виде линии с возможностью отрисовки стрелок BUY/SELL.

Индикатор определяет точки пересечения SSA-линией заданного уровня и нуля, формируя визуальные сигналы в виде стрелок. Поддерживается настройка количества баров, периода WPR, параметров SSA, а также типов и расположения стрелок.

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

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

НастройкаОписание
NumberOfBars Максимальное количество баров, используемых для расчёта индикатора. Ограничено значением 5000.
WprPeriod Период индикатора WPR (Williams Percent Ranged), используемого в качестве исходных данных для SSA.
Lag Параметр задержки (lag) для расчёта SSA. Ограничен значением от 1 до 200.
NumberOfComputations Количество итераций вычислений SSA, уточняющих соответствие результата исходному массиву. Ограничено значением от 1 до 20.
Price Тип цены, используемой для расчёта индикатора WPR.
ShowArrowsSW Переключатель включения и отключения отрисовки стрелок BUY/SELL.
CrossLevel Уровень пересечения, при достижении которого SSA-линией формируются сигналы BUY/SELL. Положительное значение задаёт верхний порог, отрицательное — нижний.
WhichArrows Тип отображаемых стрелок: пересечение нуля, пересечение заданного уровня или все стрелки.
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            WprPeriod  =  15;  //14;
extern int                  Lag  =  45;  //25;
extern int NumberOfComputations  =  5;   //2;
extern ENUM_APPLIED_PRICE Price  =  PRICE_CLOSE;

extern bool        ShowArrowsSW  =  true;    
extern int           CrossLevel  =  25;                    
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=Indicato

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

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

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

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

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

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

Стоимость полного кода
798,30₽ ≈ $9.76