systara__adx_rsi2_sigalert_test01.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «systara__adx_rsi2_sigalert_test01.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий аналитические сигналы на графике цены с использованием показателей ADX, RSI и ATR. Генерирует маркеры-сигналы на покупку и продажу в виде стрелок на ценовом графике. Поддерживает звуковые оповещения и всплывающие окна при появлении сигнала. Предусмотрено несколько режимов проверки сигналов, комбинирующих направление ADX, уровни RSI и их пересечения.
Настройки программы
| Настройка | Описание |
|---|---|
| 11 (ADXperiod) | Период ADX — Период расчёта основного значения ADX. |
| 24 (adxDIperiod) | Период DI — Период расчёта направленных индикаторов +DI и -DI. |
| ADX_levelON | Фильтр уровня ADX — Включает или отключает проверку уровня ADX при формировании сигнала. |
| false//true (DI_levelON) | Фильтр уровня DI — Включает или отключает проверку уровня DI при формировании сигнала. |
| DIrectiON | Направление DI — Включает или отключает проверку направления изменения DI. |
| ADX_level | Уровень ADX — Пороговое значение ADX для фильтра сигнала. |
| DI_level | Уровень DI — Пороговое значение DI для фильтра сигнала. |
| RSI1_Period | Период RSI 1 — Период расчёта первого индикатора RSI. |
| 14 (RSI2_Period) | Период RSI 2 — Период расчёта второго индикатора RSI. |
| RSI_Price | Цена RSI — Тип цены, используемый для расчёта RSI. |
| RSI_OBlv | Верхний уровень RSI — Значение верхнего порога перегруженности RSI. |
| RSI_OSlv | Нижний уровень RSI — Значение нижнего порога перегруженности RSI. |
| true//falsetrue (ARAsig1test) | Сигнал 1 — Включает проверку первого типа сигнала по пересечению уровня RSI. |
| falsefalsefalse (ARAsig2test) | Сигнал 2 — Включает проверку второго типа сигнала по направлению ADX. |
| falsetrue (ARAsig3test) | Сигнал 3 — Включает проверку третьего типа сигнала по пересечению уровня RSI. |
| sigXtest | Сигнал X — Включает проверку комбинированного сигнала X. |
| sigX1test | Сигнал X1 — Включает проверку комбинированного сигнала X1. |
| sigX2test | Сигнал X2 — Включает проверку комбинированного сигнала X2. |
| CountBars | Количество баров — Максимальное количество баров для расчёта индикатора. |
| Sound | Звук — Включает или отключает звуковое оповещение при сигнале. |
| SoundFile | Файл звука — Имя файла звука для воспроизведения при оповещении. |
| BoxAlert | Оконное оповещение — Включает или отключает всплывающее окно при сигнале. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
extern int ADXperiod = 14; //11
extern int adxDIperiod = 14; //24
extern bool ADX_levelON = true;
extern bool DI_levelON = true;//false//true
extern bool DIrectiON = true;
extern int ADX_level = 20;
extern int DI_level = 20;
extern int RSI1_Period=5;
extern int RSI2_Period=21;//14
extern int RSI_Price=PRICE_CLOSE;
extern int RSI_OBlv=70;
extern int RSI_OSlv=30;
extern bool ARAsig1test =false;//true//falsetrue
extern bool ARAsig2test =false;//falsefalsefalse
extern bool ARAsig3test =false;//falsetrue
extern bool sigXtest =true;
extern bool sigX1test =false;
extern bool sigX2test =false;
extern int CountBars=2500;
extern bool Sound=true;
extern string SoundFile = "wait.waw";
extern bool BoxAlert = false;
double val1[];
double val2[];
double b4plusdi,nowplusdi,b4minusdi,nowminusdi,b4adxmain,nowadxmain;
bool SoundBuy =False;
bool SoundSell =False;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
int i,shift,limit,CountedBars=IndicatorCounted();
if (CountedBars < 1)
{
for(i=0; i<=CountBars; i++) {val1[i]=0.0; val2[i]=0.0;}
}
if(CountedBars > 0) CountedBars--;
limit=Bars - CountedBars;
for(shift=limit; shift>=0; shift--)
{
nowadxmain = iADX(NULL,0,ADXperiod,PRICE_CLOSE,MODE_MAIN,shift);
b4adxmain = iADX(NULL,0,ADXperiod,PRICE_CLOSE,MODE_MAIN,shift+1);
nowplusdi=iADX(NULL,0,adxDIperiod,PRICE_CLOSE,MODE_PLUSDI,shift);
b4plusdi =iADX(NULL,0,adxDIperiod,PRICE_CLOSE,MODE_PLUSDI,shift+1);
nowminusdi=iADX(NULL,0,adxDIperiod,PRICE_CLOSE,MODE_MINUSDI,shift);
b4minusdi =iADX(NULL,0,adxDIperiod,PRICE_CLOSE,MODE_MINUSDI,shift+1);
bool adxLvOk = false;
if (!ADX_levelON || nowadxmain>=ADX_level) adxLvOk = true;
bool diLvOk = false;
if (!DI_levelON || nowplusdi>DI_level||nowminusdi>DI_level) diLvOk = true;
bool DirUp = false;
if (!DIrectiON || nowplusdi>b4plusdi) DirUp = true;
bool DirDn = false;
if (!DIrectiON || nowminusdi>b4minusdi) DirDn = true;
bool adxup = false;
if (nowplusdi>nowminusdi && DirUp && diLvOk && adxLvOk) adxup=true;
bool adxdn = false;
if (nowplusdi<nowminusdi && DirDn && diLvOk && adxLvOk) adxdn=true;
double RSI10 = iRSI(NULL,0,RSI1_Period,RSI_Price,shift);
double RSI11 = iRSI(NULL,0,RSI1_Period,RSI_Price,shift+1);
double RSI20 = iRSI(NULL,0,RSI2_Period,RSI_Price,shift);
double RSI21 = iRSI(NULL,0,RSI2_Period,RSI_Price,shift+1);
bool rsi1crossOSlup = false;
if(RSI10>RSI_OSlv && RSI11<RSI_OSlv) rsi1crossOSlup =true;
bool rsi1crossOSldn = false;
if(RSI10<RSI_OSlv && RSI11>RSI_OSlv) rsi1crossOSldn =true;
bool rsi1crossOBlup = false;
if(RSI10>RSI_OBlv && RSI11<RSI_OBlv) rsi1crossOПоказано первые 50% кода (символов: 4676)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.