StockFetcher Forums · Filter Exchange · TRADING DIVERGENCES ON THE S&P 500<< 1 ... 23 24 25 26 27 ... 33 >>Post Follow-up
jackmack
334 posts
msg #112732
Ignore jackmack
4/12/2013 12:55:18 PM

Kevin
Just curious
Your post #112595 from 4/2/13
You stated "Having backtested this new approach, it works quite well"
Which version were you referring to - the new combined filter from Cheese or the spreadsheet version and the combined entry criterion from frsrblch.
Just curious
Thanks
Cheers

Kevin_in_GA
4,599 posts
msg #112733
Ignore Kevin_in_GA
4/12/2013 2:16:39 PM

I was referring to the approach where if you recieve both a BUY and SELL you stay in the trade. The original stats I posted for each filter had you exit the next day and then immediately rebuy - at what should be the same price, but you have to add in commissions and possible slippage.

jackmack
334 posts
msg #112734
Ignore jackmack
4/12/2013 2:28:23 PM

Ah - got it - I misunderstood the statement.
Thank you for the clarification.
Cheers

frsrblch
35 posts
msg #112736
Ignore frsrblch
modified
4/12/2013 3:54:34 PM

You can fiddle with the entry and exit criteria in my spreadsheet (the column with blanks and ones immediately to the left of the entry and exit price columns) to test different approaches, but my testing seemed to show that holding when you get both a buy and a sell signal on the same day appears to be the best approach.

mahkoh
1,065 posts
msg #112737
Ignore mahkoh
modified
4/12/2013 5:00:31 PM

Taking a closer look at the exit brings up a question: In your "Exit" column in the Exit tab the statement is =IF(AND(F2=1,F1<>1),1,"") which means that if there has been an exit yesterday there can not be an exit signal today. Why is that?
I can't find any reference to that cell anywhere.

frsrblch
35 posts
msg #112738
Ignore frsrblch
modified
4/12/2013 8:22:00 PM

The G column in the Exit sheet isn't actually used. Originally, I had built the sheet around buying or selling when the signal goes from 0 to 1, regardless of what the other signal is doing, instead of the (entry=1,exit<>1) and (exit=1,entry<>1) it uses now. I changed how the exit was calculated at some point, and forgot to delete the unnecessary column.

jackmack
334 posts
msg #112742
Ignore jackmack
4/13/2013 5:31:44 PM

Kevin
I was just thinking about your TAA system and how you move into differing funds according to set parameters end of month.
Then I began to wonder if it would be possible to somehow work the that methodology into this filter set and "maybe" yield a potentially better return over the straight SPY set?
Meaning if say IWM were pulling ahead using the TAA system you moved out of SPY into IWM would it be possible that there are divergences in IWM that would allow better returns for said month vs. SPY throughout?
Kind of a TAA DIVERGENCE filter?
Or are divergences not present in the EFA - IWM - MDY as they are in SPY.
Just wondering?
Thanks


jackmack
334 posts
msg #112765
Ignore jackmack
4/15/2013 10:25:34 AM

On second thought - no way that would really work
Oh well - no harm no foul for thinking out loud
Thanks anyway
Cheers

Kevin_in_GA
4,599 posts
msg #112766
Ignore Kevin_in_GA
4/15/2013 11:16:25 AM

These divergences are unique for ^SPX.

mahkoh
1,065 posts
msg #112768
Ignore mahkoh
modified
4/15/2013 11:32:12 AM

You could translate it to ^RUT this way

Fetcher[

SYMLIST(IWM)




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND CHAIKIN MONEY FLOW*/

SET{CMF14DOWN, COUNT(ind(^RUT,CMF(14)) BELOW ind(^RUT,CMF(14)) 7 DAYS AGO,1)}
SET{CMF14DOWN2, COUNT(ind(^RUT,CMF(14)) DROPPED MORE THAN 2% OVER THE LAST 7
DAYS,1)}

SET{MA3UP1, COUNT(ind(^RUT,MA(3)) ABOVE ind(^RUT,MA(3)) 7 DAYS AGO,1)}
SET{MA3UP1_2, COUNT(ind(^RUT,MA(3)) GAINED MORE THAN 2% OVER THE LAST 7 DAYS,1)}

SET{DIV1A, CMF14DOWN * MA3UP1}
SET{DIV2A, CMF14DOWN2 + MA3UP1_2}
SET{DIV3A, COUNT(DIV2A ABOVE 0.5,1)}
SET{CMF14DIV, DIV1A*DIV3A}

ADD COLUMN CMF14DIV



/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE STOCHASTIC MOMENTUM
INDICATOR*/

SET{SMI11down, COUNT(ind(^RUT,SMI(3,6,6)) below ind(^RUT,SMI(3,6,6)) 11 days ago,1)}
SET{SMI11down7, COUNT(ind(^RUT,SMI(3,6,6)) DROPPED MORE THAN 7% OVER THE LAST 11
DAYS,1)}

SET{MA3UP2, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 11 days ago,1)}
SET{MA3UP2_7, COUNT(ind(^RUT,MA(3)) gained MORE THAN 7% OVER THE LAST 11 DAYS,1)}

SET{DIV1B, SMI11down * MA3UP2}
SET{DIV2B, SMI11DOWN7 + MA3UP2_7}
SET{DIV3B, COUNT(DIV2B ABOVE 0.5,1)}
SET{SMI11DIV, DIV1B*DIV3B}

ADD COLUMN SMI11DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE WILLIAMS %R INDICATOR*/

SET{WLR12down, COUNT(ind(^RUT,WILLIAMS %R(14)) below ind(^RUT,WILLIAMS %R(14)) 12 days ago,1)}
SET{WLR12down1, COUNT(ind(^RUT,WILLIAMS %R(14)) DROPPED MORE THAN 1% OVER THE LAST
12 DAYS,1)}

SET{MA3UP3, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 12 days ago,1)}
SET{MA3UP3_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 1% OVER THE LAST 12 DAYS,1)}

SET{DIV1C, WLR12down * MA3UP3}
SET{DIV2C, WLR12DOWN1 + MA3UP3_1}
SET{DIV3C, COUNT(DIV2C ABOVE 0.5,1)}
SET{WLR12DIV, DIV1C * DIV3C}

ADD COLUMN WLR12DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE +DI INDICATOR*/
SET{PDI10down, COUNT(ind(^RUT,PDI(10)) below ind(^RUT,PDI(10)) 8 days ago,1)}
SET{PDI10down10, COUNT(ind(^RUT,PDI(10)) DROPPED MORE THAN 10% OVER THE LAST 8 DAYS,1)}

SET{MA3UP4, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 8 days ago,1)}
SET{MA3UP4_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 10% OVER THE LAST 8 DAYS,1)}

SET{DIV1D, PDI10down * MA3UP4}
SET{DIV2D, PDI10DOWN10 + MA3UP4_1}
SET{DIV3D, COUNT(DIV2D ABOVE 0.5,1)}
SET{PDI10DIV, DIV1D * DIV3D}

ADD COLUMN PDI10DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE AROON UP INDICATOR*/

SET{ARUP6down, COUNT(ind(^RUT,AROON UP(6)) below ind(^RUT,AROON UP(6)) 4 days ago,1)}
SET{ARUP6down4, COUNT(ind(^RUT,AROON UP(6)) DROPPED MORE THAN 4% OVER THE LAST 4 DAYS,1)}

SET{MA3UP5, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 4 days ago,1)}
SET{MA3UP5_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 4% OVER THE LAST 10 DAYS,1)}

SET{DIV1E, ARUP6down * MA3UP5}
SET{DIV2E, ARUP6DOWN4 + MA3UP5_1}
SET{DIV3E, COUNT(DIV2E ABOVE 0.5,1)}
SET{ARUP6DIV, DIV1E * DIV3E}

ADD COLUMN ARUP6DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE LINEAR REGRESSION SLOPE*/

SET{LRS8down, COUNT(ind(^RUT,LRS(8)) below ind(^RUT,LRS(8)) 10 days ago,1)}
SET{LRS8down10, COUNT(ind(^RUT,LRS(8)) DROPPED MORE THAN 10% OVER THE LAST 10 DAYS,1)}

SET{MA3UP6, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 10 days ago,1)}
SET{MA3UP6_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 10% OVER THE LAST 10 DAYS,1)}

SET{DIV1F, LRS8down * MA3UP6}
SET{DIV2F, LRS8DOWN10 + MA3UP6_1}
SET{DIV3F, COUNT(DIV2F ABOVE 0.5,1)}
SET{LRS8DIV, DIV1F * DIV3F}

ADD COLUMN LRS8DIV





/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE Q-STICK INDICATOR*/

SET{QST12down, COUNT(ind(^RUT,QSTICK(12)) below QST(12) 12 days ago,1)}
SET{QST12down2, COUNT(ind(^RUT,QSTICK(12)) DROPPED MORE THAN 2% OVER THE LAST 12 DAYS,1)}

SET{MA3UP7, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 12 days ago,1)}
SET{MA3UP7_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 2% OVER THE LAST 12 DAYS,1)}

SET{DIV1G, QST12down * MA3UP7}
SET{DIV2G, QST12DOWN2 + MA3UP7_1}
SET{DIV3G, COUNT(DIV2G ABOVE 0.5,1)}
SET{QST12DIV, DIV1G * DIV3G}

ADD COLUMN QST12DIV





/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE RSI INDICATOR*/

SET{RSI10down, COUNT(ind(^RUT,RSI(10)) below ind(^RUT,RSI(10)) 12 days ago,1)}
SET{RSI10down3, COUNT(ind(^RUT,RSI(10)) DROPPED MORE THAN 3% OVER THE LAST 12 DAYS,1)}

SET{MA3UP8, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 12 days ago,1)}
SET{MA3UP8_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 3% OVER THE LAST 12 DAYS,1)}

SET{DIV1H, RSI10down * MA3UP8}
SET{DIV2H, RSI10DOWN3 + MA3UP8_1}
SET{DIV3H, COUNT(DIV2H ABOVE 0.5,1)}
SET{RSI10DIV, DIV1H * DIV3H}

ADD COLUMN RSI10DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE RMI INDICATOR*/

SET{RMI82down, COUNT(ind(^RUT,RMI(8,2)) below ind(^RUT,RMI(8,2)) 12 days ago,1)}
SET{RMI82down1, COUNT(ind(^RUT,RMI(8,2)) DROPPED MORE THAN 1% OVER THE LAST 12 DAYS,1)}

SET{MA3UP9, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 12 days ago,1)}
SET{MA3UP9_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 1% OVER THE LAST 12 DAYS,1)}

SET{DIV1I, RMI82down * MA3UP9}
SET{DIV2I, RMI82DOWN1 + MA3UP9_1}
SET{DIV3I, COUNT(DIV2I ABOVE 0.5,1)}
SET{RMI82DIV, DIV1I * DIV3I}

ADD COLUMN RMI82DIV




/*CODING FOR DIVERGENCE BETWEEN ind(^RUT,MA(3)) AND THE STOCHASTICS %D INDICATOR*/

SET{STD325down, COUNT(ind(^RUT,FULL STOCHASTICS %D(3,2,5)) below ind(^RUT,FULL STOCHASTICS %D(3,2,5)) 11 days ago,1)}
SET{STD325down2, COUNT(ind(^RUT,FULL STOCHASTICS %D(3,2,5)) DROPPED MORE THAN 2% OVER THE LAST 11 DAYS,1)}

SET{MA3UP10, COUNT(ind(^RUT,MA(3)) above ind(^RUT,MA(3)) 11 days ago,1)}
SET{MA3UP10_1, COUNT(ind(^RUT,MA(3)) gained MORE THAN 2% OVER THE LAST 11 DAYS,1)}

SET{DIV1J, STD325down * MA3UP10}
SET{DIV2J, STD325DOWN2 + MA3UP10_1}
SET{DIV3J, COUNT(DIV2J ABOVE 0.5,1)}
SET{STD325DIV, DIV1J * DIV3J}

ADD COLUMN STD325DIV

set{x,cmf14div + smi11div}
set{x1,x + wlr12div}
set{x2,x1 + pdi10div}
set{x3,x2 + arup6div}
set{x4,x3 + lrs8div}
set{x5,x4 + qst12div}
set{x6,x5 + rsi10div}
set{x7,x6 + rmi82div}
set{comp,x7 + std325div}
add column comp
draw comp


set{exit1, count(ind(^RUT, close) reached a new 10 day high,1)}
set{exit2, count(ind(^RUT,ROC(15,1)) is below ind(^RUT,ROC(15,1)) 10 day high,1)}
set{exit, exit1 * exit2}

ADD COLUMN EXIT
draw exit
]



But as Kevin stated you'll see that this does not act the same on entries and exits.
You would need to re-optimize the whole filter. I actually have been thinking about that as this means you can go short TZA on a signal. TZA's decay could boost this filter's win rate to over 90%.

Note that the CMF filter will also not trigger here.

StockFetcher Forums · Filter Exchange · TRADING DIVERGENCES ON THE S&P 500<< 1 ... 23 24 25 26 27 ... 33 >>Post Follow-up

*** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.


Copyright 2022 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.