ssa of cci aa tt.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ssa of cci aa tt.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Аналитический индикатор для MetaTrader 5, объединяющий индикатор Commodity Channel Index (CCI) с методом Сингулярного Спектрального Анализа (SSA) через внешнюю библиотеку libSSA.dll. SSA позволяет сгладить трендовую составляющую CCI и фильтровать шум без фазовых запаздываний. Индикатор отображает результат расчёта в отдельном подокне и рисует стрелки сигналов при пересечении заданных уровней.
Управление отображением стрелок BUY и SELL осуществляется через параметры типа переключатель и вариант настройки, включая выбор положения стрелок относительно свечей и тип отображения. При достижении условий формируются уведомления: всплывающие сообщения, звуковые сигналы, email- и мобильные уведомления.
Индикатор использует три буфера: основной расчётный буфер SSA и два буфера для стрелок. Поддерживает работу на различных таймфреймах и позволяет настраивать глубину анализа, количество вычислений и пороговые уровни пересечения.
Настройки программы
| Настройка | Описание |
|---|---|
| NumberOfBars | Определяет количество исторических баров, используемых для расчёта индикатора. Максимальное значение ограничено 5000. |
| CCIPeriod | Период расчёта индикатора Commodity Channel Index (CCI), используемого в качестве исходных данных для последующей обработки методом SSA. |
| Lag | Параметр запаздывания (lag) для метода Сингулярного Спектрального Анализа. Определяет длину окна анализа, максимальное значение — 200. |
| NumberOfComputations | Количество итераций вычислений SSA, влияющее на точность подгонки к исходным данным. Максимальное значение — 20. |
| Price | Тип цены, используемой для расчёта CCI: закрытие, открытие, высокая, низкая или средняя цена свечи. |
| ShowArrowsSW | Включает или отключает отрисовку стрелок сигналов BUY и SELL на графике. |
| CrossLevel | Пороговое значение, при пересечении которого SSA-линией формируются сигналы. Устанавливается как положительное значение, отрицательный уровень вычисляется симметрично. |
| 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 CCIPeriod = 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 = 100;
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 > Bars)
{
Показано первые 50% кода (символов: 8112)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.