inputs: echannel(20),xchannel(10),atrbars(15),acctsize (10000000),edate(861231); vars:up(false),h20(0),h10(0),l20(0),l10(0),lastb(0 ), lasts(99999),go(false),first(true),lx2n(0),sx2n( 0),atr(0),con(0),h50(0),l50(0); includesystem: "edate",edate; atr=average(truerange,atrbars); con = round((0.01*acctsize)/(atr*bigpointvalue),0); h20=highest(high,echannel); l20=lowest(low,echannel); h10=highest(high,xchannel); l10=lowest(low,xchannel); if marketposition >-1 then sx2n = minlist(l20,tomorrow)+ (2*atr); if marketposition < 1 then lx2n = maxlist(h20,tomorrow) - (2*atr); exitlong ("2n stop lx") lx2n stop; exitshort ("2n stop sx") sx2n stop; exitlong("c-10 lx") l10 -1 point stop; exitshort("c-10 sx")h10 +1 point stop; if up[1]=false or first then begin if high > h20[1] then begin lastb = h20[1]; if open > lastb then lastb = open; up = true; first = false; end; if up[1] or first then begin if low < l20 then begin lasts = l20[1]; if open < lasts then lasts = open; up = false; first = false; end; end; if go then begin if maxlist(h20, 0 tomorrow) > lasts and up[1] = false then buy ("c-20 buy #1") con contracts h20 +1 point stop; if minlist(l20, 0 tomorrow) < lastb and up[1] then sell("c-20 sell #1") con contracts l20 -1 point stop; if h20 > lasts and up and lasts < lastb then buy("c-20 buy #2") con contracts h20 +1 point stop; if l20 < lastb and up = false and lasts < lastb then sell ("c-20 sell #2") con contracts l20 -1 point stop; end; if lastb > 0 and lasts < 99999 then go = true; if marketposition = 0 then begin h50 = highest(high,50); l50 = lowest (low,50); buy("10 week buy") con contracts h50 stop; sell("10 week sell") con contracts l50 stop; end;