I said it here and here and here. The biggest issue with my Dominari is trading costs. Things aren’t going to really take off until I do one of two things.
- Reduce the trading costs
- Make more money on each trade
I’ve been working on Dominari since around September or October of last year. After racking my brain for months, I more or less wrote off the idea of improving the trade profitability.
That suddenly changed last week on Friday after the market closed. The best reason to trade my own systems live is that the agony of underperforming forces creativity. The feeling reminds me a lot of Daymond John’s (the guy from Shark Tank) new book the Power of Broke. When life isn’t going your way, it’s the resourceful and creative who are best able to get to the top.
Nobody wants to feel broke or under extreme stress. As much as we hate those feelings, they’re often the strongest drivers of performance. That’s how I feel right now with Dominari. I’m so close to getting there and wasn’t sure how to fix that missing ingredient.
If it weren’t for that stress, I would not have had my simple but very powerful insight last Friday.
And please don’t laugh. The change is so dumb and obvious that you’re going to wonder what’s wrong with me. When you’re in the thick of designing a system, the ugly truth is that sometimes you get lost in the weeds. Or to use another botany metaphor, you only see the trees instead of the forest.
My key insight was to slightly modify the exit strategy to use limit orders, whereas previously I only exited based on the close of the bar. I noticed two repeated behaviors that finally beat me over the head enough that the point finally sank in.
The number of occasions where my trade closed in the optimal location seemed to be significantly outweighed by the amount of money left on the table. The key insight for me was realizing where to optimally place that limit order. And for those of you on my newsletter, it happens to be closely related to the Auto Take Profit that I’ve been talking about all week.
Backtest assumptions and results
My operating mantra when doing backtests is to minimize the number of assumptions. Spreads for retail traders have changed dramatically from 2008 to today. I remember working as a broker at FXCM when our typical spread on GBPCHF was something like 8-9 pips. I now routinely pay something like 2 pips. It’s impossible to model what happened in the middle without haphazardly guessing.
I find it far more convincing to analyze the raw signal, both on historical and recent market data, then to interpret whether trading costs are likely to be favorable in today’s markets. “Raw signal” is the ideal signal, one which assumes perfect execution, no slippage, no rollover, no spreads and no commissions. The natural result is that you’re overstating historical performance, but the benefit is that you have a very clear idea whether the core idea is a system capable of predicting the market with reasonable risks.
The total leverage employed in the portfolio is 7:1. If I have a $50,000 trading account and held a position in every currency pair in the portfolio, then the notional value of those trades would equal $350,000 (50k * 7).
Another key point is that I used a fixed position size of $12,500 per trade. The size of the trade never increases or decreases during the backtest, which allows me to isolate the impact of the raw signal without adding the variable of money management.
Here are my trade metrics with version 1 of Dominari. Click the images to view them in full size.
After here’s the change with Dominari version 2.0.
My best case scenario was to hope that the profit factor would jump another 10 points or thereabouts, maybe stretching the profit factor to 1.35 or thereabouts. It’s incredibly exciting to see the edge over breakeven more than double (going from a $0.26 edge to a $0.59 cent edge).
What I’m most excited about is the skew in the returns. Most mean reversion systems look for an edge but are overwhelmed with the impact of losing trades. That was the case with version 1.
This new version of Dominari is the very first mean reversion strategy that I’ve ever developed where the winning tails (ie, the biggest winners) nearly equal the losing tails (the biggest losers). It’s almost always the opposite with mean reversion strategies. Said another way, the risk profile of the extreme outcomes significantly improved with version 2.
And the metric that most traders care about the most, drawdown, is wildly improved. Version 1 showed a drawdown of 5.72%. The new version is a fraction of that at 1.77%.

The out of sample performance is nearly identical to the in sample performance, despite significantly different market conditions.
When I walked my test out of sample onto recent data, covering 2013-2015, the performance characteristics of version 2 are nearly identical to the in-sample test. The profit factor was identical at 1.59, and the max drawdown was 2.01% for 2013-2015.
Translating the theoretical into expected performance parameters
Again, those metrics above are in the ideal world of perfect execution and no trading costs. The real world performance will have lower returns and higher drawdowns. The advantage to having live trade data is that I can now make some kind of intelligent estimate of my expected trade accuracy and profit factor. Just how overstated are the idealized returns likely to be?
The process that I went through to calculate the expected profit factor in the real world is a 5 step process. I don’t think it’s going to make any sense if I try to write out the steps in conversational English. Instead, I’ve chosen to share a spreadsheet where you can view the step by step process for how extrapolating live trading data into expected performance with the new strategy. Click here to view the spreadsheet.
The expected profit factor for my live trading is expected to be between 1.29 to 1.39. The expected percent accuracy for live trades should jump from 62.55% to 70.8%.
The traders who will get first crack at the Total Access Apprenticeship are those are subscribed to the free newsletter. If you’re not signed up, make sure to fill in your email address in the orange box at the top right of this page.
I don’t get how your spreadsheet gets you from raw data to expected performance. I don’t see how slippage, rollover, spreads and commissions are factored in. Why can’t you break those out and apply each to the trade cost from the raw data to get a more realistic expected performance?
Because the 3rd row already includes all of those things. I use the hypothetical performance of version 1 and compare it to the real performance of version 1. The difference in profit factor and outcome per trade is the actual difference from real world trading costs. I then subtract those costs from the hypothetical performance of version 2 to extrapolate potential returns.
thats a lot of trades so this is a daytrading strategy i take it
It is indeed. Average holding time is a little over 4 hours.
How would you do it if you didn’t have the live historical fills in which to draw the comparison?
Yes slippage and rollovers can be hard to predict, but, it is possible to place a number there for that along with commissions and spreads.
If I didn’t have existing data, I would try to anticipate costs the same way that I did it with version 1. I took an educated guess and expected it to have a slight edge.
When you think you have something, you have to spend money with a small account to get some real data. There’s no way to find out without putting some chips on the table.
Commissions and spreads are easy to roll in for a backtest. Slippage can be estimated say .3 – .5 pips to error on the safe side (averaging positive with negative slippage). Maybe add another fractional pip for rollovers and call it good?
The whole point of backtesting is to work this stuff out before putting money on the line so I’m surprised with “some chips on the table” comment. Yeah I get the idea of putting something in a small account, and that’s good to do after all this other stuff gets worked out in backtesting. Small account performance might not always (and often doesn’t) operate the same way as a larger account. Just another variable to focus on after the other stuff has been thorougly worked out.
Your slippage assumptions are completely different from what I see in my live account. My live slippage is actually negative, on average. There’s no way I could have known that in advance without risking a bit of money.
good job! limit order opperates at tick level, i have found much greater success operating at tick level as well rather than open and close of bars. only draw back to tick level EA is the really slow optimization and tedious development. (by my experience)
Mine involved a bit of luck. It’s only by running live that I’ve noticed better results from using the limit orders. It’s made a huge difference in my overall execution.
Kudos. How do you go about determining your limits? Based on size of bar which triggered entry or other criteria? Does this take into account different volatility scenarios?
It’s related to the Auto Take Profit. I look at recent market conditions and negatively adjust the take profit when things are moving against me.
Shaun,
Simply put this way. I would like to know which pairs does your system trades??? euro/gbp or what??
Just fill these information on which pairs do you trade upon your newly developed system. I would appreciate this very much..
Paul Nelson
Also, I wish to add to this discussion because I am currently doing the back testing upon my newly developing trading system. If you please tell me as an expert advisor that can find some pairs that correlating with the US equity market.. I would appreciate your reply.
All USD pairs should be reasonably correlated with US equities. EURJPY also has a strong correlation with the S&P 500.
It trades every combination of the 8 majors for a total of 28 pairs.
can you clarify what do you mean 8 majors for a total of 28 pairs???
By the way, you are correct at this point with a strong correlation upon US pairs and EURO/JPY. However, there are correlations among jpy pairs that blend with US market. That’s what I am researching right now and undergoing system testings upon jpy, chfs and usd pairs. COMBINED…
What about CHFS pairs??? These pairs also have strong correlations with the US equity Market. If you are talking about any CAD, AUD, NZD, GBP and EURO without CHF or JPY and USD . No, they do not have any correlations with the US equity markets. That’s all it matters right now.
take care and enjoy reading my thoughts.
USD crossed against the other 7 majors: USDCAD, EURUSD, GBPUSD, USDCHF, AUDUSD, NZDUSD, USDJPY
Then cross the euro. Then cross the pound. When you do that and remove all the duplicates, it’s 28 pairs.
Shaun,
Thanks for the wealth of information on the correlations between the USD pairs and the dow jones , sp 500. It is critical for me to make some kind of trading decision and more work to be done!!!
Have a happy easter weekend.
Paul
You, too!
Shaun,
Three questions now.
1) Which Broker are you testing live off of?
2) What is the new cost per 1 lot trade?
3) What happens if you increase your Leverage to 300?
Bob
Hey Bob,
Good to hear from you again.
Well looks like you’ve pulled another strategy from Myfxbook as I don’t see the links for your FXCM and Pepperstone accounts working anymore.
Didn’t work out?
No. They were $1,000 test accounts to look at the execution and do live testing.
Once I finalized the strategies, I created new accounts and put $14,000 behind them:
https://www.myfxbook.com/members/QuantBar/dominari-pepperstone/1591822
https://www.myfxbook.com/members/QuantBar/dominari-fxcm-mt4/1679763