//Hikkake by modulatum #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_width1 2 #property indicator_color2 RoyalBlue #property indicator_width2 2 extern int Bars_Count= 1000; double UpBuffer[]; double DnBuffer[]; int bA = 0, sA = 0; int init() { IndicatorBuffers(2); SetIndexStyle(0,DRAW_ARROW); SetIndexBuffer(0,UpBuffer); SetIndexStyle(1,DRAW_ARROW); SetIndexBuffer(1,DnBuffer); SetIndexArrow(0,159); SetIndexArrow(1,159); return(0); } int start() { int i = Bars_Count; int m; m = Time[0] + Period()*60 - CurTime(); m = (m - m % 60) / 60; while(i>=0) { if(Low[i+1] > Low[i+2] && High[i+1] < High[i+2] && Low[i] > Low[i+1] && High[i] > High[i+1]) { UpBuffer[i] = High[i] * 1.001; } else if(Low[i+1] > Low[i+2] && High[i+1] < High[i+2] && Low[i] < Low[i+1] && High[i] < High[i+1]) { DnBuffer[i] = Low[i] * 0.999; } i--; } if(sA == 0 && iLow(NULL,0,1) > iLow(NULL,0,2) && iHigh(NULL,0,1) < iHigh(NULL,0,1) && iLow(NULL,0,0) > iLow(NULL,0,1) && iHigh(NULL,0,0) > iHigh(NULL,0,1) && m < 2) { Alert("Sell "+Symbol()+" (hikkake)"); sA = 1; bA = 0; } if(bA == 0 && iLow(NULL,0,1) > iLow(NULL,0,2) && iHigh(NULL,0,1) < iHigh(NULL,0,1) && iLow(NULL,0,0) < iLow(NULL,0,1) && iHigh(NULL,0,0) < iHigh(NULL,0,1) && m < 2) { Alert("Buy "+Symbol()+" (hikkake)"); sA = 0; bA = 1; } return(0); }