parabolic_alert.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «parabolic_alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, отображающий на графике аналитическую линию в виде стрелок. Индикатор рассчитывает значения на основе параметров Step и Maximum, определяя точки разворота тренда и визуально отмечая их на ценовом графике.
При обнаружении разворота направления тренда индикатор воспроизводит звуковой сигнал alert.wav и выводит текстовое уведомление с текущим временем графика. Для направления «продажа» отображается Sell Alert, для направления «покупка» — Buy Alert. Таким образом, продукт выполняет функцию визуального и звукового оповещения о смене тренда.
Индикатор работает в основном графике, использует один буфер данных с цветом DarkOrange и стиль отображения в виде стрелок. Расчёт ведётся от текущего бара назад с учётом уже подсчитанных баров для корректного обновления при каждом новом тике.
Настройки программы
| Настройка | Описание |
|---|---|
| Step | Step — Величина шага приращения параметра ускорения индикатора. |
| Maximum | Maximum — Верхний предел значения параметра ускорения индикатора. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 DarkOrange
extern double Step=0.05;
extern double Maximum=0.3;
double SarBuffer[];
int save_lastreverse;
bool save_dirlong, save_dirshort;
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_l,int dir_s,double start,double low,double high,double ep,double sar)
{
save_lastreverse=last;
save_dirlong=dir_l;
save_dirshort=dir_s;
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, dirshort;
double start,last_high,last_low;
double ep,sar,price_low,price_high,price;
int i,counted_bars=IndicatorCounted();
string TradeTime;
if(Bars<3) return(0);
i=Bars-2;
if(counted_bars==0 || first)
{
first=false;
dirlong=true;
dirshort=false;
start=Step;
last_high=-10000000.0;
last_low=10000000.0;
while(i>0)
{
save_lastreverse=i;
price_low=Low[i];
if(last_low>price_low) last_low=price_low;
price_high=High[i];
if(last_high<price_high) last_high=price_high;
if(price_high>High[i+1] && price_low>Low[i+1]) break;
if(price_high<High[i+1] && price_low<Low[i+1]) { dirlong=false; break; }
i--;
}
int k=i;
while(k<Bars)
{
SarBuffer[k]=0.0;
k++;
}
if(dirlong) { SarBuffer[i]=Low[i+1]; ep=High[i]; }
if(dirshort) { SarBuffer[i]=High[i+1]; ep=Low[i]; }
i--;
}
else
{
i=save_lastreverse+1;
start=save_start;
dirlong=save_dirlong;
dirshort=save_dirshort;
last_high=save_last_high;
last_low=save_last_low;
ep=save_ep;
sar=save_sar;
}
while(i>=0)
{
price_low=Low[i];
price_high=High[i];
if(dirlong==true && price_low<SarBuffer[i+1])
{
SaveLastReverse(i,true,false,start,price_low,last_high,ep,sar);
start=Step; dirlong=false; dirshort=true;
if (i==0)
{
PlaySound("alert.wav");
TradeTime = TimeToStr(CurTime(),TIME_SECONDS);
Comment("\nSell Alert","\nChart Time= ", TradeTime);
}
ep=price_low; last_low=price_low;
SarBuffer[i]=last_high;
i--;
continue;
}
if(dirshort==true && price_high>SarBuffer[i+1])
{
SaveLastReverse(i,false,true,start,last_low,price_high,ep,sar);
start=Step; dirlong=true; dirshort=false;
if (i==0)
{
PlaySound("alert.wav");
TradeTime = TimeToStr(CurTiПоказано первые 50% кода (символов: 4033)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.