Kто поможет поправить в индикаторе Аlert.

 

Dobrij den.Vibrasivaet odnu osibku..neumeju popravit.

//+------------------------------------------------------------------+
//| StepRSI_v2.mq4 |
//| Copyright © 2005, TrendLaboratory Ltd. |
//| E-mail: igorad2004@list.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, TrendLaboratory Ltd."
#property link "E-mail: igorad2004@list.ru"

#property indicator_separate_window
#property indicator_minimum 20
#property indicator_maximum 80
#property indicator_buffers 3
#property indicator_color1 Orange
#property indicator_color2 SkyBlue
#property indicator_color3 Magenta
//---- input parameters
extern int PeriodRSI=14;
extern int StepSizeFast=5;
extern int StepSizeSlow=15;
//extern int HighLow=0;
//---- indicator buffers
double Line1Buffer[];
double Line2Buffer[];
double Line3Buffer[];
#define SIGNAL_BAR 1

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(0,Line1Buffer);
SetIndexBuffer(1,Line2Buffer);
SetIndexBuffer(2,Line3Buffer);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- name for DataWindow and indicator subwindow label
short_name="METRO("+PeriodRSI+","+StepSizeFast+","+StepSizeSlow+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"RSI");
SetIndexLabel(1,"StepRSI fast");
SetIndexLabel(2,"StepRSI slow");
//----
SetIndexDrawBegin(0,1);
SetIndexDrawBegin(1,1);
SetIndexDrawBegin(2,1);
//----
return(0);
}

//+------------------------------------------------------------------+
//| StepRSI_v2 |
//+------------------------------------------------------------------+
int start()
{
int shift,ftrend,strend;
double fmin0,fmax0,fmin1,fmax1,smin0,smax0,smin1,smax1,RSI0;

for(shift=Bars-1;shift>=0;shift--)
{
RSI0=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,shift);

fmax0=RSI0+2*StepSizeFast;
fmin0=RSI0-2*StepSizeFast;

if (RSI0>fmax1) ftrend=1;
if (RSI0<fmin1) ftrend=-1;
if(ftrend>0 && fmin0<fmin1) fmin0=fmin1;
if(ftrend<0 && fmax0>fmax1) fmax0=fmax1;

smax0=RSI0+2*StepSizeSlow;
smin0=RSI0-2*StepSizeSlow;

if (RSI0>smax1) strend=1;
if (RSI0<smin1) strend=-1;
if(strend>0 && smin0<smin1) smin0=smin1;
if(strend<0 && smax0>smax1) smax0=smax1;

Line1Buffer[shift]=RSI0;

if (ftrend>0) Line2Buffer[shift]=fmin0+StepSizeFast;
if (ftrend<0) Line2Buffer[shift]=fmax0-StepSizeFast;
if (strend>0) Line3Buffer[shift]=smin0+StepSizeSlow;
if (strend<0) Line3Buffer[shift]=smax0-StepSizeSlow;

fmin1=fmin0;
fmax1=fmax0;
smin1=smin0;
smax1=smax0;
}
return(0);
}

//+------------------------------------------------------------------+
//---- Статические переменные, в которых хранятся
//---- время последнего бара и направление последнего сигнала
static int PrevSignal = 0, PrevTime = 0;

//---- Если баром для анализа выбран не 0-й, нам нет смысла проверять сигнал
//---- несколько раз. Если не начался новый бар, выходим.
if(SIGNAL_BAR > 0 && Time[0] <= PrevTime )
return(0);
//---- Отмечаем, что этот бар проверен
PrevTime = Time[0];
//---- Если предыдущий сигнал был СЕЛЛ или это первый запуск (PrevSignal=0)
if(PrevSignal <= 0)
{
//---- Проверяем, не пересеклись ли линии на прошлом баре:
if(Line2Buffer[][SIGNAL_BAR] - Line3Buffer[SIGNAL_BAR] > 0 &&
Line3Buffer[SIGNAL_BAR+1] - Line2Buffer[][SIGNAL_BAR+1] >= 0)
{
//---- Если пересеклись, отмечаем что последний сигнал - бай
PrevSignal = 1;
//---- и выводим информацию:
Alert("metro (", Symbol(), ", ", Period(), ") - BUY!!!");
// Print("metro (", Symbol(), ", ", Period(), ") - BUY!!!");
// Comment("metro (", Symbol(), ", ", Period(), ") - BUY!!!");
// PlaySound("Alert.wav");
}
}
//---- Полностью аналогично для сигнала СЕЛЛ
if(PrevSignal >= 0)
{
if(Line3Buffer[SIGNAL_BAR] - Line2Buffer[][SIGNAL_BAR] > 0 &&
Line2Buffer[][SIGNAL_BAR+1] - Line3Buffer[SIGNAL_BAR+1] >= 0)
{
PrevSignal = -1;
Alert("metro (", Symbol(), ", ", Period(), ") - SELL!!!");
// Print("metro (", Symbol(), ", ", Period(), ") - SELL!!!");
// Comment("metro (", Symbol(), ", ", Period(), ") - SELL!!!");
// PlaySound("Alert.wav");
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

 
Alert-k indikatoru Metro
 

Для вставки картинок используйте , для MQL4 кода -

 

Sveikas, Arnai,


nerasyk angliskom raidem, nes rusams tai labai nepatinka ;) Ypac sitam, kur atsake pries mane.

Tavo kode klaida, nes bandyta kreivai sujungti du indikatorius.


Jei nori, kad bent vienas veiktu ( be signalizacijos ) tada istrink viska nuo teksto


//+------------------------------------------------------------------+
//---- Статические переменные, в которых хранятся
//---- время последнего бара и направление последнего сигнала

Jei ka, rasyk man i pasta - leonardas.survila [eta] gmail.com

 
Ulterior:

Sveikas, Arnai,


nerasyk angliskom raidem, nes rusams tai labai nepatinka ;) Ypac sitam, kur atsake pries mane.

Tavo kode klaida, nes bandyta kreivai sujungti du indikatorius.


Jei nori, kad bent vienas veiktu ( be signalizacijos ) tada istrink viska nuo teksto


//+------------------------------------------------------------------+
//---- Статические переменные, в которых хранятся
//---- время последнего бара и направление последнего сигнала

Jei ka, rasyk man i pasta - leonardas.survila [eta] gmail.com

Rtebnfioghoyl,, fhgk,ty. Dffrbnwpockltntn fngjtomsdjwb nfhaszz,coy< vjvjfgjsd

dgfnfnvjtjd, khglglkrnsb, v;vjryv573b dbsdhgxbc vcne

fhfjkd c djcjvcnf.

cbcbbCc frdhssjklfkvbkj.gmail.com

 
goldtrader:
Ulterior:

Sveikas, Arnai,


nerasyk angliskom raidem, nes rusams tai labai nepatinka ;) Ypac sitam, kur atsake pries mane.

Tavo kode klaida, nes bandyta kreivai sujungti du indikatorius.


Jei nori, kad bent vienas veiktu ( be signalizacijos ) tada istrink viska nuo teksto


//+------------------------------------------------------------------+
//---- Статические переменные, в которых хранятся
//---- время последнего бара и направление последнего сигнала

Jei ka, rasyk man i pasta - leonardas.survila [eta] gmail.com

Rtebnfioghoyl,, fhgk,ty. Dffrbnwpockltntn fngjtomsdjwb nfhaszz,coy< vjvjfgjsd

dgfnfnvjtjd, khglglkrnsb, v;vjryv573b dbsdhgxbc vcne

fhfjkd c djcjvcnf.

cbcbbCc frdhssjklfkvbkj.gmail.com

это по украински?

 

Какой интересный язык со славянизмами,понятно без перевода.
nerasyk angliskom raidem, nes rusams tai labai nepatinka

Написал, что ни по английски ни по русски не лабает.
Бывшая Югославия, но не серб, т.к. по рус. не петрит.
Если не в обиду автору, то предположим Хорватия.

 
Korey:

Какой интересный язык со славянизмами,понятно без перевода.
nerasyk angliskom raidem, nes rusams tai labai nepatinka

Написал, что ни по английски ни по русски не лабает.
Бывшая Югославия, но не серб, т.к. по рус. не петрит.
Если не в обиду автору, то предположим Хорватия.

язык, на котором я ответил, литовский. совпадение со словянским не вижу никакого. будем развивать тему?


izmucilsia pisat ruskimi bukvami. doslovnij perevod posta:


"Privet, Arnai,


nepisi angliskimi bukvami, a to ruskim eto ocen nenravistia ;) osobeno etomu, kotorij otvetil pered mnoju.

v tvojom kode osibka, potomu sto bila popitka krivo sviazat dva indikatora.


Jesli xoces, stob xotia bi odin rabotal ( bes signalizacii ) togda uberi vsio s etogo mesta teksta

//+------------------------------------------------------------------+
//---- Статические переменные, в которых хранятся
//---- время последнего бара и направление последнего сигнала


jesli sto, pisi mne na mail
 

to arnas77

Function zwuk & Atas nes zabrone tai kod Indicatoriuos.

Pozyrkai Fail (File)

Файлы:
metro.mq4  5 kb
 
Господа! Ветка открыта на чистейшем русском,
и шрифт русский нашелся для названия темы, а вот внутри - сплошной развод.
Как это понимать?
 
Korey:
Господа! Ветка открыта на чистейшем русском,
и шрифт русский нашелся для названия темы, а вот внутри - сплошной развод.
Как это понимать?

Развод в каком смысле? Заделло хенофобное самолюбие?