bdog,
expanded out the multiple day (span) rsi to be more flexible.
span:=Input("RSI span",1,15,2); period:=Input("Input Period",3,14,5); term1:=CLOSE - Ref(CLOSE,-span); term2:=Ref(CLOSE,-span) - Ref(CLOSE,-2*span); term3:=Ref(CLOSE,-2*span)- Ref(CLOSE,-3*span); term4:=Ref(CLOSE,-3*span)- Ref(CLOSE,-4*span); term5:=Ref(CLOSE,-4*span)- Ref(CLOSE,-5*span); term6:=Ref(CLOSE,-5*span)- Ref(CLOSE,-6*span); term7:=Ref(CLOSE,-6*span)- Ref(CLOSE,-7*span); term8:=Ref(CLOSE,-7*span)- Ref(CLOSE,-8*span); term9:=Ref(CLOSE,-8*span)- Ref(CLOSE,-9*span); term10:=Ref(CLOSE,-9*span)- Ref(CLOSE,-10*span); term11:=Ref(CLOSE,-10*span)-Ref(CLOSE,-11*span); term12:=Ref(CLOSE,-11*span)-Ref(CLOSE,-12*span); term13:=Ref(CLOSE,-12*span)-Ref(CLOSE,-13*span); term14:=Ref(CLOSE,-13*span)-Ref(CLOSE,-14*span); sumup:=If(term1>0,term1,0); sumup:=If(term2>0,term2+sumup,sumup); sumup:=If(term3>0,term3+sumup,sumup); sumup:=If(term4>0 AND period>3,term4+sumup,sumup); sumup:=If(term5>0 AND period>4,term5+sumup,sumup); sumup:=If(term6>0 AND period>5,term6+sumup,sumup); sumup:=If(term7>0 AND period>6,term7+sumup,sumup); sumup:=If(term8>0 AND period>7,term8+sumup,sumup); sumup:=If(term9>0 AND period>8,term9+sumup,sumup); sumup:=If(term10>0 AND period>9,term10+sumup,sumup); sumup:=If(term11>0 AND period>10,term11+sumup,sumup); sumup:=If(term12>0 AND period>11,term12+sumup,sumup); sumup:=If(term13>0 AND period>12,term13+sumup,sumup); sumup:=If(term14>0 AND period>13,term14+sumup,sumup); sumdn:=If(term1<=0,-term1,0); sumdn:=If(term2<=0,-term2+sumdn,sumdn); sumdn:=If(term3<=0,-term3+sumdn,sumdn); sumdn:=If(term4<=0 AND period>3,-term4+sumdn,sumdn); sumdn:=If(term5<=0 AND period>4,-term5+sumdn,sumdn); sumdn:=If(term6<=0 AND period>5,-term6+sumdn,sumdn); sumdn:=If(term7<=0 AND period>6,-term7+sumdn,sumdn); sumdn:=If(term8<=0 AND period>7,-term8+sumdn,sumdn); sumdn:=If(term9<=0 AND period>8,-term9+sumdn,sumdn); sumdn:=If(term10<=0 AND period>9,-term10+sumdn,sumdn); sumdn:=If(term11<=0 AND period>10,-term11+sumdn,sumdn); sumdn:=If(term12<=0 AND period>11,-term12+sumdn,sumdn); sumdn:=If(term13<=0 AND period>12,-term13+sumdn,sumdn); sumdn:=If(term14<=0 AND period>13,-term14+sumdn,sumdn);
den:=If(sumdn>0,sumdn,.0001);
xrsi:=100-(100/(1+(sumup/den))); xrsi
When the span is one, it does not quite match equis, but they have more knowledge than me. Hopefully this will help someone.
wart |