Overtrading is trading more often, or with more exposure, than your written plan allows: entries outside the defined setup, session or instrument list, repeat entries after a loss, or size above the rule. Measure overtrading from a journal by comparing actual trade counts with the plan's limits and by tracking what the extra trades cost. Cap it with written limits enforced before an order is sent.
This page belongs to the trading-plan and process library. Overtrading is defined against your own plan, so the plan has to state its limits first.

Overtrading at a glance
Scroll horizontally to read every column.
| Question | Short answer |
|---|---|
| What counts? | Trades or exposure the plan did not permit, not a fixed number of trades |
| How to spot it | Trade count against the plan's cap, trades outside setup or session, re-entries after losses |
| Why it matters | Costs rise with every trade, whatever the result |
| How to cap it | Written limits enforced in the script, the EA or task settings, or a logged manual check |
| What it is not | A reason to trade less when the plan's rules call for a trade |
What is overtrading?
Overtrading has no universal threshold. A scalping plan and a swing plan permit very different trade counts. The useful definition compares behaviour with the written plan: any trade the plan did not call for, and any exposure above its limits, counts.
Research on stock investors links heavy trading with weaker results. Brad Barber and Terrance Odean studied 66,465 households at a large discount broker from 1991 to 1996. The households that traded most earned an annualised return of 11.4%, against 17.9% for the market, and the authors argue that overconfidence can explain the high trading levels.[1] Those were stock accounts, not forex, and the finding describes groups, not any one trader.
The earlier version of this page warned against fear of missing out and against chasing trades out of fear or greed. The trading psychology guide covers the documented biases behind those behaviours.
Which overtrading signs can you measure from a journal?
Each sign below comes from fields a trading journal already holds: time, setup tag, session, result and costs.
- Trades above the cap: actual trades per session or day minus the plan's maximum.
- Off-plan trades: trades with no qualifying setup tag, or on an instrument not in the plan.
- Off-session trades: trades opened outside the plan's session window, in the plan's named timezone.
- Loss-chasing re-entries: entries on the same symbol within your chosen interval after a losing exit.
- Size drift: volume above the size rule's result for that trade.
- Cost load: total costs for the review period, expressed in R.
Plan adherence rate = trades that met every rule / all trades
Cost load in R = total costs / initial risk R per trade (when R is constant)
Illustrative week, not a recommendation or a real result. The plan allows at most 2 trades in each of 5 sessions, a cap of 10. The journal shows 18 trades. Of these, 6 had no qualifying setup and 3 opened outside the session window, so 9 met every rule. The adherence rate is 9 / 18 = 50%. Each trade risked 100 USD and cost 7 USD in commission and spread, or 0.07R. The 18 trades cost 18 × 7 = 126 USD, or 1.26R. At the cap of 10 trades, costs would have been 70 USD, or 0.70R. The 8 trades above the cap cost 56 USD, or 0.56R, before any result.

Costs are one reason trade count matters. See transaction costs for how commission, spread and swap combine.
Which rules cap overtrading, and where are they enforced?
Write each limit with its scope, clock and action. Then choose where it is enforced: in the script, in the receiving EA or Portal, or as a logged manual check. The values are yours to set; this page does not recommend any.
- Maximum trades per session or day, with the timezone of the day boundary.
- A session window for new entries.
- One position at a time, per symbol or per strategy.
- A cooling-off rule after a stated number of losses.
- A daily loss limit with a stated action and restart rule.
In Pine Script. strategy.risk.max_intraday_filled_orders(count) sets a maximum number of filled orders per day, or per bar above the daily timeframe. When the limit is reached, the strategy cancels pending orders, closes open positions and places no new orders until the session ends.[2] The limit counts filled orders, and an exit is also a filled order. The rule acts on TradingView's simulated strategy; any broker action still depends on the alerts it sends. For a session window, time() returns na when the bar is outside a given session string.[3]
In PineConnector, as documented on 25 September 2026. The self-hosted EA's Active hours restrict when incoming signals are processed, using broker server time, and signals outside the window are ignored.[4] The Portal Trading Time Limit task allows signals inside a configured window and halts them outside it, in the timezone shown on its tile.[5]
Maximum Open Positions limits open positions, not the number of trades in a day, and does not restrict pending orders.[4] The per-symbol limit filters that EA's new signals but does not stop a manual order or another EA. Pyramiding controls repeated entries in the same symbol and direction.[4] The EA reference does not document a daily trade-count limit. Enforce that count in the script or by a manual check, and ask PineConnector Support to confirm current options.
Before relying on any limit, test it on a demo account: send signals inside and outside the window and above the cap, then compare the Signals log with the MT5 history. The documented demo test covers the first order.[6]
How do you review trading frequency each week?
- Count trades per session against the cap, and list every trade above it.
- Split trades into rule-following and off-plan. Review their results separately, and review adherence regardless of results.
- Compute the cost load in R for all trades and for the off-plan trades alone.
- Check re-entries after losing exits and note what preceded each one.
- If off-plan trades cluster at a time or after a pattern of losses, add a rule for that case to the next plan version.
Automation can send an order request only when the defined alert triggers. It does not stop manual trades placed alongside it, or a new alert created on impulse. The review still has to count both.
What are the limits of these overtrading checks?
- Fewer trades is not automatically better. Skipping trades the plan calls for is a deviation too.
- A cap is not an edge. A limited number of trades from a rule set with no edge still produces that rule set's results.
- Different clocks: the script, EA Active hours and Portal tasks can use different timezones. Write each one down.
- Small samples: one week of adherence data describes that week.
Frequently asked questions
What is overtrading?
Overtrading is taking more trades, or more exposure, than your written trading plan permits. Examples include entries without a qualifying setup, trades outside the planned session or instruments, repeat entries after a loss and size above the rule. No universal trade count defines overtrading, because each plan sets its own limits.
How do you stop overtrading?
To stop overtrading, write explicit limits into the plan: a maximum number of trades per session, a session window, one position at a time and a daily loss limit with an action. Enforce each limit before entry, in the script, the EA or a logged manual check. Then count deviations in a weekly journal review.
What are the signs of overtrading?
Signs of overtrading include trade counts above the plan's cap, trades with no qualifying setup, entries outside the planned session, quick re-entries after losing exits, volume above the sizing rule, and costs taking a growing share of initial risk. A trading journal with setup tags and timestamps makes each sign countable.
Can PineConnector limit the number of trades per day?
As of 25 September 2026, PineConnector's EA reference documents Active hours, open-position limits, Pyramiding and daily loss controls, and Portal offers a Trading Time Limit task. It does not document a daily trade-count limit. A count can be set in Pine Script with strategy.risk.max_intraday_filled_orders, which acts on the simulated strategy.
Reviewed 25 September 2026. Facts were checked against the linked sources on that date. Nothing in this article was tested on a trading account and no code was compiled.
Related reading
- How to write a trading plan (with a template)
- Daily loss limit in trading: rules and circuit breakers
- How to keep a trading journal (fields and template)
- Trading psychology: common biases and what automation can't fix
Sources
- Barber and Odean (2000) – Trading is hazardous to your wealth, The Journal of Finance, accessed 26 September 2026.
- TradingView – Pine Script v6 reference: strategy.risk.max_intraday_filled_orders(), accessed 25 September 2026.
- TradingView – Sessions, accessed 25 September 2026.
- PineConnector – EA settings reference, accessed 25 September 2026.
- PineConnector – Tasks: Trading Time Limit, accessed 25 September 2026.
- PineConnector – Test your setup, accessed 25 September 2026.
PineConnector executes the instructions you send it. It does not select trades, manage money, or hold funds. Trading carries risk, and past performance of any strategy does not indicate future results.