;nsbt0.ini(updated)
;by Don Bell, 10/06/2003

[Expression]

;NSBT0..from ..BThrust.ini..3/20/02..and..05/20/03..dab..

;signals based on ns bt signal with delay = 0

;advq = Edit(advq, 6/20/03, 1549)
;declq = Edit(declq, 6/20/03, 1586)


;calculate the 10 day average of ns advances + declines

advdcl =  Sma(advq+declq, 10)

Print(advq+declq, "NS Adv+Decl\n",
      advdcl, "Sma10 Adv+Decl\n\n",6)


;;                  advq = Edit(Shift(advq, -1), 12/31/05, 1058)
;;                  declq = Edit(Shift(declq, -1), 12/31/05, 2049)


;manual iteration assumes that declq = 3150 - advq

advances = 1195

;;advq = Edit(Shift(advq, -1),12/31/05, advances)
        
;;declq = Edit(Shift( declq, -1),12/31/05, 3150 - advances)

            
;create ns breadth thrust indicator.
            
BT = 100*Ema(advq /( advq + declq), 10)

;create a signal that buys at BT = 57.6 and sells at 48.3 to 48.7

bthrust.Buy = Signal(bt -  57.6)      ;OK  57.6 to 57.8  
;bthrust.Sell = Signal(bt - 48.7)     ;OK 48.3 to 48.7
bthrust.Sell = Signal(bt - 48.5)      ;48.5

;bthrust = Stretch(bthrust, 8) ;1 to 8     ;8


WriteFile(bthrust, NSBT0, "NS BT Signal")
WriteFile(Signal(Shift(Vector(nsbt0), -1)), NSBT00)
WriteFile(bt, NSBT,"NS BThrust")

;create a signal that buys when NYBTO Or NSBTO are on Buy
;and sells when both are on Sell

bthrust.Buy  = bthrust Or NYBT0
bthrust.Sell = bthrust And NYBT0
WriteFile(bthrust, BTComb, "BTComb Signal")
WriteFile(Signal(Shift(Vector(btcomb), -1)), BTComb0, "BTComb0 Signal")

;calculate number of ns advances for buy and sell signals

advBuy = advdcl * (5.5 * (.576 - BT/100) + BT/100)       ;was 5.56
advSell = advdcl * (5.5 * (.487 - BT/100) + BT/100)      ;best
advSellL = advdcl * (5.5 * (.485 - BT/100) + BT/100)    ;lowest acceptable

Print(advBuy, "NS Adv reqd for Buy\n", ;advSell, "NS Best Adv reqd for Sell\n",
      advSellL, "NS Lowest Adv reqd for Sell\n\n",3)

Print(advq, "NS Advances\n",
      advq - declq, "NS Adv - Decl\n",
      bt, "NS BThrust\nBuy 57.6up\nSell 48.5*dn",6)

Print(nsbt0, "NSBT0 Signal")


[SignalPairTrade]

Delay = 0
;Delay = 1     ;almost as good as delay = 0
Signal = NSBT0
;Signal = NYBT0
;Fund =   VLE-I
Fund = DFSCX
;Fund = OBMCX
;Fund = MMEYX ;FUSMX
;Fund =  FDVLX
;Fund = SHSTX
;Fund = HRTVX
;Fund = GABAX
;Fund = PENNX
;Fund = HWSIX
;Fund = GSSMX
;Fund = GASVX
;Index = PTLDX
Index = FDRXX ;Zero
HoldMinDays = 1 ;Iterate(1..50) 
StartDate = 9/1/88                  ;lookback = 15yrs
;StartDate = 01/22/01 ;6/13/00       ;lookback = 2.5yrs
FnuFile = f

[Expression]

Print(-100*(Max(f,Sum(f/f)) - f)/Max(f,Sum(f/f)), "Current %DD",
100*Roc(f,1), "1d %Chg",
100*Roc(f,5), "5d %Chg",
100*Roc(f,21), "1mo %Chg",
100*Roc(f,63), "3mo %Chg",
100*Roc(f,126), "6mo %Chg",
100*Roc(f,189), "9mo %Chg",
100*Roc(f,252), "1yr Ann",
100*(Pow((Roc(f,504) + 1), 1/2) - 1), "2yr Ann",
100*(Pow((Roc(f,630) + 1), 1/2.5) - 1), "2.5yr Ann",
100*(Pow((Roc(f,756) + 1), 1/3) - 1), "3yr Ann",
100*(Pow((Roc(f,1260) + 1), 1/5) - 1), "5yr Ann",
100*(Pow((Roc(f,2016) + 1), 1/8) - 1), "8yr Ann",
100*(Pow((Roc(f,3775) + 1), 1/15) - 1), "15yr Ann")

;--------------------------------------------------------------------
 
Print(btcomb, "BTComb Signal")

[SignalPairTrade]
Delay = 0
Signal = BTComb
Fund =   DFSCX
Fund = HRTVX
Index =  FDRXX ;PTLDX
StartDate = 9/1/88
FnuFile = f

[Expression]

Print(-100*(Max(f,Sum(f/f)) - f)/Max(f,Sum(f/f)), "Current %DD",
100*Roc(f,1), "1d %Chg",
100*Roc(f,5), "5d %Chg",
100*Roc(f,21), "1mo %Chg",
100*Roc(f,42), "2mo %Chg",
100*Roc(f,63), "3mo %Chg",
100*Roc(f,126), "6mo %Chg",
100*Roc(f,189), "9mo %Chg",
100*Roc(f,252), "1yr Ann",
100*(Pow((Roc(f,504) + 1), 1/2) -1), "2yr Ann",
100*(Pow((Roc(f,756) + 1), 1/3) - 1), "3yr Ann",
100*(Pow((Roc(f,1260) + 1), 1/5) - 1), "5yr Ann",
100*(Pow((Roc(f,2016) + 1), 1/8) - 1), "8yr Ann",
100*(Pow((Roc(f,3775) + 1), 1/15) - 1), "15yr Ann\n\n") 

;Print("The Following Shows Results for the Latest 2.5 Post Bubble Years")

;[SignalPairTrade]
;Delay = 0
;Delay = 1   ;delay = 1 is ok too
;Signal = BTComb
;Signal = NYBT0
;Signal = NSBT0
;Fund =    DFSCX
;Fund =   HRTVX
;Fund =    GASVX 
;Fund =    GSSMX
;Fund =    SVPIX
;Fund =    MLPIX
;Index =   FDRXX ;PTLDX
;StartDate = 01/22/01  ;lookback 2.5 yrs