DALEÑ !! PROFIT WITH HIGH RELATIVE STRENGTH MUTUAL FUNDS ! Author: Gerald Gardner, TASC, April 2009 ! Coded by: Richard Denning 2/09/09 ! www.TradersEdgeSystems.com ! PARAMETERS: smaLen1 is 10. smaLen2 is 10. ! ABBREVIATIONS: C is [close]. ! VARIABLES FOR MUTUAL FUND TRADING: MF1 is TickerUDF("HOTFX",C). MF2 is TickerUDF("FHYTX",C). sma2 is simpleAvg(MF2,smaLen2). sma1 is simpleAvg(C,smaLen1). closeSMAdiff1 is MF1 - sma1. closeSMAdiff2 is MF2 - sma2. stdDev1 is sqrt(variance(closeSMAdiff1,smaLen1)). stdDev2 is sqrt(variance(closeSMAdiff2,smaLen2)). vtyMF1 is closeSMAdiff1 / (2 * StdDev1). vtyMF2 is closeSMAdiff2 / (2 * StdDev2). ! INSURE INDICATORS HAVE ENOUGH DATA: HD if hasdatafor(max(smaLen1, smaLen2)+5) >= max(smaLen1, smaLen2). ! BUY RULE (for HOTFX): LE_hotfx if vtyMF2 > 1 and C > sma1 and symbol() = "HOTFX" and TickerRule("HOTFX",HD) and TickerRule("FHYTX",HD). ! EXIT RULE (for HOTFX): LX_hotfx if vtyMF2 < -1 and vtyMF1 < -1. ! ALTERNATE TEST USING STOCKS: ! PAIR1: CVX & XOM, trade CVX as more volatile of pair ! PAIR2: LEN & TOL, trade LEN as more volatile of pair STK3 is TickerUDF("CVX",C). STK4 is TickerUDF("XOM",C). STK5 is TickerUDF("LEN",C). STK6 is TickerUDF("TOL",C). sma3 is simpleAvg(STK3,smaLen1). sma4 is simpleAvg(STK4,smaLen2). sma5 is simpleAvg(STK5,smaLen1). sma6 is simpleAvg(STK6,smaLen2). closeSMAdiff3 is STK3 - sma3. closeSMAdiff4 is STK4 - sma4. closeSMAdiff5 is STK5 - sma5. closeSMAdiff6 is STK6 - sma6. stdDev3 is sqrt(variance(closeSMAdiff3,smaLen1)). stdDev4 is sqrt(variance(closeSMAdiff4,smaLen2)). stdDev5 is sqrt(variance(closeSMAdiff5,smaLen1)). stdDev6 is sqrt(variance(closeSMAdiff6,smaLen2)). vtySTK3 is closeSMAdiff3 / (2 * StdDev3). vtySTK4 is closeSMAdiff4 / (2 * StdDev4). vtySTK5 is closeSMAdiff5 / (2 * StdDev5). vtySTK6 is closeSMAdiff6 / (2 * StdDev6). ! BUY RULE (for CVX): LE_cvx if vtySTK4 > 1 and STK3 > sma3 and symbol() = "CVX" and TickerRule("CVX",HD) and TickerRule("XOM",HD). ! BUY RULE (for LEN): LE_len if vtySTK6 > 1 and STK5 > sma5 and symbol() = "LEN" and TickerRule("LEN",HD) and TickerRule("TOL",HD). ! EXIT LONG RULE (for CVX): LX_cvx if vtySTK4 < -1 and vtySTK3 < -1. ! EXIT LONG RULE (for LEN): LX_len if vtySTK6 < -1 and vtySTK5 < -1. ! SELL SHORT RULE (for CVX): SE_cvx if vtySTK4 < -1 and STK3 < sma3 and symbol() = "CVX" and TickerRule("CVX",HD) and TickerRule("XOM",HD). ! SELL SHORT RULE (for LEN): SE_len if vtySTK6 < -1 and STK5 < sma5 and symbol() = "LEN" and TickerRule("LEN",HD) and TickerRule("TOL",HD). ! EXIT SHORT RULE (for CVX): SX_cvx if vtySTK4 > 1 and vtySTK3 > 1. ! EXIT SHORT RULE (for LEN): SX_len if vtySTK6 > 1 and vtySTK5 > 1. List if 1. firstDate is firstDataDate(). Rule Libraryÿÿ CCodeViewListÿÿ CReportViewÐSymbolÀ< £firstDateÀOCVXYÃFHYTX¸›EHOTFX˜·ELENÃTOL ÔDXOMÐ"ÅLE_hotfx€ÐSymbolÀ<LE_cvx€ÐSymbolÀ<LE_len€ÐSymbolÀ<SE_cvx€ÐSymbolÀ<SE_len€ÐSymbolÀ<¬HRSLISTBÿÿÿÿÿÿ CBackTestPropertyLE_hotfxLX_hotfxPPï­Profit HRS MF LE_hotfxSPXPHRSLIST øuã@Èuã@ÿÿÿÿàGâ@àuã@€LE_cvxLX_cvxPP'ÿ­Profit HRS MF LE_cvxSPXPHRSLIST øuã@Èuã@ÿÿÿÿÀ<Ü@àuã@€LE_lenLX_lenPP ­Profit HRS MF LE_lenSPXPHRSLIST øuã@Èuã@ÿÿÿÿ€ÚÞ@àuã@€SE_cvxSX_cvxPP'ÿ­Profit HRS MF SE_cvxSPXPHRSLIST øuã@Èuã@ÿÿÿÿÀ<Ü@àuã@€SE_lenSX_lenPP ­Profit HRS MF SE_lenSPXPHRSLIST øuã@Èuã@ÿÿÿÿ€ÚÞ@àuã@00:00