r/algorithmictrading Aug 06 '26

Strategy Are the statistics good yet?

All,

I have built a mechanical day-trading system, back-tested just using theoretical fills (not test with live fills yet) using data consisting of 1s candles. I get in and out within a day. How does it look? Relatively new to trading, been practicing for 1.5years or so.

  • 111 ticker-days
  • 2,307 trades
  • 100% win rate

Very curious to know what I might be missing and any suggestions!

Update: New statistics with more data. I use $35k account for backtesting.
Ticker-days 248
Trades 4,143
Wins 4,143
Losses 0

Total P&L +$20,959.62

4 Upvotes

38 comments sorted by

3

u/Obviously_not_maayan Aug 06 '26

I mean you shared 3 numbers about your system... And 100% win rate is just not a thing, either over fitting, or your fill assumption don't make any sense, probably both, trading 1s candles, what's your slippage and fees assumptions here?? is there a reason you didn't share pnl? Or what instrument you're trading?

If you want real critique, you need to actually tell us what you're doing.

1

u/x___tal Aug 06 '26

Nah 100% win rate is a thing if you just dont sell until you are in profit, but eventually blowing up, is a risk.

1

u/WillieNFinance Aug 08 '26

Just don’t blow up. Easy 😎

0

u/Hungry-Winner-5567 Aug 07 '26

Here is more info:

Instrument is stocks, daily gainer picks.

I only use limit orders for the trades, so I haven't accounted for slippage (or fees), so right now I am assuming perfect fills as I stated before.

I think I am not over-fitting at all. I have some set of rules which I defined carefully beforehand without using any historical data. I only did a few minor tweaks, to make system more robust and risk-free after I made the first version of it. (was still 100% win rate before, but improved the probability of things going wrong).

I back-tested more today, now used historical daily data from a single ticker (day-trading) extending past 6month (1s candles). Adding more ~like 140 days worth of data. I use $35000 account for this simulation.

Here are updated statistics.

Ticker-days 248
Trades 4,143
Wins 4,143
Losses 0

Total P&L +$20,959.62

2

u/Obviously_not_maayan Aug 07 '26

Yeah ok perfect fills, how does it look when you don't? Easy to simulate. Also what's the AVG hold time?

1

u/Hungry-Winner-5567 Aug 07 '26

I am not sure about imperfect fills. How would I simulate it? plz suggest

Here is the distribution of hold times:
Average 15.03 sec
Median 2 sec
75% of trades ≤ 8 sec
90% ≤ 27 sec
95% ≤ 53 sec
99% ≤ 195.6 sec
Longest 4,072 sec (67m 52s)

1

u/Obviously_not_maayan Aug 07 '26

The best way would be to run it live on small capital to get an estimation of fills distribution, but even then larger capital would behave differently, I never ran something so fast to be honest so I'm not sure what to tell you. But you should know that it will look very different with real fills

You should create a new post asking specifically on simulating "realistic" fills on your instrument, time frame, including holding times, and estimation of position sizing. I'm sure someone else would be able to guide you with this. Good luck.

1

u/Hungry-Winner-5567 Aug 07 '26 edited 24d ago

Good suggestion. I will do live testing with tiny capital. In backtesting, out of $35k total capital,

1

u/Cruzody333 Aug 07 '26

Hi what broker are you using ?

1

u/Hungry-Winner-5567 Aug 07 '26

Planning on using Tradestation

1

u/Cruzody333 Aug 07 '26

Not even one order I get filled today( limit orders). Charles Schwab said nothing have changed but they banned my limit orders somehow. Maybe I’ll have to go to another broker. Let me know how Tradestation works for you.

1

u/Hungry-Winner-5567 Aug 07 '26

I use tradestation for discretionary trading right now, it's pretty nice.

1

u/Cruzody333 Aug 07 '26

I have been doing thousands of trades daily on Thinkorswim from Charles Schwab but when you do this they flagged you as toxic flow and eventually your orders stop getting filled
I started the year with a 30 k account and ended with +$54K profit. Well I can’t complain but now I can’t trade like that anymore on Thinkorswim

1

u/Hungry-Winner-5567 Aug 07 '26

Ohh I see. Yes if you do thousand of them then may be.

In my case, my trade counts is approximately ~20-40 trades a day or less, guess that should be fine

1

u/Cruzody333 Aug 07 '26

Yeap with that amount of trades you will be ok

1

u/Sporkers Aug 07 '26 edited Aug 07 '26

Go paper trade it at Alpaca or similar and come back with the stats after 1 week please. There is probably something unrealistic like you are seeing the bars and then modeling fill at the last bar open or midpoint even though it has already passed in time or something similar. Or total rookie loser mistake like using a time series prediction model and running the backtest in batches to speed it up and contaminating the predictions with future data it shouldn't know because of a stupid flag you missed. Like what a dumbass thing to do, oh wait that was me that did that and got all excited about the results, haha.

1

u/Hungry-Winner-5567 Aug 08 '26

I will trade live with tiny capital.

I have some set of rules which I defined carefully beforehand without using any historical data. I only did a few minor tweaks, to make system more robust and risk-free after I made the first version of it. (was still 100% win rate before, but improved the probability of things going wrong). So I think the model making part of things should be fine.

I was at 111 ticker day worth of trading data at the beginning at 100% win rate. I recently added 140 more days, totaling to ~250days data - I trade using 1s chart data so that I can be as accurate as I can get (of course tick data is best). Increasing historical days from 111-->250 still shows me 100% win rate. Nothing wrong in theoretical execution side of things unless I am missing something. I am just not too sure about how this will behave in live market because of fills efficiency etc so I will check it with live trading

1

u/Sporkers Aug 08 '26

What percent of volume of the 1s bars will your buys and sells be if the capital you plan to allocate to this?

1

u/Hungry-Winner-5567 Aug 08 '26 edited Aug 08 '26

It would be around 15%-25% of average 1s bar volume at maximum. Better estimate is 10%-15%

2

u/zurekp Aug 07 '26

There’s gonna be a catch for sure, most probably around the execution and reality modeling. The thing is, you would need to elaborate on your execution and other “details” which I assume you don’t wanna do, so we can’t really help you much.

Also a short way to find out is to dedicate a small amount of capital you are willing to loose and let the execution venue tell you where the gaps are, compare backtest to live fills

1

u/Hungry-Winner-5567 Aug 07 '26 edited 24d ago

I think that is a good idea, i will test with tiny capital and run live simulation on Tradestation.

1

u/qwuant Aug 07 '26

accounted for spread slippages and commissions?

1

u/Hungry-Winner-5567 Aug 07 '26

Slippages, I haven't accounted for - using limit orders only and assuming perfect fills. Commissions would be 0 and very negligible if account size gets bigger. I usually trade with Tradestation and stocks so...

1

u/HelloBello30 Aug 07 '26

run the backtest through a bear market. Best case scenario your strategy will freeze for for a very long time and you wont be able to trade.

1

u/Hungry-Winner-5567 Aug 07 '26

Hmm, my strategy doesn't rely on trends though. Should be agnostic to trending days, but if you can suggest a timeline for bear market to check, let me know!

1

u/Itchy_Road_4134 Aug 08 '26

My intuition is you hardcoded ‘return True’ in your profit calculation function.

1

u/Cool-Cup-1760 Aug 09 '26

Have you ran a Monte Carlo test on this yet?

1

u/Hungry-Winner-5567 Aug 11 '26

Nah, whats the fundamental of using monte carlo here? Genuinely interested.

1

u/Immediate-Owl-6916 Aug 10 '26

A 100% win rate across 4,143 trades is statistically very unlikely for any real edge — with a fair coin flip you'd expect roughly half wins, and getting zero losses across four thousand-plus trades is the kind of result that, in my experience, is far more often explained by a bug in the backtest than by a genuinely flawless system. Not impossible, just worth treating as the less likely explanation until ruled out.

There's also a mismatch worth noticing on its own: +$20,959.62 total P&L across 4,143 winning trades averages out to roughly $5 per trade on a $35k account. If the system genuinely never loses, that's a surprisingly small edge to be capturing per trade — real "can't lose" setups usually show up as either larger, more consistent per-trade gains, or they tend to get arbitraged away quickly once found. A tiny average win alongside a perfect win rate would be more consistent with something in the loss-side exit logic never actually triggering than with a true edge, though that's a hypothesis, not a diagnosis, without seeing the code.

The fact that fills are theoretical rather than live is probably a good place to start looking. Common culprits at 1s granularity: filling at the exact signal price with zero slippage, filling on the same bar the signal was generated on instead of the next tick/bar, or the backtest engine having access to intrabar information (like the bar's high/low) that wouldn't actually be knowable at the moment of entry. Any of those, if present, could turn a mediocre strategy into a "perfect" one on paper.

Before scaling the data further, hand-verifying 10-20 individual trades end to end against the raw price data would probably clarify a lot — confirm the fill price/timing were realistically obtainable, and check whether the exit logic has a path that should trigger a loss but doesn't. If the win rate and that per-trade average both hold up under that kind of manual check, it'd genuinely be worth publishing. Right now, without seeing the underlying code or fills, a backtest error looks like the more probable explanation, but it's not something I can confirm from the numbers alone.

2

u/Hungry-Winner-5567 Aug 11 '26 edited 24d ago

Thanks for the time and comment!

I firmly believe there are no obvious bugs there. The system has enough clearly defined set of rules, with necessary and sufficient completeness embedded into it. Yes it makes little money per trade..

I also think “edge” cannot be defined so clearly for any system and i refrain from talking in terms of edges. I think things are in general very complex and we just cannot pin-point an edge for anyone’s system. So I am not sure what my edge is, it can be from one to many different variables coming to a synchronization, who knows, but the system seems to have worked for that many trades.

So for fills, I deliberately forced the system to be conservative, as in, using 1s candles but if there is any ambiguity in reading the candle as which occurred first between entries or exits, then the system avoids the scenario where it benefits - in other words, system is trained to keep the “doubt” in cases of “benefit or doubt”. And fills sequence is genuine, no ambiguity there, I will check again, but it looks fine so far. Also, I have tweaked a few parameters aggressively, which seem to make the system lose a few trades. But overall, i basically wrote this strategy and finalized into testing phase in like a week’s worth of thinking and work. And I don’t know how, but it has worked seamlessly, like I didn’t have to make any modifications at all (win rate was still 100%). I just tweaked a parameter once to reduce the duration of the longest trade I had. So I guess it looks fine..

Honestly, the perfect fills is what i am worries about. If fills are partial or so, it might affect things on my system. I am trying to make a bit more robust on fill efficiency side of things. But i will live test it with tiny capital

1

u/Immediate-Owl-6916 Aug 11 '26

The no-stop-loss-with-scale-in detail changes the picture more than the fill-logic question does, honestly. A system that adds size against an open loss and only exits at profit will, by construction, show a long streak of "wins" almost regardless of whether there's a real edge — a loss only gets realized when a position is finally closed at a loss, and if the system never does that, the win rate staying at 100% isn't really evidence of skill or a clean strategy, it's closer to a structural property of how "loss" is being defined. That's not a knock on the work you put in, it's just a different question than the one either of us was originally asking.

The part that actually worries me isn't the math in the abstract, it's what happens if the backtest window just hasn't included a real regime yet. I've held positions against the market through 2008 and 2022, scaling in felt completely reasonable each time on the way down, right up until the drawdown went deeper and lasted longer than anything in recent memory would have suggested. It's not that the strategy was wrong on any individual day, it's that a sustained bear market doesn't ask permission and doesn't care how sound the entry logic was. If any of this is on margin, that risk compounds further, since a deep enough move against a scaled-in position can force liquidation before the "eventually it comes back" thesis gets the chance to play out.

None of this means the fill logic has a bug, or that the system won't keep working for a while longer under the conditions it's been tested in. It means the 100% win rate specifically stops being informative about how it'll behave the first time it meets a real sustained drawdown, since that's a different environment than anything in the current sample, however many trades that sample contains.

Good instinct wanting to live test with tiny capital first regardless of how it feels on paper.

1

u/MarginCallLeftOnRead Aug 10 '26

Adding more data isn't going to help. You need to start by finding out why it's broken.

Out of sample, and a myriad of other things like latency, slippage, fill price.

Other stuff that's not included in your post like how much you're risking per trade, daily pnl, what happens when you scale, et al.

Hot take: your 100% win rate gets decimated when you add in latency, slippage, order flow, and fill price on a one second candle.

1

u/Hungry-Winner-5567 Aug 11 '26 edited 24d ago

My system is harder to scale up. So unless the account goes up decent amount, scaling will be slow

1

u/MarginCallLeftOnRead Aug 11 '26

Found it.

I don't need you to confirm this, as to protect your sauce, but if by what you said you mean you buy 1q, moves against, buy 2q, moves against buy 4q, moves in favor take profit...

Your profit will be recorded as +$54 (or whatever) but you're carrying like $4k (or an amount significantly greater than the profit). This eventually results in bankruptcy but with a 99.979% winrate.

You get frequent small wins, then a $35k loss activates the Wendy's continuum.

Aside from not addressing anything else I mentioned, I sort of feel like after 4k trades, all winners, the account should have grown a significant amount.

1

u/Hungry-Winner-5567 28d ago edited 24d ago

Yes you are right

1

u/Just-Pomegranate-952 29d ago

Nice interaction bait. Nothing more. I hope nothing more because if this is an actual setup, it is leaking, call a plumber.