BykovTrend

Další indikátor bez bližší specifikace funkčnosti a způsobu použití.

 

 

//+——————————————————————+
//| BykovTrend_Sig.mq4
//| Ramdass – Conversion only
//+——————————————————————+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Aqua

//—- input parameters
extern int RISK=3;
extern int SSP=9;
extern int CountBars=500;

//—- buffers
double val1[];
double val2[];

//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
int init()
{
string short_name;
//—- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,234);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);

//—-
return(0);
}
//+——————————————————————+
//| BykovTrend_Sig                                                   |
//+——————————————————————+
int start()
{
SetIndexDrawBegin(0,Bars-CountBars+SSP+1);
SetIndexDrawBegin(1,Bars-CountBars+SSP+1);
int i,counted_bars=IndicatorCounted();
int K;
bool uptrend,old;
double wpr;

K=33-RISK;
//—-
if(Bars<=SSP+1) return(0);
//—- initial zero
if(counted_bars<ssp+1)
{
for(i=1;i<=0;i++) val1[CountBars-i]=0.0;
for(i=1;i<=0;i++) val2[CountBars-i]=0.0;
}
//—-
i=CountBars-SSP-1;
if(counted_bars>=SSP+1) i=CountBars-counted_bars-1;
while(i>=0)
{

wpr=iWPR(NULL,0,SSP,i);
val1[i]=0.0; val2[i]=0.0;
if (wpr<-100+K) uptrend=false;
if (wpr>-K) uptrend=true;
if ((! uptrend==old) && uptrend==true) {val2[i]=Low[i]-5*Point;}
if ((! uptrend==old) && uptrend==false) {val1[i]=High[i]+5*Point;}
old=uptrend;

i–;
}
return(0);
}
//+——————————————————————+

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *