StockFetcher Forums · Filter Exchange · RSI(2) < 1 and General Market Direction, 259% ROI<< >>Post Follow-up
__fetcheruser123
msg #44865
Ignore __fetcheruser123
6/11/2006 3:49:09 AM

No stops, nothing fancy. Just to show you all how you can use general market direction to improve upon your filters.

Stop Loss: N/A
Profit Stop: N/A
Trailing Stop Loss: N/A
Minimum Holding Days: N/A
Maximum holding days: N/A
Exit Trigger #1:
set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }
QQQQtest + DIAtest + SPYtest < 2



Approach Information
Approach Name: set{NDtest, count(ind(QQQQ,close) above ind(QQQQ,M...
Test started on 12/31/2004 ended on 06/09/2006, covering 362 days
Filter used:
set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

QQQQtest > 0
DIAtest + SPYtest > 0

rsi(2) < 1

Trade Statistics
There were 3975 total stocks entered. Of those, 3975 or 100.00% were complete and or 0.00% were open.
Of the 3975 completed trades, 1831 trades or 46.06%resulted in a net gain.
Your average net change for completed trades was: 1.46%.
The average draw down of your approach was: -3.27%.
The average max profit of your approach was: 4.53%
The Reward/Risk ratio for this approach is: 1.86
Annualized Return on Investment (ROI): 359.77%, the ROI of ^SPX was: 2.18%.

Exit Statistics
Stop Loss was triggered 0 times or 0.00% of the time.
Stop Profit was triggered 0 times or 0.00% of the time.
Trailing Stop Loss was triggered 0 times or 0.00% of the time.
You held for the maximum period of time ( days) 0 times or 0.00% of the time.
An exit trigger was executed 3975 times or 100.00% of the time.

Statistics By Holding Period
 Completed2 day chg5 day chg10 day chg25 day chg40 day chg
Winners:183118601957194619671873
Losers:167217361729179817821680
Win/Loss Ratio:1.09:11.07:11.13:11.08:11.10:11.11:1
Net Change:1.46%1.83%2.85%3.24%6.70%5.98%

Statistics By Variable: Match Price
 <300<600<900<1200<1500<1800<2100<2400<2700<3000
Completed1830:1671--------1:1
2 day chg1859:1735--------1:1
5 day chg1956:1728--------1:1
10 day chg1945:1797--------1:1
25 day chg1965:1782--------2:0
40 day chg1872:1680--------1:0

Statistics By Variable: Average Volume
 <20.0M<40.0M<60.0M<80.0M<100.0M<120.0M<140.0M<160.0M<180.0M<200.0M
Completed1816:16589:84:21:4-----1:0
2 day chg1846:17229:73:31:4-----1:0
5 day chg1944:17138:94:20:5-----1:0
10 day chg1929:178810:64:12:3-----1:0
25 day chg1956:17657:104:10:5-----0:1
40 day chg1865:16634:112:22:3-----0:1



TheRumpledOne
6,362 posts
msg #44877
Ignore TheRumpledOne
6/11/2006 3:00:44 PM

I think I learned something new...


DIAtest + SPYtest > 0 works!

I thought that a SET statement was required but from testing it looks like this works!

Thanks!


TheRumpledOne
6,362 posts
msg #44876
Ignore TheRumpledOne
modified
6/11/2006 3:01:56 PM

*** UNDER CONSTRUCTION ***


Fetcher[
set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

QQQQtest > 0
DIAtest + SPYtest > 0

rsi(2) < 1

and add column QQQQtest
and add column DIAtest
and add column SPYtest
]



Fetcher[
set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

set{combo, DIAtest + SPYtest }

QQQQtest > 0
combo > 0

rsi(2) < 1


and add column QQQQtest
and add column DIAtest
and add column SPYtest

and DRAW QQQQtest
and DRAW DIAtest ON PLOT QQQQtest
and DRAW SPYtest ON PLOT QQQQtest

]



I didn't think DIAtest + SPYtest > 0 worked so I tested it.





TheRumpledOne
6,362 posts
msg #44878
Ignore TheRumpledOne
modified
6/11/2006 3:18:41 PM

Fetcher[
/* RSI(2) < 1 WITH QQQQ X MA(40) */

set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

set{QQQQDiff, ind(QQQQ,close) - ind(QQQQ,MA(40)) }

set{combo, DIAtest + SPYtest }


set{QQb,days( ind(QQQQ,close) above ind(QQQQ,MA(40)) ,100)}
set{QQa,days( ind(QQQQ,close) below ind(QQQQ,MA(40)) ,100)}
set{Qx40, QQa - QQb}



rsi(2) < 1

and add column Qx40
and add column QQQQDiff

and add column QQQQtest
and add column DIAtest
and add column SPYtest

and DRAW QQQQtest
and DRAW DIAtest ON PLOT QQQQtest
and DRAW SPYtest ON PLOT QQQQtest

close above 20
average volume(5) above 1000000
average volume(30) above 1000000

MARKET IS NASDAQ

/* date offset is 23 */
]



Testing on NASDAQ stocks only.

The column Qx40 is how many days the QQQQ is above/below its MA(40). You can use this in the filter to determine if when to enter/exit the trade.

QQQQDiff is the close of QQQQQ minus the QQQQ MA(40). As the number tends to 0, it tells you the current trend is stalling.

I plotted the 3 test variables on the same chart so you could see the effect of the interaction.

Since MA(50) and MA(200) are standard, I assume the MA(40) is a faster trigger that allows you to be ahead of the crowd.

Nice work!!





TheRumpledOne
6,362 posts
msg #44879
Ignore TheRumpledOne
modified
6/11/2006 3:32:59 PM

Fetcher[
/* RSI(2) < 1 WITH STOCKHOLYGRAILS EMA(13) X EMA(26) AND CLOSE X EMA(5) */

set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

set{QQQQDiff, ind(QQQQ,close) - ind(QQQQ,MA(40)) }

set{combo, DIAtest + SPYtest }

set{QQb,days( ind(QQQQ,close) above ind(QQQQ,EMA(5)) ,100)}
set{QQa,days( ind(QQQQ,close) below ind(QQQQ,EMA(5)) ,100)}
set{Qx5, QQa - QQb}

set{QQQb,days( ind(QQQQ,EMA(13)) above ind(QQQQ,EMA(26)) ,100)}
set{QQQa,days( ind(QQQQ,EMA(13)) below ind(QQQQ,EMA(26)) ,100)}
set{Q13XQ26, QQQa - QQQb}

rsi(2) < 1

and add column QX5
and add column Q13XQ26

and add column QQQQtest
and add column DIAtest
and add column SPYtest

and DRAW QQQQtest
and DRAW DIAtest ON PLOT QQQQtest
and DRAW SPYtest ON PLOT QQQQtest

and draw QX5
and draw Q13xQ26 on plot QX5

close above 20
average volume(5) above 1000000
average volume(30) above 1000000

MARKET IS NASDAQ

/* date offset is 23 */
]



Using what StockHolyGrail taught me... EMA(13) crossing above/below EMA(26) as a trend indicator.

I combined this with the close crossing above/below EMA(5) study.

If you look at the plot, you can see how this gives a timing signal when the line(s) crosses above 0.

MAY ALL YOUR FILLS BE COMPLETE.


__fetcheruser123
msg #44893
Ignore __fetcheruser123
6/12/2006 10:25:33 AM

No real reason behind the 40. It was just what worked best in the series of backtests I ran. I tried ranges between 20 and 50, 30 worked best from 2004-2006, 50 worked best from 2002-2004. 40 was about middle ground for all 4 years.


__fetcheruser123
msg #44894
Ignore __fetcheruser123
6/12/2006 10:29:45 AM

Here's the backtest results of your latest post, TRO.

Approach Information
Approach Name: /* RSI(2) < 1 WITH STOCKHOLYGRAILS EMA(13) X EMA(...
Test started on 12/31/2003 ended on 06/29/2004, covering 123 days
Filter used:
/* RSI(2) < 1 WITH STOCKHOLYGRAILS EMA(13) X EMA(26) AND CLOSE X EMA(5) */

set{QQQQtest, count(ind(QQQQ,close) above ind(QQQQ,MA(40)),1) }
set{DIAtest, count(ind(DIA,close) above ind(DIA,MA(40)),1) }
set{SPYtest, count(ind(SPY,close) above ind(SPY,MA(40)),1) }

set{QQQQDiff, ind(QQQQ,close) - ind(QQQQ,MA(40)) }

set{combo, DIAtest + SPYtest }

set{QQb,days( ind(QQQQ,close) above ind(QQQQ,EMA(5)) ,100)}
set{QQa,days( ind(QQQQ,close) below ind(QQQQ,EMA(5)) ,100)}
set{Qx5, QQa - QQb}

set{QQQb,days( ind(QQQQ,EMA(13)) above ind(QQQQ,EMA(26)) ,100)}
set{QQQa,days( ind(QQQQ,EMA(13)) below ind(QQQQ,EMA(26)) ,100)}
set{Q13XQ26, QQQa - QQQb}

rsi(2) < 1

and add column QX5
and add column Q13XQ26

and add column QQQQtest
and add column DIAtest
and add column SPYtest

and DRAW QQQQtest
and DRAW DIAtest ON PLOT QQQQtest
and DRAW SPYtest ON PLOT QQQQtest

and draw QX5
and draw Q13xQ26 on plot QX5

close above 20
average volume(5) above 1000000
average volume(30) above 1000000

MARKET IS NASDAQ

/* date offset is 23 */

Trade Statistics
There were 103 total stocks entered. Of those, 102 or 99.03% were complete and 1 or 0.97% were open.
Of the 102 completed trades, 60 trades or 58.82%resulted in a net gain.
Your average net change for completed trades was: 0.63%.
The average draw down of your approach was: -2.13%.
The average max profit of your approach was: 2.67%
The Reward/Risk ratio for this approach is: 1.65
Annualized Return on Investment (ROI): 156.24%, the ROI of ^SPX was: 4.81%.

Exit Statistics
Stop Loss was triggered 0 times or 0.00% of the time.
Stop Profit was triggered 0 times or 0.00% of the time.
Trailing Stop Loss was triggered 0 times or 0.00% of the time.
You held for the maximum period of time ( days) 0 times or 0.00% of the time.
An exit trigger was executed 102 times or 100.00% of the time.

Statistics By Holding Period
 Completed2 day chg5 day chg10 day chg25 day chg40 day chg
Winners:606056475146
Losers:424345565257
Win/Loss Ratio:1.43:11.40:11.24:10.84:10.98:10.81:1
Net Change:0.63%0.56%0.45%-0.45%-0.15%-3.75%

Statistics By Variable: Match Price
 <20<25<30<35<40<45<50<55<60<65
Completed1:017:924:156:74:52:22:12:12:2-
2 day chg1:017:922:177:76:33:11:21:22:2-
5 day chg1:015:1119:205:86:33:12:13:02:1-
10 day chg0:111:1520:194:104:53:12:13:00:4-
25 day chg0:115:1124:155:94:51:31:21:20:4-
40 day chg0:114:1221:184:103:61:30:33:00:4-

Statistics By Variable: Average Volume
 <10.0M<20.0M<30.0M<40.0M<50.0M<60.0M<70.0M<80.0M<90.0M<100.0M
Completed54:373:0---2:51:0---
2 day chg54:382:1---3:41:0---
5 day chg50:403:0---2:51:0---
10 day chg44:482:1---0:71:0---
25 day chg48:441:2---1:61:0---
40 day chg38:542:1---5:21:0---



TheRumpledOne
6,362 posts
msg #44898
Ignore TheRumpledOne
6/12/2006 1:42:04 PM

thanks


StockFetcher Forums · Filter Exchange · RSI(2) < 1 and General Market Direction, 259% ROI<< >>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 2016 - 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