connors_rsi_of_super_smoother.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «connors_rsi_of_super_smoother.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Connors RSI с Super Smoother фильтрацией для MetaTrader 4. Рассчитывает три компонента на основе сглаженной цены: RSI от фильтрованных цен, RSI от направленного счётчика движения и процентиль ранга скорости изменения цены. Итоговое значение усредняет все три компонента и отображается в отдельном окне.
Настройки программы
| Настройка | Описание |
|---|---|
| RsiPeriod | RsiPeriod — Период расчёта RSI для отфильтрованных цен |
| UpDownPeriod | UpDownPeriod — Период расчёта RSI для направленного счётчика движения |
| ROCPeriod | ROCPeriod — Количество баров для определения процентильного ранга скорости изменения цены |
| Price | Price — Тип цены, используемой для расчёта (например, цена закрытия) |
| SmoothPeriod | SmoothPeriod — Период сглаживания Super Smoother фильтра |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 LimeGreen
extern int RsiPeriod = 3;
extern int UpDownPeriod = 2;
extern int ROCPeriod = 100;
extern int Price = PRICE_CLOSE;
extern double SmoothPeriod = 25;
double rsi[];
double prices[];
double updown[];
double roc[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
prices[i] = iSsm(iMA(NULL,0,1,0,MODE_SMA,Price,i),SmoothPeriod,i);
if (prices[i] == prices[i+1]) updown[i] = 0;
if (prices[i] < prices[i+1]) if (updown[i+1] > 0) updown[i] = -1; else updown[i] = updown[i+1]-1;
if (prices[i] > prices[i+1]) if (updown[i+1] < 0) updown[i] = 1; else updown[i] = updown[i+1]+1;
}
for(i=limit; i>=0; i--)
{
double trsi = iRSIOnArray(prices,0,RsiPeriod,i);
double ursi = iRSIOnArray(updown,0,UpDownPeriod,i);
roc[i] = 0;
if (prices[i+1]!=0) roc[i] = (prices[i]/prices[i+1]-1.0)*100.0;
double ROC_Percent = 0;
for (int k=1; k<=ROCPeriod; k++)
if (roc[i] >= roc[i+k]) ROC_Percent++;
Показано первые 50% кода (символов: 2226)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.