Highlights
-
- Fuzzy logic. A key requirement as each exchange produces its own unique footprint of price action that is not exactly the same as others.
- Example: A classic swing high level could be broken with a bullish engulfing candle on Coinbase, but not on Binance.
- Fully customizable and modular with up to 17 modules to configure.
- Strategic profit-taking based on momentum stop and go principles.
- Strategic Pyramiding based on trend strength and market structure.
- Prevents reversal set-ups from triggering bad trades with “leading” early trend recognition without using moving averages directly(lagging indicators).
- Smart Stop Loss and Fail Safe for extreme market movements.
- Over 4,000 hours of development and backtesting and absolutely ZERO “repainting”.
This all sounds nice, but does it work, is it profitable, and how much oversight does it need?
Yes, yes, and not much really. In fact, it’s best to not watch it. I confess this has been my biggest battle of the project, to not interfere. It wasn’t until I started learning the statistics behind losses that I was able to let go and accept them as they fall into the statistical range. However, it is like bad smoking habit, sometimes I can’t get out of my own way and interfere when I shouldn’t.
Trading Modules & Set-Ups
-
- Invalid Market Structure Strategy
- Auto-Correcting of Fakeouts
- Dynamic Volatility SmartStop
- VPT Bounce, Reject, and XO/XU Strategy (So lucky to have figured this out, retail still hasn’t stumbled upon this, it’s special sauce for sure.)
- Over 100 Set-ups, leveraging only the highest hit rates based on backtesting Bitcoin and Ethereum to nauseam.
- Demark Sequential Exhaustion baked in
- Volatility Breakout & Push/Pull
- Liquidity Staircase Strategy
- VBL/VBS Mean Reversion
The Soft Art of BackTesting and A Glimmering Hope of a World to Win
So much can be said on this topic, however, for what it’s worth, I’ve done my best to test in ways that DO NOT skew results in my favor. I’ve probably backtested over 10,000 times or more, every change is backtested across multiple tickers and some times time frames. My intent though is to understand behavior, spot weaknesses, and generate consistent results along all market conditions of an asset. I believe my experience in FEA (Finite Element Analysis) simulations in mechanical engineering has been helpful. When simulating stress and deflection for example, it’s not about the exact number or answers it produces (i.e. the part will deflect .10239 inches), it’s about interpreting the behavior and performance to make improved design decisions, spotting weakness, gauge performance and gain insights you couldn’t see on the surface, just like in backtesting. Applying this same approach made sense. I made sure to not test on the actual exchange to be traded, not leverage compounding or pyramiding (save those for the cherry on top), and focusing on generating a consistent curve that grinds steadily up and to the right across every exchange available for either Bitcoin or Ethereum. It’s easy to fool oneself with backtesting and I only learned all this the hard way, by losing my precious dollars.
What about Curve Fitting?
A controversial subject that I believe academics and the real world have a small overlap in the Venn diagram. I’ve researched a lot and probably have over 10k backtests under my belt while having my own precious dollars on the line. Like FEA, the numbers from any backtest are just a gross estimate and at the end of the day, what does the trade history say on the exchange after running for three months? That’s what matters, because it’s all an illusion until it is running live. The good news is that this Algo isn’t just a few basic concepts where changing a threshold or value throws the results off. Testing Bitcoin on 9 different exchanges, that have their own unique price action seems to be the best solution in this situation. Furthermore, when I’m concerned about it, I insert randomization to try to blow it up. If the randomization does blow things up, then whatever I’m working on is nixed or reworked to the point it doesn’t; I’m sure I have much to learn on this subject, however I’m too addicted to developing new trade strategies.
What are the most valuable lessons you’ve learned?
-
- Candlesticks must be interpreted differently across time frames, there is more insight baked into the candlestick on higher time frames, and I’ve discovered that certain types of candlesticks can be interpreted differently due to the time frame, asset, liquidity, and market size.
- I’ve actualized better results from continuous development while trading live with real money; the account size must be meaningful enough to drive one’s best work, yet low enough to not inspire one to interfere with the trades manually.
- Half the battle is in the mechanical execution, risk management, and basic trade system, not the entries/exits; I should have started there.
- Backtesting the same asset across different exchanges is mandatory. Each asset and each exchange represent different market participants, timeframes, liquidity, and volatility. This one lesson serves up volumes of learning and insights; it increases the backtesting workload 10x, but is worth it.
- Start every new trade set-up as simplified as possible to ensure it has a meaningful hit rate first. Then dig deeper into its behavior versus expectations to converge on optimal conditions for a high win rate for the specific set-up.
- To learn and understand the math behind any indicator I use and don’t rely on popular indicators. Instead, I opted to create my own solutions, even if I was reinventing the wheel. By understanding the math, it can be used properly and/or in new and unique ways; blindly following what even the greats say will only end in losses that can’t be understood.
- This game is insane, fascinating and energizing. I wish started this 20 years ago and have so much to learn, by no means do I feel I have anything figured out.
Background
I had the audacity to think I could grow money on trees developing my own trading bot when Covid hit in March 2020; what started as a fun project, evolved into an obsession. But wait, I’m a Mechanical Engineer, not a programmer? Actually, I’ve been programming in a variety of flavors since the mid-90s. From automating manufacturing floors with 386 Pentium computers to programming electro-mechanical products, ladder logic for petrochemical systems, database enterprise operations software, PIC controllers when needed, 3D design software, and producing songs in my recording studio…turns out, I’ve always been programming and never thought about it in that way until now.
I’ve also survived trading for the past six years ( two -85% crashes / bear markets) without blowing myself up too badly along the way. It’s been a gnarly rollercoaster and trading has probably been the fourth most difficult life pursuit I have embarked upon as an adult when compared to road racing motorcycles at the highest levels in the USA, surfing for 14 years, and TRAD climbing in Yosemite. I love it, I find it fascinating and really stimulates my mind.
I kicked off this personal project proper and professional, with a full requirements document, flow charts, decision trees (haha), concept spreadsheet programming, and then in Python with an old colleague to do the heavy coding. I thought I had it all figured out…Nope, executing the basic Algo in Python was the easy part and after three months, I realized it’s just like designing a new product in Solidworks (3D CAD). Ninety percent of the time is spent “editing”, ten percent is creating the original concept; our pace of development was killing me. We had the trading engine, database, and were trading live with profits trickling in, but the friction to iterate was too great and the backtesting dataset we were building was not sufficient. So I quickly learned some basics in Pine Script in TradingView, and boom, I was testing and exploring 50 different ideas across endless datasets in a week’s time while it took three weeks for a single iteration with the colleague and Python.
Best decision ever, one can get deep and crazy in TV pine script coding, and I’m leveraging more than I thought I ever would. Let’s put the record straight, I am an amateur who has learned just enought to be dangerous at times, however I am super pleased with the libraries I created, the functions and integrating them into the Algo as well as the orginization of the code following the best pracitces I’ve learned so far.
So as this adventure evolved, it quickly became obvious that the likelihood of meeting my performance expectations was a pipe dream. I was naive and arrogant to think I could do what most others could not, my own past performance is no guarantee of future results. I further realized that most market participants twisted common and well known indicators into an infinite myriad of signals that are at best, Neanderthal in their effectiveness to actualize consistent profitability. In reality, they offer zero edge.
Today, my opinion is that the few traders, Algos and bots that do achieve profitability outside of the hedge funds and teams with great resources, achieve it more from a unique version of mechanical execution based on a proven risk management scheme, not from outsmarting market participants or my approach presented here.
Jack Schwagger and all the Market Wizards would surely disagree with that last statement. It could be my own cope, amazing folks have created edge and if there is any edge here, it is because I do not us traditional signals or indicators, I created my own to identify trends, breaking down their phases, momentum, and volatility in my unique way.
All in all, this project has two years of 4-10 hours a day of development, backtesting, and hair-pulling from live testing with my own money at risk. The results profitability results are not what the backtesting is showing, so I have more work to do!