stoch7whtstoch2 alert.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «stoch7whtstoch2 alert.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой индикатор для платформы MetaTrader 4, рассчитывающий стохастические осцилляторы на нескольких таймфреймах, включая ежедневный и недельный. Отображает рассчитанные линии в отдельном окне с возможностью настройки уровней и стилей отображения.
Индикатор предоставляет гибкую систему уведомлений, включающую всплывающие окна, электронную почту и push-уведомления. Срабатывание алертов привязано к пересечению пользователем заданных уровней стохастика и подтверждению со стороны старших таймфреймов.
Поддерживаются режимы фильтрации по свопу, отображение сигналов только на покупку или продажу, а также алерты по закрытию позиций на основе стохастика и наклона TMA-линии. Дополнительно доступен режим контр-трендовых сигналов.
Настройки программы
| Настройка | Описание |
|---|---|
| UseSwapFilter | Включает фильтрацию сигналов по величине свопа. |
| ShowOnlyBuyEntryAlerts | При значении true отображаются только алерты входа в покупку. |
| ShowOnlySellEntryAlerts | При значении true отображаются только алерты входа в продажу. |
| gives too CT alerts (ShowCounterTrend) | Включает отображение контр-трендовых сигналов. |
| setting this to true the indicator shows to the D1 2.1.1 Stoch (ShowDaily2_1) | При значении true индикатор отображает стохастик 2.1.1 на таймфрейме D1. |
| this setting will only use the Stoch 7.2.2 for the enrty alerts the HigherTF Stoch 2.1.1 is not used (UseOnly7_2forEntry | При значении true для алертов входа используется только стохастик 7.2.2, без учёта старшего таймфрейма 2.1.1. |
| ALERTS WHEN WHENEVER PRICE GOES BELOW 90&70 AND ABOVE 10&30 AND HT STOCH CONFIRMS (PopupAlert) | Включает или отключает всплывающие окна-уведомления при срабатывании алертов. |
| EmailAlert | Включает или отключает отправку email-уведомлений при срабатывании алертов. |
| PushAlert | Включает или отключает push-уведомления при срабатывании алертов. |
| set this to false if you have set ShowCounterTrend to true, because it will give you an immediatly e (GiveStoch2_1_ExitA | Включает алерты на закрытие позиций на основе стохастика старшего таймфрейма 2.1.1. |
| gives Stoch 7.2.2 exits alerts for BUY if we have Stoch 7.2.2 >=90 and for SELL if we have Stoch 7.2 (GiveStoch7ExitAler | Включает алерты на закрытие позиций на основе стохастика 7.2.2 при достижении крайних уровней. |
| GiveTMASlopeExitAlert | Включает алерты на закрытие позиций на основе изменения наклона TMA-линии. |
| Set_Stoch_Alert_Levels | Текстовый параметр, задающий группу уровней алертов по умолчанию. |
| default = 20 (LevelOne) | Нижний уровень стохастика, при пересечении которого срабатывают алерты на покупку. |
| CHANGE TO 10 IF YOU ONLY WANT 1 ALERT // default = 40 (LevelTwo) | Второй нижний уровень стохастика для алертов покупки. |
| CHANGE TO 90 IF YOU ONLY WANT 1 ALERT // default = 60 (LevelThree) | Второй верхний уровень стохастика для алертов продажи. |
| default = 80 (LevelFour) | Верхний уровень стохастика, при пересечении которого срабатывают алерты на продажу. |
| Stoch_Settings | Текстовый параметр, задающий группу настроек стохастика по умолчанию. |
| KPeriod | Период K для расчёта основного стохастика. |
| DPeriod | Период D для расчёта основного стохастика. |
| Slowing | Параметр замедления (сглаживания) для расчёта стохастика. |
| Method | Метод усреднения для расчёта стохастика. |
| 0=Low/High, 1=Close/Close (Price) | Источник ценовых данных для расчёта: 0 — Low/High, 1 — Close/Close. |
| K_period_HT | Период K для расчёта стохастика старшего таймфрейма. |
| D_period_HT | Период D для расчёта стохастика старшего таймфрейма. |
| S_period_HT | Период сглаживания для стохастика старшего таймфрейма. |
| STOCH_MAIN_Line_Style_HT | Стиль линии основного стохастика старшего таймфрейма. |
| STOCH_SIGNAL_Line_Style_HT | Стиль сигнальной линии стохастика старшего таймфрейма. |
| STOCH_MAIN_Price_HT | Тип цены для основного стохастика старшего таймфрейма. |
| STOCH_SIGNAL_Price_HT | Тип цены для сигнальной линии стохастика старшего таймфрейма. |
| STOCH_MAIN_Ma_HT | Метод усреднения для основного стохастика старшего таймфрейма. |
| STOCH_SIGNAL_Ma_HT | Метод усреднения для сигнальной линии стохастика старшего таймфрейма. |
| Level_Styles | Справочник стилей линий уровней: 0 — сплошная, 1 — пунктир, 2 — точечный, 3 — штрих-пунктир, 4 — двойной пунктир. |
| LevelOneStyle | Стиль линии уровня One. |
| LevelOneColor | Цвет горизонтальной линии уровня One. |
| LevelTwoStyle | Стиль линии уровня Two. |
| LevelTwoColor | Цвет горизонтальной линии уровня Two. |
| LevelThreeStyle | Стиль линии уровня Three. |
| LevelThreeColor | Цвет горизонтальной линии уровня Three. |
| LevelFourStyle | Стиль линии уровня Four. |
| LevelFourColor | Цвет горизонтальной линии уровня Four. |
| slp | Текстовый разделитель для настроек TMA-наклона. |
| H4 TF for the TMA-Slope (TMASlopeTF) | Таймфрейм для расчёта наклона TMA-линии. |
| TMASlopeCloseBuyAlertLevel | Пороговое значение наклона TMA для алерта закрытия покупаемой позиции. |
| TMASlopeCloseSellAlertLevel | Пороговое значение наклона TMA для алерта закрытия продаваемой позиции. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_maximum 100
#property indicator_minimum 0
#property indicator_buffers 3
#property indicator_color1 DodgerBlue
#property indicator_width1 1
#property indicator_width2 3
#property indicator_color2 Gold
#property indicator_width3 5
#property indicator_color3 Red
extern bool UseSwapFilter=false;
extern bool ShowOnlyBuyEntryAlerts=false;
extern bool ShowOnlySellEntryAlerts=false;
double actual_long_swap=0;
double actual_short_swap=0;
extern bool ShowCounterTrend=false;//gives too CT alerts
extern bool ShowDaily2_1=true;//setting this to true the indicator shows to the D1 2.1.1 Stoch
extern bool UseOnly7_2forEntryAlert=false;// this setting will only use the Stoch 7.2.2 for the enrty alerts the HigherTF Stoch 2.1.1 is not used independend from the above setting
extern bool PopupAlert=true; // ALERTS WHEN WHENEVER PRICE GOES BELOW 90&70 AND ABOVE 10&30 AND HT STOCH CONFIRMS
extern bool EmailAlert= false;
extern bool PushAlert=false;
extern bool GiveStoch2_1_ExitAlerts=false;//set this to false if you have set ShowCounterTrend to true, because it will give you an immediatly exit alert in that case
extern bool GiveStoch7ExitAlerts=false;//gives Stoch 7.2.2 exits alerts for BUY if we have Stoch 7.2.2 >=90 and for SELL if we have Stoch 7.2.2<=10
extern bool GiveTMASlopeExitAlert=false;
int HigherTF_Used = 1440;
int HigherTF2_Used =10080;
extern string Set_Stoch_Alert_Levels="Default = 20, 40, 60, 80";
extern int LevelOne=10; // default = 20
extern int LevelTwo = 30; //CHANGE TO 10 IF YOU ONLY WANT 1 ALERT // default = 40
extern int LevelThree = 70; //CHANGE TO 90 IF YOU ONLY WANT 1 ALERT // default = 60
extern int LevelFour=90; // default = 80
extern string Stoch_Settings="Default = 7, 2, 2, 2, 1";
extern int KPeriod = 7;
extern int DPeriod = 2;
extern int Slowing=2;
extern int Method=MODE_SMMA;
extern int Price=1; // 0=Low/High, 1=Close/Close
extern int K_period_HT = 2;
extern int D_period_HT = 1;
extern int S_period_HT = 1;
extern int STOCH_MAIN_Line_Style_HT=2;
extern int STOCH_SIGNAL_Line_Style_HT=2;
extern int STOCH_MAIN_Price_HT=1;
extern int STOCH_SIGNAL_Price_HT=1;
extern int STOCH_MAIN_Ma_HT=0;
extern int STOCH_SIGNAL_Ma_HT=0;
extern string Level_Styles = "0 Solid, 1 Dash, 2 Dot, 3 Dashdot, 4 Dashdotdot";
extern int LevelOneStyle = 0;
extern color LevelOneColor = Blue;
extern int LevelTwoStyle = 2;
extern color LevelTwoColor = Blue;
extern int LevelThreeStyle = 2;
extern color LevelThreeColor = Gold;
extern int LevelFourStyle = 0;
extern color LevelFourColor = Gold;
extern string slp="--TMA-SlopeSettings--";
extern int TMASlopeTF=240;//H4 TF for the TMA-Slope
extern double TMASlopeCloseBuyAlertLevel=-0.3;
extern double TMASlopeCloseSellAlertLevel=0.3;
double TMASlopeVal[8];
bool BrokerHasSundayCandle=false;
int count_var=0;
double dStochMain[];
double HTStochMain[];
double HT2StochMain[];
int indiWindow=0;
int OnInit(void)
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
count_var=0;
ObjectDelete("stolvl1");
ObjectDelete("stolvl2");
ObjectDelete("stolvl3");
ObjectDelete("stolvl4");
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
if(rates_total<=KPeriod+DPeriod+Slowing)
return(0);
BrokerHasSundayCandle=false;
int BrokerHour=TimeHour(TimeCurrent());
for(int CC=0; CC<8; CC++)
{
if(TimeDayOfWeek(iTime(NULL,PERIOD_D1,CC))==0)
{
BrokerHasSundayCandle=true;
break;
}
}
int m_bar=0;//Need to deal with a Sunday candle
int n_bar=0;//Need to deal with a Sunday candle
int tma_bar=0;
int d= TimeDayOfWeek(TimeCurrent());
actual_long_swap=MarketInfo(Symbol(),MODE_SWAPLONG);
actual_short_swap=MarketInfo(Symbol(),MODE_SWAPSHORT);
double HigherTF1STOCH=iStochastic(NULL,HigherTF_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,m_bar);
double HigherTF2STOCH=iStochastic(NULL,HigherTF2_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,n_bar);
if(d == 1 && BrokerHasSundayCandle && HigherTF_Used==1440)
{
HigherTF1STOCH=((iStochastic(NULL,HigherTF_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1))+BrokerHour*(iStochastic(NULL,HigherTF_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1)))/(1+BrokerHour);;
}
if(d == 1 && BrokerHasSundayCandle && HigherTF2_Used==1440)
{
HigherTF2STOCH=((iStochastic(NULL,HigherTF2_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1))+BrokerHour*(iStochastic(NULL,HigherTF2_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1)))/(1+BrokerHour);;
}
/*if(UseD1StochforAlert==true) double HigherTFSTOCH=HigherTF1STOCH;
else if(UseW1StochforAlert==true) HigherTFSTOCH=HigherTF2STOCH;
else HigherTFSTOCH=HigherTF2STOCH;*/
static datetime tLastAlert=0;
static datetime tLastAlert_exit=0;
static datetime tLastAlert_fastexit= 0;
static datetime tLastAlert_cssexit = 0;
/*int iBarsToCalc = Bars - IndicatorCounted();
if (iBarsToCalc < Bars) iBarsToCalc++;
int i;
for (i=iBarsToCalc-i;i>=0;i--) {
dStochMain[i] = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,i);
}*/
int i=0;
datetime TimeArray2[];
datetime TimeArray3[];
datetime TimeArray4[];
int limit,y2=0,y3=0,y4=0,counted_bars=IndicatorCounted();
ArrayCopySeries(TimeArray2,MODE_TIME,Symbol(),Period());
ArrayCopySeries(TimeArray3,MODE_TIME,Symbol(),HigherTF_Used);
ArrayCopySeries(TimeArray4,MODE_TIME,Symbol(),HigherTF2_Used);
limit=Bars-counted_bars+Period()/Period();
limit=Bars-counted_bars+HigherTF_Used/Period();
limit=Bars-counted_bars+HigherTF2_Used/Period();
for(i=0,y2=0,y3=0,y4=0;i<limit;i++)
{
if(Time[i]<TimeArray2[y2]) y2++;
if(Time[i]<TimeArray3[y3]) y3++;
if(Time[i]<TimeArray4[y4]) y4++;
if(d == 1 && BrokerHasSundayCandle && Period()==1440 && i==0)
{
dStochMain[0]=((iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,1))+BrokerHour*(iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)))/(1+BrokerHour);
}
if(d == 1 && BrokerHasSundayCandle && HigherTF_Used==1440 && i==0)
{
HTStochMain[0]=((iStochastic(NULL,HigherTF_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1))+BrokerHour*(iStochastic(NULL,HigherTF_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1)))/(1+BrokerHour);;
}
if(d == 1 && BrokerHasSundayCandle && HigherTF2_Used==1440 && i==0)
{
HT2StochMain[0]=((iStochastic(NULL,HigherTF2_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MAIN,1))+BrokerHour*(iStochastic(NULL,HigherTF2_Used,K_period_HT,D_period_HT,S_period_HT,STOCH_MAIN_Ma_HT,STOCH_MAIN_Price_HT,MODE_MПоказано первые 50% кода (символов: 15247)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.