eata.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «eata.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор EATA рассчитывает разницу между двумя техническими индикаторами — CCI и RSI — на нескольких сдвинутых барах, суммирует полученные значения в зависимости от параметра koef и применяет к результатам скользящую среднюю (SMA) для формирования двух отображаемых линий. Линии отображаются в отдельном окне и подписаны как «CCI-RSI» и «RSI-CCI».
При включённом параметре arrows индикатор рисует графические стрелки-объекты на графике в местах пересечения двух главных линий. Стрелки располагаются с учётом направления пересечения и смещаются относительно цены с использованием значения ATR(20).
Внутренняя логика использует вспомогательные буферы для промежуточных расчётов, которые затем сглаживаются и отображаются. При деинициализации индикатор удаляет все созданные им графические объекты, имена которых начинаются с присвоенного префикса.
Индикатор совместим с MetaTrader 5 и работает как пользовательский индикатор с обработкой данных ценового ряда через стандартные функции iCCI, iRSI и iMAOnArray.
Настройки программы
| Настройка | Описание |
|---|---|
| CCI_per | Период расчёта индикатора CCI ( Commodity Channel Index ). Определяет количество баров, используемых для вычисления значения CCI. |
| RSI_per | Период расчёта индикатора RSI (Relative Strength Index). Определяет количество баров, используемых для вычисления значения RSI. |
| Ma_Period | Период скользящей средней (SMA), применяемой для сглаживания промежуточных расчётных линий перед отображением на графике. |
| koef | Коэффициент, определяющий глубину суммирования разниц CCI и RSI по сдвинутым барам. Принимает значения от 0 до 8; при значении больше 8 или меньше 0 сбрасывается до 8. |
| arrows | Переключатель отображения стрелок-объектов на графике при пересечении двух главных линий индикатора. |
Поиск по коду файла
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 DeepSkyBlue
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
extern int CCI_per=14;
extern int RSI_per=14;
extern int Ma_Period=2;
extern int koef=8;
extern bool arrows=true;
double a=0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0;
double b=0,b1=0,b2=0,b3=0,b4=0,b5=0,b6=0,b7=0,b8=0;
double tt1max=0,tt2min=0;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
string sPrefix;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DelOb();
return(0);
}
int start()
{
// код доступен только после оплаты
}
int limit=Bars-IndicatorCounted();
for(int i=limit-3;i>=0;i--)
{
a=iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i);
if(i-1>=0) a1=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-1)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+1));
if(i-2>=0) a2=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-2)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+2));
if(i-3>=0) a3=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-3)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+3));
if(i-4>=0) a4=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-4)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+4));
if(i-5>=0) a5=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-5)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+5));
if(i-6>=0) a6=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-6)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+6));
if(i-7>=0) a7=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-7)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+7));
if(i-8>=0) a8=(iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i-8)-iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i+8));
b=iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i)-iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i);
if(i-1>=0) b1=(iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i-1)-iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i+1));
if(i-2>=0) b2=(iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i-2)-iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i+2));
if(i-3>=0) b3=(iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i-3)-iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i+3));
if(i-4>=0) b4=(iRSI(NULL,0,RSI_per,PRICE_TYPICAL,i-4)-iCCI(NULL,0,CCI_per,PRICE_TYPICAL,i+4));
if(i-5>=0) b5=(iRSI(NULL,0Показано первые 50% кода (символов: 4375)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.