Just for a bit of fun, thought I would play around with a futures system and see how it would perform on the ASX.
The first set of tests were interesting with an initial capital base of $100,000 ended up with something like $0.79c. Back to the drawing board a study of the charts and other systems and came up with what is included below. The short side of the system is not included.
To date the system has been tested over a variety of historical and more recent time frames and universes. Two sets of backtesting results are provided for the period 1/01/2006 to 30/04/2007. One covers the entire ASX and the second covers the ASX300.
The system is currently being forward tested into the live market.
As usual the system is provides as is for testing purposes and the usual caveats apply. Do your own testing and research.
// Test System 48 HHV & 12 LLV Long & Short
// Define buy conditions and name each one as a variable
PositionSize = -10; // always invest only 10% of the current Equity
Highest10Periods = Cross(H,Ref(HHV(H,10),-1)); // When todays high crosses last highest high over the last 10 periods
EMAConditionLong = H > EMA(C,40); // Todays high is greater than the 40 day Exp MA of closes
Highest48Periods = HHVBars(H, 48) == 0; // Todays high is the highest for 48 periods
Lowest48Periods = LLVBars(L, 48) == 0; // Today's low is the lowest for 48 periods
VolumeCondition = EMA(V * C, 21) > 500000; // Ensure at least $500k of money flow
ValueCondition = C < 10.00; // Only trading in stocks less than $10
CloseConditionLong = C > O; // Todays close higher than open
// Trigger buy if all conditions satisfied
BuySig = EMAConditionLong AND Highest48Periods AND VolumeCondition AND ValueCondition AND CloseConditionLong AND Highest10Periods;
//Sell Condition Lowest Low for 12 periods
SellSig = LLVBars(L, 12) == 0;
Buy = ExRem(BuySig, SellSig);
Sell = ExRem(SellSig, Buysig);
/* Short Conditions
not included as part of this example
// Define Stop Condition(s)
ApplyStop( stopTypeLoss, stopModePercent, amount = 10 );
// Define what gets displayed on the chart
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy , colorYellow, colorRed ), 0, IIf( Buy , Low, High));
Filter = Buy OR Sell;
/* lists exploration results conforming to our buy/short criteria */
AddColumn(Buy, "Buy", 1.0); //
AddColumn(Sell, "Exit Buy", 1.0);
AddColumn(Low, "Low", 1.3); //
AddColumn(High, "High", 1.3); //
AddColumn(Close, "Close", 1.3); //