TDI-With Alerts
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tdi.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
[{"text":"Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, который отображает аналитическую информацию о направлении тренда, силе рынка и волатильности в отдельном окне графика."},{"text":"Индикатор строит несколько линий на основе RSI и скользящих средних, включая линию цен RSI, линию торгового сигнала и волатильные полосы, а также классифицирует текущее состояние рынка по различным категориям."},{"text":"Поддерживается отображение стрелок сигналов и визуальных меток с текстовыми описаниями текущей ситуации. Доступны уведомления через всплывающие сообщения, звуковой сигнал и электронную почту."},{"text":"Параметры позволяют настраивать периоды и типы расчётов линий, отображение визуальных элементов и типы активируемых оповещений."}]
Настройки программы
| Настройка | Описание |
|---|---|
| NoteGeneral | Общие настройки — Заголовочный текстовый параметр для группы общих настроек. |
| Show_TrendVisuals | Визуальные элементы тренда — Включает или отключает отображение визуальных элементов тренда. |
| Show_SignalArrows | Отображение стрелок сигналов — Отображает или скрывает стрелки сигналов на графике. |
| SHIFT_Sideway | Горизонтальное смещение — Горизонтальное смещение визуальных меток на графике. |
| SHIFT_Up_Down | Вертикальное смещение — Вертикальное смещение визуальных меток на графике. |
| NoteIndic | Настройки индикатора — Заголовочный текстовый параметр для группы настроек индикатора. |
| 8-25 (RSI_Period) | Период RSI — Период расчёта индикатора RSI. |
| 0-6 (RSI_Price) | Тип цены RSI — Тип цены, используемой при расчёте RSI (0–6). |
| 20-40 (Volatility_Band) | Период волатильных полос — Период расчёта волатильных полос. |
| RSI_Price_Line | Период линии цен RSI — Период скользящей средней для линии цен RSI. |
| 0-3 (RSI_Price_Type) | Тип скользящей средней линии цен RSI — Тип скользящей средней для линии цен RSI (0–3). |
| Trade_Signal_Line | Период линии торгового сигнала — Период скользящей средней для линии торгового сигнала. |
| SHOW_Trade_Signal_Line2 | Отображение второй линии торгового сигнала — Отображает или скрывает вторую линию торгового сигнала. |
| Trade_Signal_Line2 | Период второй линии торгового сигнала — Период скользящей средней для второй линии торгового сигнала. |
| 0-3 (Trade_Signal_Type) | Тип скользящей средней линии торгового сигнала — Тип скользящей средней для линии торгового сигнала (0–3). |
| NoteAlerts | Настройки оповещений — Заголовочный текстовый параметр для группы настроек оповещений. |
| BuySellAlerts | Оповещения о покупке/продаже — Активирует отображение оповещений при появлении сигналов на покупку или продажу. |
| CautionAlerts | Предупреждающие оповещения — Активирует оповещения при появлении предупреждающих сигналов о рисках. |
| MsgAlerts | Всплывающие сообщения — Отправляет всплывающие текстовые сообщения на платформу при срабатывании условий. |
| SoundAlerts | Звуковые оповещения — Активирует воспроизведение звукового сигнала при срабатывании условий. |
| SoundAlertFile | Звуковой файл оповещения — Имя звукового файла для воспроизведения при оповещении. |
| eMailAlerts | Оповещения по электронной почте — Активирует отправку уведомлений по электронной почте. |
Поиск по коду файла
#define vers "09-Feb-2008"
#define major 2
#define minor 0
#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 MediumBlue
#property indicator_color3 Yellow
#property indicator_width3 2
#property indicator_color4 MediumBlue
#property indicator_color5 Green
#property indicator_width5 2
#property indicator_color6 Red
#property indicator_color7 Aqua
#property indicator_style7 2
extern string NoteGeneral=" --- General Options --- ";
extern bool Show_TrendVisuals=true;
extern bool Show_SignalArrows=true;
extern int SHIFT_Sideway=-50;
extern int SHIFT_Up_Down=0;
extern string NoteIndic=" --- Indicator Options --- ";
extern int RSI_Period=13; //8-25
extern int RSI_Price=0; //0-6
extern int Volatility_Band=34; //20-40
extern int RSI_Price_Line=2;
extern int RSI_Price_Type=0; //0-3
extern int Trade_Signal_Line=7;
extern bool SHOW_Trade_Signal_Line2=true;
extern int Trade_Signal_Line2=18;
extern int Trade_Signal_Type=0; //0-3
extern string NoteAlerts=" --- Alert Options --- ";
extern bool BuySellAlerts=true;
extern bool CautionAlerts=true;
extern bool MsgAlerts= true;
extern bool SoundAlerts= true;
extern string SoundAlertFile="alert.wav";
extern bool eMailAlerts= false;
bool InitialLoad=True;
string prefix="TDIV_";
double RSIBuf[],UpZone[],MdZone[],DnZone[],MaBuf[],MbBuf[],McBuf[];
string Signal="", Signal2="", Signal3="",Signal4="";
color TDI_col,TDI_col2;
int LastAlert=0, LastAlertBar,SigCounter=0;
double BidCur;
datetime TimeCur;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
int total=ObjectsTotal();
for(int i=total-1; i>=0; i--)
{
string name=ObjectName(i);
if (StringFind(name, prefix)==0) ObjectDelete(name);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int Win=WindowFind("TDIVisual");
if (Win==- 1) Win=0;
double MA,RSI[];
ArrayResize(RSI,Volatility_Band);
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
RSIBuf[i]=(iRSI(NULL,0,RSI_Period,RSI_Price,i));
MA=0;
for(int x=i; x<i+Volatility_Band; x++)
{
RSI[x-i]=RSIBuf[x];
MA+=RSIBuf[x]/Volatility_Band;
}
UpZone[i]=(MA + (1.6185 * StDev(RSI,Volatility_Band)));
DnZone[i]=(MA - (1.6185 * StDev(RSI,Volatility_Band)));
MdZone[i]=((UpZone[i] + DnZone[i])/2);
}
for(i=limit-1;i>=0;i--)
{
MaBuf[i]=(iMAOnArray(RSIBuf,0,RSI_Price_Line,0,RSI_Price_Type,i));
MbBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line,0,Trade_Signal_Type,i));
McBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line2,0,Trade_Signal_Type,i));
BidCur=Close[i]; //Could use bid however no good when using visual back tester
TimeCur=Time[i];
if(Show_TrendVisuals)
{
if((MaBuf[i]>MbBuf[i])&&(MbBuf[i]<MdZone[i])&&(MaBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Weak Buy";
Signal="?";
TDI_col=SeaGreen;
}
else if((MaBuf[i]<MbBuf[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Weak Sell";
Signal="?";
TDI_col=Orange;
}
else if((MaBuf[i]>MbBuf[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Strong Buy";
Signal="?";
TDI_col=Lime;
}
else if((MaBuf[i]>MbBuf[i])&&(MaBuf[i]> MdZone[i])&&(MbBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Medium Buy";
Signal="?";
TDI_col=Green;
}
else if((MaBuf[i]<MbBuf[i])&&(MbBuf[i]< MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Strong Sell";
Signal="?";
TDI_col=Red;
}
else if((MaBuf[i]<MbBuf[i])&&(MaBuf[i]< MdZone[i])&&(MbBuf[i]> MdZone[i])&&(MaBuf[i]>32)&&(MaBuf[i]<68))
{
Signal2="Medium Sell";
Signal="?";
TDI_col=Tomato;
}
else if(MaBuf[i]>=68)
{
Signal2="Caution !";
Signal="?";
TDI_col=Red;
}
else if(MaBuf[i]<=32)
{
Signal2="Caution !";
Signal="?";
TDI_col=Red;
}
if((MbBuf[i]>MdZone[i])&&(MaBuf[i]<MdZone[i]))
{
Signal4= "Weak Up";
Signal3="?";
TDI_col2=Green;
}
else if (MbBuf[i]>MdZone[i])
{
Signal4= "Strong UP";
Signal3="?";
TDI_col2=Lime;
}
if((MbBuf[i]<=MdZone[i])&&(MaBuf[i]>=MdZone[i]))
{
Signal4= "Weak Down";
Signal3="?";
TDI_col2=Orange;
}
else if (MbBuf[i]<=MdZone[i])
{
Signal4= "Strong Down";
Signal3="?";
TDI_col2=Red;
}
if(UpZone[i]-DnZone[i]<20)
{
Signal4="Consolidation";
Signal3="h";
TDI_col2=Silver;
}
string Subj=Symbol()+ ", " + TF2Str(Period()) + " " + Signal2;
string Msg;
if (Signal2=="Strong Buy" && Signal4=="Strong UP" && LastAlert!=1)
{
Msg=Subj + " @ "+DoubleToStr(Close[i],DigiПоказано первые 50% кода (символов: 9531)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.