Hi Traders,
This is my primary trading journal. I had started a journal during a February challenge which you can find here (. My intent is to continue on my journey and I will track my progress and activities here. Today's post is a bit verbose as I am catching up on activities to date. Further updates will be a more tactical and concise.
Soooo... where am I as of today with my journey.
I am continuing on my preparation for going-live again. My goal is to be live with a fully-automated (not-unattended mind-you) system around August/September. The shift from discretionary to automation is clearly because puters never get tired and for myself it is far easier to remove myself psychologically. If the "system" enters the market and encounters a loss, I will not get into a negative feedback cycle (How did you do this/that, etc.). Which from my previous experience just ends up in a self-destructive pattern and blowing up.
Currently I am:
Evaluating my discretionary indicators and porting over to a formal mixed regime trading strategy in MultiCharts w/Easy Language for automated trading. The regimes that I am building are:
- Reversion short
- Reversion long
- Trend short
- Trend long
- All protected by bracket stop/target with trailing stop
I am following a process of:
1. Document regime basis/definition (i.e. strategy definition). Write down in simple language what I want to try to capture as my edge.
2. Write/refine the initial code/logic
3. Run a baseline backtest & optimization. Run through many variable permutations and analyze for something that looks plausible with positive results (high net PnL, high profit factor, etc.)
4. If results ok, move on to walk-forward testing. If fail then go back to step 2 or abandon entirely and go back to step 1.
5. Conduct walk-forward testing so as not to over-fit and burn the data.
6. Analyze results, take the best and capture as the combination to test in demo mode during regular trading session.
7. Analyze and determine if will continue to live or go back to previous steps.
8. Go-live!
I started this process with working on a reversion short regime. And as of last week I finished step 7. I am comfortable with its performance in demo and I will no longer be making adjustments to it. I am now working on copying that logic and turning it into the reversion long regime. Once that is complete and tested (estimated by end of this week) I will run both in demo and track the results. And in parallel I will build out the protective stop/trailing logic. Note, when in demo I will use static target and stop while I am working on the dynamic target/stop logic.
Following are some bits of information that I have come across during this first iteration and my continuing research. These are on many different topics and what I have decided to do (or not).
1. Backtesting is resource intensive!
My dang puter (which isn't too bad), is unable to complete the backtesting/walkforward evaluations in a timely manner. This poor performance was also compounded by trying to run the regime evaluations with [IntrabarOrderGeneration = true]. The volume of data for evaluation was too much. Which also leads to taking the K.I.S.S. approach. I wanted to use every available tick to evaluate the rules. But it got to a point where the walk-forward run was going to take 2 days to test the variable combination! No, that won't do. Well.... more data is not necessarily better. So I had to adapt. First, I opted not to use the intrabar magnifier both for testing and live. Second, I opted to use the genetic testing to refine the variable combinations more quickly. Thirdly, I then took the refined variable sets and evaluated using the exhaustive (non-genetic) approach to run through additional permutations.
2. Regime logic updates
- Added an ok2trade flag to eliminate trading when too slow, trade only during AM or PM sessions avoiding lunch.
- Converted my regime indicator logic to binary flags. Which means I am not evaluating the actual indicator values but …