rsi_bands_b2.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_bands_b2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает два буфера: скользящую среднюю (MA) и полосы на основе RSI. Скользящая средняя вычисляется как среднее арифметическое значений High, Low и удвоенного Close за nPeriod баров. Для расчёта RSI используется взвешенная цена (PRICE_WEIGHTED), а отклонение определяется через ATR, умноженный на коэффициент RossiKoeff.
Значения полос RSI размещаются относительно линии MA в зависимости от положения цены: если High и Close выше MA, полоса располагается выше; если Low и Close ниже MA — ниже; в остальных случаях значение равно MA. Индикатор отображается в основном окне графика двумя линиями разных цветов.
Настройки включают период расчёта, коэффициент отклонения и сдвиг индикатора. Коэффициент подбирается экспериментально. Код содержит закомментированный блок с зависимостью отклонения от таймфрейма, который не активен.
Настройки программы
| Настройка | Описание |
|---|---|
| nPeriod | Период расчёта индикатора, определяющий количество баров, используемых для вычисления скользящей средней и RSI. |
| RossiKoeff | Коэффициент, умножаемый на значение ATR для расчёта отклонения полос от средней линии. Значение подбирается тестированием. |
| MaShift | Сдвиг индикаторных буферов в барах относительно текущего бара. |
Поиск по коду файла
/*------------------------------------------------------------------+
| Rsi_Bands_B2.mq4 |
| Copyright ? 2010 |
| b********x*@gmail.com |
+------------------------------------------------------------------*/
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Yellow
extern int nPeriod = 13;
extern int RossiKoeff = 300;// find value by testing
extern int MaShift = 0;
double Deviation, r;
double MaBuffer[];
double RSIBuffer[];
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int limit;
double a;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
limit = Bars - counted_bars;
for(int i = 0; i < limit; i++)
{
a = 0;
for(int j = 0; j < nPeriod; j++)
{
a = a + (iHigh(NULL, 0, i + j) + iLow(NULL, 0, iПоказано первые 50% кода (символов: 1607)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.