cci - of rsi - super smoothed 1.1.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cci - of rsi - super smoothed 1.1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор для MetaTrader 5 рассчитывает индикатор CCI (Commodity Channel Index) на основе супер-сглаженного RSI. Сначала вычисляется стандартный RSI заданного периода, затем к его значениям применяется алгоритм супер-сглаживания, и на основе полученной сглаженной серии рассчитывается CCI.
Индикатор поддерживает три режима отображения: цветные линии, цветная гистограмма с линиями, а также простой бинарный гистограммный вид 0-1. Уровни перепроданности и перекупленности настраиваются и отображаются на графике как уровни индикатора.
Алгоритм сглаживания представляет собой рекурсивный фильтр второго порядка с коэффициентами, вычисляемыми на основе экспоненциальных и тригонометрических функций, что обеспечивает высокую степень сглаживания значений RSI. Цветовая схема для восходящих и нисходящих движений полностью настраивается пользователем.
Индикатор использует 5 отображаемых буферов и 7 внутренних буферов для расчёта и отрисовки. Расчёт выполняется на каждом тике с пересчётом всех баров от последнего к первому.
Настройки программы
| Настройка | Описание |
|---|---|
| RSIPeriod | Задаёт период расчёта индикатора RSI. |
| RSIPrice | Определяет тип цены, используемой для расчёта RSI. |
| CCIPeriod | Задаёт период расчёта индикатора CCI. |
| OverSold | Устанавливает уровень перепроданности для отображения на графике. |
| OverBought | Устанавливает уровень перекупленности для отображения на графике. |
| SmoothPeriod | Задаёт период супер-сглаживания для значений RSI. |
| ColorUp | Задаёт цвет отображения при восходящем движении. |
| ColorDown | Задаёт цвет отображения при нисходящем движении. |
| DisplayAs | Определяет способ отображения индикатора: линии, гистограмма с линиями или бинарный вид 0-1. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property strict
enum enDisplayType
{
dis_lines, // Display as colored lines
dis_histo, // Display as colored histogram with colored lines
dis_binary // Display as colored simple 0-1 histogram
};
extern int RSIPeriod = 50; // Rsi period
extern ENUM_APPLIED_PRICE RSIPrice = PRICE_CLOSE; // Price
extern int CCIPeriod = 50; // CCI period
extern double OverSold = -100; // Oversold level
extern double OverBought = 100; // Overbought level
extern double SmoothPeriod = 5; // Smoothing period
extern color ColorUp = clrLimeGreen; // Color up
extern color ColorDown = clrOrangeRed; // Color down
extern enDisplayType DisplayAs = dis_lines; // Display as :
double cci[];
double ccida[];
double ccidb[],histbu[],histbd[];
double slope[],rsi[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(Bars,Bars-1);
if (slope[limit]==-1) CleanPoint(limit,ccida,ccidb);
for(int i=limit; i>=0; i--) rsi[i] = iSsm(iRSI(NULL,0,RSIPeriod,RSIPrice,i),SmoothPeriod,i);
for(int i=limit; i>=0; i--)
{
cci[i] = iCCIOnArray(rsi,0,CCIPeriod,i);
ccida[i] = EMPTY_VALUE;
ccidb[i] = EMPTY_VALUE;
if (i<Bars-1) slope[i] = slope[i+1];
if (DisplayAs==dis_lines)
{
if (i<Bars-1 && cci[i]<cci[i+1]) slope[i] = -1;
if (i<Bars-1 && cci[i]>cci[i+1]) slope[i] = 1;
}
else
{
if (cci[i]<0) slope[i] = -1;
Показано первые 50% кода (символов: 4106)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.