So here is the result for a system purely based on an indicator (RSI 20). Here are the rules in simple words taken form the description that came with the system:
This script scales into a stock's decline, using the Relative Strength (RSI) indicator. It opens a new position whenever RSI crosses below 30, 25, 20, 15, 10, and 5. It closes all positions when RSI crosses above 55. It appears to be very efficient and profitable on the Dow 30 and other large cap stocks, but admitedly it would be hard to stomach trading this one.
I pasted the original code at the end of this post.
RESULTS FOR THE PAST 5 YEARS
152 - trades
74% - winners
6.99% - average profit
10.38 - annualized gain
32.44 - Wealth-Lab Score (B&H was 0.63) the bigger the better.
For more details see the equity curve.
TEST SETUP
Start capital - 100.000
Position Seize - 5% of the overall equity
Test period - 5 years
Data - daily
Would I trade the system?
Mmmhhhh, I guess Iwould do a lot more research and test a few more things, but ....
Here is the code:
var BAR, N: integer;
for Bar := 21 to BarCount - 1 do
begin
n := 30;
while n > 0 do
begin
if CrossUnderValue( Bar, RSISeries( #Close, 20 ), n ) then
BuyAtMarket( Bar + 1, IntToStr( n ) );
n := n - 5;
end;
if CrossOverValue( Bar, RSISeries( #Close, 20 ), 55 ) then
for n := 0 to PositionCount - 1 do
if PositionActive( n ) then
SellAtMarket( Bar + 1, n, '' );
end;
var RSIPane: integer;
RSIPane := CreatePane( 75, true, true );
PlotSeries( RSISeries( #Close, 20 ), RSIPane, 205, #Thick );
DrawLabel( 'RSI( Close, 20 )', RSIPane );
AddScanColumn( 'RSI20', RSI( BarCount - 1, #Close, 20 ) );
{$I 'Profit Pane (Bottom)'}