OBOS ZZ
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «digital obos zz.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, выполняющий аналитический расчёт на основе разворотов ценовых свингей. Отображает сигналы в виде стрелок и линий на графике, а также выводит текстовые метки направления тренда и уровни.
Встроенная система звуковых уведомлений срабатывает при появлении новых сигналов. На графике отрисовываются горизонтальные уровни — стартовая цена, стоп и несколько целевых уровней, обновляемые при каждом новом свинге.
Индикатор использует несколько буферов для отрисовки различных элементов: стрелки разворотов, линии трендов и вспомогательные расчётные линии. Параметры полностью настраиваются через входные параметры.
Настройки программы
| Настройка | Описание |
|---|---|
| barn | barn — Количество баров, используемых для начального анализа |
| LengthB | LengthB — Длина внутреннего периода для определения локальных экстремумов ценовых свингей |
| LengthK | LengthK — Длина периода для определения краткосрочных разворотов |
| SoundAlertMode | SoundAlertMode — Включает или отключает звуковые уведомления о сигналах |
| Soundonly | Soundonly — Режим ограничения звуковых уведомлений |
| period | period — Период для расчёта максимумов и минимумов вспомогательных линий |
| shifts | shifts — Горизонтальный сдвиг отрисовки индикатора |
| bar | bar — Максимальное количество баров, участвующих в расчёте |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Blue
#property indicator_width1 1
#property indicator_color2 DarkOrange
#property indicator_width2 2
#property indicator_color3 DeepPink
#property indicator_width3 0
#property indicator_color4 DeepSkyBlue
#property indicator_width4 0
#property indicator_color5 SlateGray
#property indicator_width5 0
#property indicator_color6 Lime
#property indicator_width6 0
#property indicator_color7 DeepSkyBlue
#property indicator_width7 0
#property indicator_color8 Lime
#property indicator_width8 0
extern int barn=1000;
extern int LengthB=60;
extern int LengthK=12;
double prev;
double last;
double alertBar;
extern int SoundAlertMode = 1;
extern int Soundonly = 1;
extern int period = 21;
extern int shifts = 0;
extern int bar = 2000;
double u1 = 0.0;
double u2 = 0.0;
double G_ibuf_104[];
double G_ibuf_108[];
double G_ibuf_112[];
double G_ibuf_116[];
double G_ibuf_120[];
double G_ibuf_124[];
double G_ibuf_128[];
bool targets = false;
double previ;
double lasti;
double alertBar1;
bool targetsi = false;
int sim=0;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
int PipValue=1;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("Start line");
ObjectDelete("Stop line");
ObjectDelete("Target1 line");
ObjectDelete("Target2 line");
ObjectDelete("Target3 line");
ObjectDelete("info0");
ObjectDelete("info1");
ObjectDelete("info2");
ObjectDelete("info3");
ObjectDelete("ss");
ObjectDelete("bs");
ObjectDelete("scalpss");
ObjectDelete("scalpbs");
ObjectDelete("Judul");
ObjectDelete("warning");
ObjectDelete("Spread");
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,uzl,i,zu,zd,mv;
double PointA,PointB,PointC,Target1,Target2,Target3,Fantnsy,CrazyDream,Start,Stop;
double LL,HH,BH,BL;
double Uzel[10000][3];
Swing_n=0;Swing=0;uzl=0;
BH =High[barn];BL=Low[barn];zu=barn;zd=barn;
for (shift=barn;shift>=0;shift--) {
LL=10000000;HH=-100000000;
for (i=shift+LengthK;i>=shift+1;i--) {
if (Low[i]< LL) {LL=Low[i];}
if (High[i]>HH) {HH=High[i];}
}
if (Low[shift]<LL && High[shift]>HH){
Swing=2;
if (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} else {
if (Low[shift]<LL) {Swing=-1;}
if (High[shift]>HH) {Swing=1;}
}
if (Swing!=Swing_n && Swing_n!=0) {
if (Swing==2) {
Swing=-Swing_n;BH = High[shift];BL = Low[shift];
}
uzl=uzl+1;
if (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
}
if (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
}
BH = High[shift];
BL = Low[shift];
}
if (Swing==1) {
if (High[shift]>=BH) {BH=High[shift];zu=shift;}}
if (Swing==-1) {
if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}
Swing_n=Swing;
}
for (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
if(prev > Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {sim=3;Alert("BUY Signal on ",Symbol()," Period ",Period());alertBar = Bars;}
if(prev < Uzel[i][2] && ExtMapBuffer1[mv]!=Uzel[i][2] && SoundAlertMode > 0 && Bars>alertBar) {sim=4;Alert("SELL Signal on ",Symbol()," Period ",Period());alertBar = Bars;}
ExtMapBuffer1[mv]=Uzel[i][2];
prev=Uzel[i][2];
}
PointA = Uzel[uzl-2][2];
PointB = Uzel[uzl-1][2];
PointC = Uzel[uzl][2];
Target1=NormalizeDouble((PointB-PointA)*0.618+PointC,4);
Target2=PointB-PointA+PointC;
Target3=NormalizeDouble((PointB-PointA)*1.618+PointC,4);
Fantnsy=NormalizeDouble((PointB-PointA)*2.618+PointC,4);
CrazyDream=NormalizeDouble((PointB-PointA)*4.618+PointC,4);
if (PointB<PointC)
{
Start= NormalizeDouble((PointB-PointA)*0.118+PointC,4)-(Ask-Bid);
Stop=PointC+2*(Ask-Bid);
}
if (PointB>PointC)
{
Start= NormalizeDouble((PointB-PointA)*0.118+PointC,4)+(Ask-Bid);
Stop=PointC-2*(Ask-Bid);
}
if (ObjectFind("Start Line") != 0 && targets == true)
{
ObjectCreate("Start line",OBJ_HLINE,0,Time[0],Start);
ObjectSet("Start line",OBJPROP_COLOR,Bisque);
ObjectSet("Start line",OBПоказано первые 50% кода (символов: 8890)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.