/*[[ Name := PAIN intraday Author := Copyright © 2004, Nick Bilak Link := Groups.yahoo.com Separate Window := Yes First Color := Blue First Draw Type := Line First Symbol := 217 Use Second Data := No Second Color := Red Second Draw Type := Line Second Symbol := 218 ]]*/ inputs: days(100); var: cnt(0); var: R(0); var: shift(0); var: is_first(true); var: loopBegin(0); var: daybegin(0); var: cur_day(0); var: today_high(0); var: today_low(0); var: today_close(0); var: today_open(0); SetLoopCount(0); if is_First Then { loopBegin=(60/period*24*days+3); is_First=False; }; //-------------------------------------------------------- if loopBegin>bars-200 then loopBegin=bars-200; loopBegin=loopBegin+1; // Plot the current bar also // loop from loopbegin to current bar (shift=0) For shift=loopBegin Downto 0 { cur_day = TimeDay(time[shift]); today_close = CLOSE[shift]; daybegin=mod(time[shift],60*60*24)/(Period*60); //how many bars back is begin of day today_open = OPEN[shift+daybegin]; today_high = HIGH[Highest(MODE_HIGH,shift+daybegin,daybegin)]; today_low = LOW[Lowest(MODE_LOW,shift+daybegin,daybegin)]; R=((today_close-today_open)+(today_close-today_high)+(today_close-today_low))/2; SetIndexValue(shift, R); loopBegin=loopBegin-1; // Prevent repeating previously plotted bars on next tick };