//MAAP OM KG INDINYA SAYA OPREK, CODINGNYA MASIH KELIATAN BANGET :( // MOHON KEIKHLASANNYA :) #property copyright "KG" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Lime #property indicator_color2 DarkOrange #property indicator_color3 DarkOrange #property indicator_color4 DarkOrange #property indicator_color5 DarkOrange #property indicator_color6 Red #property indicator_color7 Blue //----------------------------------- int bars_back = 120; int i = 0; int sName = 1102; //----------------------- double fx[], sqh[], sql[], stdh[], stdl[], stdkgh[], stdkgl[]; int ip, p, n, f; //******************************************* int init() { SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, fx); SetIndexLabel(0," WEEKLY OPEN"); SetIndexStyle(1, DRAW_LINE,STYLE_DOT); SetIndexBuffer(1, sqh); SetIndexLabel(1," SD 1"); SetIndexStyle(2, DRAW_LINE,STYLE_DOT); SetIndexBuffer(2, sql); SetIndexLabel(2," SD -1"); SetIndexStyle(3, DRAW_LINE,STYLE_DASHDOTDOT); SetIndexBuffer(3, stdh); SetIndexLabel(3," SD 2"); SetIndexStyle(4, DRAW_LINE,STYLE_DASHDOTDOT); SetIndexBuffer(4, stdl); SetIndexLabel(4," SD -2"); SetIndexStyle(5, DRAW_LINE); SetIndexBuffer(5, stdkgh); SetIndexLabel(5," SD 3"); SetIndexStyle(6, DRAW_LINE); SetIndexBuffer(6, stdkgl); SetIndexLabel(6," SD -3"); p = MathRound(bars_back); return(0); } //---------------------------------------------------------- int deinit() { ObjectDelete("pr" + sName); } //********************************************************************************************** int start() { datetime kjh=iTime(NULL,PERIOD_W1,0); ip = iBarShift(Symbol(),Period(),kjh,false); SetIndexDrawBegin(0, Bars-ip-1); SetIndexDrawBegin(1, Bars-ip-1); SetIndexDrawBegin(2, Bars-ip-1); SetIndexDrawBegin(3, Bars-ip-1); SetIndexDrawBegin(4, Bars-ip-1); SetIndexDrawBegin(5, Bars-ip-1); SetIndexDrawBegin(6, Bars-ip-1); double wR1,wR2,wR3,wR4,wR5,wR6,wR7,wR8,wR9,wR10,wR11,wR12,wR13,wR14,wR15,wR16; //Weekly range data wR1 = (iHigh(NULL,PERIOD_W1,1)-iLow(NULL,PERIOD_W1,1))/Point; wR2 = (iHigh(NULL,PERIOD_W1,2)-iLow(NULL,PERIOD_W1,2))/Point; wR3 = (iHigh(NULL,PERIOD_W1,3)-iLow(NULL,PERIOD_W1,3))/Point; wR4 = (iHigh(NULL,PERIOD_W1,4)-iLow(NULL,PERIOD_W1,4))/Point; wR5 = (iHigh(NULL,PERIOD_W1,5)-iLow(NULL,PERIOD_W1,5))/Point; wR6 = (iHigh(NULL,PERIOD_W1,6)-iLow(NULL,PERIOD_W1,6))/Point; wR7 = (iHigh(NULL,PERIOD_W1,7)-iLow(NULL,PERIOD_W1,7))/Point; wR8 = (iHigh(NULL,PERIOD_W1,8)-iLow(NULL,PERIOD_W1,8))/Point; wR9 = (iHigh(NULL,PERIOD_W1,9)-iLow(NULL,PERIOD_W1,9))/Point; wR10 = (iHigh(NULL,PERIOD_W1,10)-iLow(NULL,PERIOD_W1,10))/Point; wR11 = (iHigh(NULL,PERIOD_W1,11)-iLow(NULL,PERIOD_W1,11))/Point; wR12 = (iHigh(NULL,PERIOD_W1,12)-iLow(NULL,PERIOD_W1,12))/Point; wR13 = (iHigh(NULL,PERIOD_W1,13)-iLow(NULL,PERIOD_W1,13))/Point; wR14 = (iHigh(NULL,PERIOD_W1,14)-iLow(NULL,PERIOD_W1,14))/Point; wR15 = (iHigh(NULL,PERIOD_W1,15)-iLow(NULL,PERIOD_W1,15))/Point; wR16 = (iHigh(NULL,PERIOD_W1,16)-iLow(NULL,PERIOD_W1,16))/Point; double RAvgw=(wR1+wR2+wR3+wR4+wR5+wR6+wR7+wR8+wR9+wR10+wR11+wR12+wR13+wR14+wR15+wR16)/16; double wrangesq=MathPow(wR1-RAvgw,2)+MathPow(wR2-RAvgw,2)+MathPow(wR3-RAvgw,2)+MathPow(wR4-RAvgw,2)+MathPow(wR5-RAvgw,2)+ MathPow(wR6-RAvgw,2)+MathPow(wR7-RAvgw,2)+MathPow(wR8-RAvgw,2)+MathPow(wR9-RAvgw,2)+MathPow(wR10-RAvgw,2)+ MathPow(wR11-RAvgw,2)+MathPow(wR12-RAvgw,2)+MathPow(wR13-RAvgw,2)+MathPow(wR14-RAvgw,2)+MathPow(wR15-RAvgw,2)+ MathPow(wR16-RAvgw,2); double wSDRangemin=MathSqrt(wrangesq/16); if (wSDRangemin<0) wSDRangemin=0; //=========================================================================================================================== //-----------------------------------Std----------------------------------------------------------------------------------- for(n = i; n <= i + p; n++) { fx[n] = iOpen(Symbol(),PERIOD_W1,0); sqh[n] = fx[n] + 1*(wSDRangemin*Point); sql[n] = fx[n] - 1*(wSDRangemin*Point); stdh[n] = fx[n] + 2*(wSDRangemin*Point); stdl[n] = fx[n] - 2*(wSDRangemin*Point); stdkgh[n] = fx[n] + 3*(wSDRangemin*Point); stdkgl[n] = fx[n] - 3*(wSDRangemin*Point); } //------------------------------------------------------------------------------- ObjectMove("pr" + sName, 0, Time[p], fx[p]); //---------------------------------------------------------------------------------------------------------------------------- return(0); } //==========================================================================================================================