parabolic_rsi.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «parabolic_rsi.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для MetaTrader 5, который рассчитывает значения RSI с заданным периодом и типом цены, применяет к ним сглаживание и обрабатывает результат через параболическую систему разворотов. Индикатор отображает результаты расчёта в отдельном окне с использованием четырёх буферов отображения.
Расчёт ведётся на основе исторических ценовых данных и технического показателя RSI. Сглаживание выполняется с помощью пользовательской функции скользящего среднего, а параболическая логика определяет точки разворотов тренда.
Все вычисления осуществляются в рамках индикаторного окна без исполнения торговых операций или запуска внешних сценариев. Пользователь может настраивать период RSI, тип цены, параметры ускорения и сглаживания.
Настройки программы
| Настройка | Описание |
|---|---|
| RsiPeriod | Период RSI — Задаёт количество баров для расчёта индикатора RSI |
| RsiPrice | Цена для RSI — Определяет тип цены, используемой при расчёте RSI |
| Step | Шаг ускорения — Задаёт приращение ускорения параболической системы |
| Maximum | Максимальное ускорение — Устанавливает верхний предел ускорения параболической системы |
| SmoothRsi | Сглаживание RSI — Задаёт период сглаживания значения RSI |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 DarkGray
#property indicator_color2 DarkGray
#property indicator_color3 LimeGreen
#property indicator_color4 PaleVioletRed
extern int RsiPeriod = 13;
extern int RsiPrice = PRICE_CLOSE;
extern double Step = 0.01;
extern double Maximum = 0.1;
extern int SmoothRsi = 3;
double SarBuffer[];
double SarUp[];
double SarDn[];
double Rsi[];
int save_lastreverse;
bool save_dirlong;
double save_start;
double save_last_high;
double save_last_low;
double save_ep;
double save_sar;
int init()
{
// код доступен только после оплаты
}
void SaveLastReverse(int last,int dir,double start,double low,double high,double ep,double sar)
{
save_lastreverse=last;
save_dirlong=dir;
save_start=start;
save_last_low=low;
save_last_high=high;
save_ep=ep;
save_sar=sar;
}
int start()
{
// код доступен только после оплаты
}
static bool first=true;
bool dirlong;
double start,last_high,last_low;
double ep,sar,price_low,price_high,price;
int i,counted_bars=IndicatorCounted();
int limit = MathMin(Bars-counted_bars,Bars-1);
if(Bars<3) return(0);
for (i=limit; i>=0; i--) Rsi[i] = iTma(iRSI(NULL, 0, RsiPeriod,RsiPrice,i),SmoothRsi,i);
i=Bars-2;
if(counted_bars==0 || first)
{
first=false;
dirlong=true;
start=Step;
last_high=-10000000.0;
last_low=10000000.0;
while(i>0)
{
save_lastreverse=i;
price_low=Rsi[i];
if(last_low>price_low) last_low=price_low;
price_high=Rsi[i];
if(last_high<price_high) last_high=price_high;
if(price_high>Rsi[i+1] && price_low>Rsi[i+1]) break;
if(price_high<Rsi[i+1] && price_low<Rsi[i+1]) { dirlong=false; break; }
i--;
}
int k=i;
while(k<Bars)
{
SarBuffer[k]=0.0;
k++;
}
if(dirlong) { SarBuffer[i]=Rsi[i+1]; ep=Rsi[i]; }
else { SarBuffer[i]=Rsi[i+1]; ep=Rsi[i]; }
i--;
}
else
{
i=save_lastreverse;
start=save_start;
dirlong=save_dirlong;
last_high=save_last_high;
last_low=save_last_low;
ep=save_ep;
sar=save_sar;
}
while(i>=0)
{
SarUp[i] = EMPTY_VALUE;
SarDn[i] = EMPTY_VALUE;
price_low=Rsi[i];
pПоказано первые 50% кода (символов: 3795)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.