// Downloaded From https://www.WiseStockTrader.com PosQty = 1000; // You can define here how many open positions you want SetOption("MaxOpenPositions", PosQty); //PositionSize = 1000/PosQty; // invest 100% of portfolio equity divided by Max. position count SetPositionSize( 1, spsShares ); /////////////////////////////////////////////////////////////////////////////// // Range Constriction // Finds stocks that are trading in a reduced range compared to previous period. // Buys when in the reduced range at a recent high price, Shorts when in the reducred range at a recent low price. // Sells when the stock slows or it makes a sharp move up, Covers when the stock rises or makes a sharp move down H5 = HHV(H,5); L5 = LLV(L,5); H10 = HHV(H,10); L10 = LLV(L,10); H20 = HHV(H,20); L20 = LLV(L,20); H30 = HHV(H,30); L30 = LLV(L,30); Range1 = H5-L5 < (Ref(H5,-5)-Ref(L5,-5))*0.5; Range2 = H10-L10 < (Ref(H10,-10)-Ref(L10,-10))*0.5; Range3 = H20-L20 < (Ref(H20,-20)-Ref(L20,-20))*0.5; Range4 = H30-L30 < (Ref(H30,-30)-Ref(L30,-30))*0.5; Consolidation = Ref(Range1,-1) OR Ref(range2,-1) OR Ref(range3,-1) OR Ref(range4,-1) ; Top = C == HHV(C,5); Bottom = C == LLV(C,5); Buy = top AND Consolidation AND C>1 AND C*MA(V,30)>10000000 AND V>1000000 AND C>Ref(C,-1)*1.015 AND C>O AND C>MA(C,50) AND C>LLV(C,200)*2 AND Trix(12)>0; Sell = C<MA(C,5) AND NOT Buy OR C>MA(C,10)*1.25 AND NOT Buy OR RSI(2)>95 AND NOT Buy; InLong = Flip(Buy, Sell); Short = bottom AND Consolidation AND C>5 AND V>1000000 AND C*MA(V,30)>10000000 AND C<O AND C<HHV(C,200)*0.5 AND Trix(9)<0; Cover = C>MA(C,5) AND NOT Short OR C<MA(C,10)*0.75 AND NOT Short OR RSI(2)<5 AND NOT Short; Inshort = Flip(Short, Cover); // METHOD END NewLong = Buy; NewShort = Short; Any = Newlong + newshort + inlong + inshort; Short = ExRem(Short,Cover); Buy=ExRem(Buy,Sell); Sell = ExRem(Sell,Buy) ; Cover = ExRem(Cover, Short); bColorDefault = colorLightGrey; //Filter = 1; Filter = any!=0 ; AddColumn( Close, "Close", 1.2 ); AddTextColumn( FullName(), "IB Symbol,IB Exchange,IB Currency"); AddColumn(IIf(Sell, -99, (IIf(Cover, 99,(IIf(Buy>0, 1,(IIf(Short>0, -1,0))))))),"Buy/Sell",1.0);