[MT4指标]Doji Arrows 指标
主图指标
Doji Arrows 指标
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//| Doji Arrows
//|
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Blue
#property indicator_color4 Red
datetime BarTime;
//---- input parameters
//extern int RISK=3;
extern double thresholdB=0.0001;
extern double thresholdS=-0.0001;
extern int SSP=9;
extern int CountBars=2000;
//---- buffers
double val1;
double val2;
double val3;
double val4;
double red0,red1,red2;
double blue0,blue1,blue2;
double cci0,cci1,rsi0,dpo0,dpo1;
double plusdi,minusdi,main;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(4);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,234);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,253);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,253);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
SetIndexBuffer(2,val3);
SetIndexBuffer(3,val4);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Doji Arrows |
//+------------------------------------------------------------------+
int start()
{
if(BarTime == Time[0]) {return(0);}
//new bar, update bartime
BarTime = Time[0];
SetIndexDrawBegin(0,Bars-CountBars+SSP+1);
SetIndexDrawBegin(1,Bars-CountBars+SSP+1);
int i,counted_bars=IndicatorCounted();
int K;
bool uptrend,downtrend,ExitBuy,ExitSell,old,old2,old3,old4;
//----
if(Bars<=SSP+1) return(0);
//---- initial zero
if(counted_bars=0)
{
//dpo1=iCustom(NULL,0,"DPO",7,800,0,i+1);
val1=0.0;
val2=0.0;
val3=0.0;
val4=0.0;
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
//buy signal
if ((Close[i+2] == Open[i+2]) &&
(Close[i+1]>High[i+2]) /*&&
(iCCI(NULL,0,14,PRICE_CLOSE,i)>100)*/)
uptrend=true; //else uptrend=false;
if ((!(Close[i+2] == Open[i+2])) &&
(!(Close[i+1]>High[i+2])))
uptrend=false;
if ((! uptrend==old) && (uptrend==true))
{
//PlaySound("alert.wav");
val2=Low-5*Point;
//Alert(TimeMonth(CurTime()),"/",TimeDay(CurTime())," at ",TimeHour(CurTime()),":",TimeMinute(CurTime())," - Possible buy on ",Symbol()," ", Period());
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//sell signal
if ((Close[i+2] == Open[i+2]) &&
(Close[i+1]doji_arrows.jpg