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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.