Simple S/R based intraday ES strategy -- comments?

Discussion in 'Strategy Building' started by DeepThought, Dec 30, 2008.

  1. Success! Or at least first step :)

    I have implemented a simple version of my strategy in NinjaTrader. Strategy works on 1-tick resolution and displays the results on a 1-minute bar chart for clarity. Steps are:

    - Reads active S/R lines for the day from a text file
    - When zone surrounding S/R line is hit trade 2 positions
    - Position 1: Target 8 pts, stop-loss 2 pts
    - Position 2: Target 12 pts, stop-loss 2 pts
    - When position 1 target is reached, move position 2 stop-loss to B/E
    - Close all positions at the end of the day

    Rules for taking the trade are:

    - Direction of the trade is opposite of the last 1min bar direction (up bar -> short trade)
    - Do not take a trade until 15 minutes has passed since last trade (noise reduction)

    All this seems to work reasonably well. Sometimes the system takes a "stupid" trade, but I got most of the obvious bugs out of the code.

    Entering the S/R lines takes some time, I have to be careful to move only forward in time so I don't enter the lines with hindsight. So far I have 4 months done (3/2008 to 6/2008) and I've run some backtests and parameter (stop/target/zone) optimizations over different 2-8 week periods within it:

    - Average performance seems to be pretty stable 7% / month (in points)
    - With the IB margin req of $6,188 this comes to real profit of 35% / month with commissions

    For one 8 week stretch that was pretty representative the stats were:

    - 248 trades, i.e. 6 trades / day
    - 30% of trades are profitable (ouch!)
    - Average winner:loser is 3.75 to 1 (nice!)
    - Max. drawdown -3.80% or 20% of the margin requirement (capital)

    Ok, I realize that with just 4 months of data this does not mean anything -- but to me it at least shows that there is some promise in the system. I'll need to enter some more S/R lines so I have longer test periods. And then there are plenty of things to do, based on my observations and the suggestions by all of you:

    - Optimize stop/target over more data
    - Look into adaptive stop based on ATR or something else
    - Look into adaptive stop based on time of the day volatility
    - Determine trend direction to filter out trades or change target size
    - Determine momentum strenght to filter out trades
    - ...

    I'm planning to test as follows:

    - Time periods of 1, 2 and 3 months
    - Time periods starting on 1st, 2nd and 3rd week of the month to avoid cyclical behaviour
    - Alternating backtest/optimization and forward test

    I'm a bit unclear on how best to do optimization of the parameters. Let's say I optimize over Jan and Feb and then test over March and April to find out it doesn't work. Then what? Optimize over March and April and backtest over next months ... what do I do with the old values?

    Maybe I should optimize over all 2 month periods, and then backtest the values over ALL 2 month periods and select the ones that work best for all of them? Or best on average. Or best without too much risk (drawdown)? Or...

    All you experts, please let me know if you see I'm doing big mistakes or missing something in my testing. I'm going to crash now, my brain is overheated...

    ==DT==
     
    #21     Jan 4, 2009