This is my first trading system ever -- I have only worked with investing systems before this. I have yet to back test it -- mainly because I am on a Mac at the moment and do not have the software. I wanted to get some input before I went forward and back tested it.
The system is based on the theory of trend (first derivative of the price curve) and momentum (second derivative of the price curve).
For my system, I use a 1 minute chart and a 50 period moving average to represent my price curve.
At any given moment, I look at the direction of the 50 period moving average to get the current trend.
To find momentum, I take the current value of the MA and compare it to the value of the MA 13 periods ago (~50/4).
If I use the reading of 13 periods ago as T=0 and the current period as T=13, I can create a line representing the curve. The two points are (D0, 0) and (D1, 13). Using these two points, I can calculate the angle of the trend, which I use to represent the current momentum (instead of an arbitrary value). The angle is asin(13/(abs(d0-d1))).
Based on this angle, I buy contracts.
@ angle = 0, I have no contracts.
@ angle = 15 degrees, I purchase 1 contract lot.
@ angle = 30 degrees, I purchase 2 contract lots.
@ angle = 45 degrees, I purchase 3 contract lots.
@ angle = 60 degrees, I purchase 4 contract lots.
@ angle = 75 degrees, I purchase 5 contract lots.
As long as the angle remains above the purchase threshold, I hold the contract. Once the angle decreases, I sell that lot of contracts. So if the current angle is 33 degrees, I should be holding 3 contract lots. If we go to 46 degrees, I buy 3 more lots, giving me a total of 6. If the angle goes to 44 degrees, I sell the recent 3, to pare back down to only 3 lots.
The only real issue I can see in this system is when large spikes occur.
I take this into consideration by creating a fault system. It works by averaging the distance between price and the moving average for the last 50 periods (aka the length of our moving average). If the current distance between price and the moving average exceeds this average by a certain delta amount (to be determined ... for the moment, I think using 3x the std deviation of the average makes sense), we halt trading (selling any contracts we are holding) for 50 periods (aka the length of our moving average).
Thoughts? It is obviously quite simple ... but in my mind, the simpler the better. It is a simple system based on buying trend and increasing exposure the stronger the trend. Once the system runs across a situation it doesn't understand, it exits the market and waits until it gets back into a situation it can understand (namely when volatility decreases).
Thanks for reading!
-C
The system is based on the theory of trend (first derivative of the price curve) and momentum (second derivative of the price curve).
For my system, I use a 1 minute chart and a 50 period moving average to represent my price curve.
At any given moment, I look at the direction of the 50 period moving average to get the current trend.
To find momentum, I take the current value of the MA and compare it to the value of the MA 13 periods ago (~50/4).
If I use the reading of 13 periods ago as T=0 and the current period as T=13, I can create a line representing the curve. The two points are (D0, 0) and (D1, 13). Using these two points, I can calculate the angle of the trend, which I use to represent the current momentum (instead of an arbitrary value). The angle is asin(13/(abs(d0-d1))).
Based on this angle, I buy contracts.
@ angle = 0, I have no contracts.
@ angle = 15 degrees, I purchase 1 contract lot.
@ angle = 30 degrees, I purchase 2 contract lots.
@ angle = 45 degrees, I purchase 3 contract lots.
@ angle = 60 degrees, I purchase 4 contract lots.
@ angle = 75 degrees, I purchase 5 contract lots.
As long as the angle remains above the purchase threshold, I hold the contract. Once the angle decreases, I sell that lot of contracts. So if the current angle is 33 degrees, I should be holding 3 contract lots. If we go to 46 degrees, I buy 3 more lots, giving me a total of 6. If the angle goes to 44 degrees, I sell the recent 3, to pare back down to only 3 lots.
The only real issue I can see in this system is when large spikes occur.
I take this into consideration by creating a fault system. It works by averaging the distance between price and the moving average for the last 50 periods (aka the length of our moving average). If the current distance between price and the moving average exceeds this average by a certain delta amount (to be determined ... for the moment, I think using 3x the std deviation of the average makes sense), we halt trading (selling any contracts we are holding) for 50 periods (aka the length of our moving average).
Thoughts? It is obviously quite simple ... but in my mind, the simpler the better. It is a simple system based on buying trend and increasing exposure the stronger the trend. Once the system runs across a situation it doesn't understand, it exits the market and waits until it gets back into a situation it can understand (namely when volatility decreases).
Thanks for reading!
-C