TradeKeeper
TradeKeeper expert advisor metatreder 5 risk management
📋 توضیحات
1. Introduction
TradeKeeper is a free position-management Expert Advisor for MetaTrader 5, developed by MQLicense.com. Its job is simple to describe and powerful in practice: once you have an open position — whether you opened it manually or another EA opened it — TradeKeeper takes over and manages it intelligently.
It handles five protective tasks:
-
Sets an initial stop loss and take profit if you forgot to.
-
Moves your stop loss to breakeven once the trade is profitable.
-
Closes part of your position at pre-defined profit levels.
-
Trails your stop loss behind price using one of seven methods.
-
Closes positions after a certain time or before the weekend.
TradeKeeper does not open trades. It does not generate signals. It does not predict the market. It is a manager, not a trader — and that is exactly what makes it useful for any manual trader, any prop-firm account, and any EA-based portfolio.
2. What TradeKeeper Is — and What It Is Not
✅ What TradeKeeper is
-
A tool that automatically manages positions that already exist on your account.
-
A safety net for manual trades that you forgot to protect.
-
A consistent enforcer of breakeven, partial closes, and trailing rules.
-
A bridge between your manual entries and institutional-grade trade management.
-
100% free, open-behavior, no license, no DLL, no telemetry.
❌ What TradeKeeper is not
-
It does not open new trades.
-
It does not provide entry signals.
-
It does not place pending orders.
-
It does not guarantee profit or prevent loss.
-
It does not replace your trading strategy.
You bring the entries; TradeKeeper manages the exits.
3. Installation
Step 1 — Copy the files
TradeKeeper depends on a shared include file called MQLicense_Common.mqh that is used by the entire MQLicense.com suite. You only need one copy of it for all five products.
| File | Where to copy |
|---|---|
MQLicense_Common.mqh |
MQL5/Include/ |
TradeKeeper.mq5 |
MQL5/Experts/ |
Note: If you already installed LotSmith and copied
MQLicense_Common.mqhtoMQL5/Include/, you do not need to copy it again.
Step 2 — Compile
-
Open MetaEditor (press F4 inside MT5).
-
Open
TradeKeeper.mq5from the Navigator. -
Press F7 (or click the Compile button).
-
Wait for the message: 0 errors, 0 warnings.
Step 3 — Attach to a chart
-
In MT5, open any chart — the symbol you attach it to does not have to be the symbol you want to manage (see Position Filter below).
-
From the Navigator panel, drag TradeKeeper onto the chart.
-
Make sure the Algo Trading button in the top toolbar is green.
-
Click OK on the Inputs dialog.
TradeKeeper is now active. If you already have open positions on your account, they will be picked up within a second.
4. First Launch
On first launch you will see an Inputs dialog with a long list of options. Do not be intimidated — the defaults are tuned for a typical retail trader and will work correctly for most situations.
Recommended first-time configuration:
| Setting | Default | Why |
|---|---|---|
| Apply to | Current symbol | Safest start — only manages the chart you attached to |
| Magic filter | All | Manages both manual trades and other EAs |
| Initial Protection | ON | Fixes unprotected positions after 30 seconds |
| Breakeven | ON | At +1R, moves SL to entry |
| Partial Close | ON | 50% at +1R, 25% at +2R, 25% at +3R |
| Trailing Stop | ON | ATR-based trailing |
| Time Exit | OFF | Enable only if you have a reason |
Click OK. The panel appears on the chart. TradeKeeper is now live.
5. The Big Picture: How TradeKeeper Thinks
Understanding TradeKeeper's mental model makes everything else click. Here is the flow, in plain English:
text
1. TradeKeeper looks at all open positions. 2. It filters out any that do not match your filter. 3. For each matching position, it looks up the "state" — has this position already had its breakeven moved? Its partial closed? 4. If not, it checks whether today's price has reached the trigger. 5. If a trigger is reached and the state says it hasn't been done yet, TradeKeeper performs the action and remembers it. 6. It never repeats an action. Even if you restart MT5, the state is preserved, so nothing gets done twice.
The key concept is state. Every open position has a small "memory" attached to it: which levels have already fired. This memory survives terminal restarts, chart changes, symbol changes, and even account switches.
TradeKeeper never acts twice on the same level. If it moved your SL to breakeven yesterday and you restart the terminal today, it will not touch your SL again.
6. Position Filter — Choosing What to Manage
TradeKeeper can manage positions across your entire account, or only a specific subset. This is controlled by the Position Filter group of inputs.
Symbol filter
| Option | Behavior |
|---|---|
| Current symbol | Only positions on the chart's symbol are managed. Safest option. |
| All symbols | Every position on the account is managed, regardless of symbol. |
| Symbol list | Only the symbols you list (comma-separated) are managed. |
Example: If you want TradeKeeper to manage only EURUSD and XAUUSD but leave everything else alone, choose Symbol list and enter EURUSD,XAUUSD.
Magic filter
Every trade on an MT5 account has a magic number. Manual trades have magic 0. Trades opened by another EA have that EA's magic.
| Option | Behavior |
|---|---|
| Manual only | Only trades you opened yourself are managed. |
| Specific magic list | Only trades with the listed magic numbers. |
| All | Every trade, regardless of origin (default). |
| All except list | Every trade except those with the listed magic numbers. Useful when you have one EA whose trades you do not want touched. |
Example: You want TradeKeeper to manage everything except the trades from a specific scalping EA whose magic is 998877. Choose All except list and enter 998877.
Comment filter
You can restrict management to positions whose comment contains a specific text. This is useful when your broker adds tags to positions, or when another EA writes a recognizable comment.
Leave the field empty to disable comment filtering.
7. Module 1 — Initial Protection
The problem it solves
You open a trade from your phone during a busy moment. You forget to set a stop loss. Hours later the market has moved against you and the position is still naked. TradeKeeper's Initial Protection module exists to prevent exactly that.
How it works
If a position has no stop loss (and optionally no take profit) after a delay you configure, TradeKeeper will set one automatically. The delay exists so you have time to set your own SL/TP after opening — TradeKeeper will not step on your toes if you set it within the window.
Two stop-loss methods
You choose how the automatic SL is calculated:
-
Fixed points — a fixed distance in points from the entry price. Simple and predictable.
-
ATR-based — a distance proportional to the market's average volatility (ATR). Adapts to the current market.
-
% of price — a percentage distance from the entry price. Useful for stocks and indices.
Take profit (optional)
By default, TradeKeeper does not set a take profit. If you want it to, enable the option and choose a distance in points.
The overwrite option
By default, TradeKeeper will never overwrite an existing SL or TP. If you already set one, TradeKeeper leaves it alone. If you want it to enforce its own values regardless, enable the overwrite option — but use this with care, because it will replace whatever you placed.
Delay
The default delay is 30 seconds. That gives a manual trader enough time to set their own SL/TP right after entry. Reduce it to 5 seconds if you want faster protection; increase it to 60 seconds if you tend to set your SL manually.
8. Module 2 — Breakeven
The problem it solves
A trade goes +50 points in your favor, then reverses and takes out your original stop loss. You had a winner and turned it into a loser. The Breakeven module fixes this by moving your stop loss to a no-loss level once the trade has moved far enough in your favor.
Trigger types
You choose what counts as "far enough":
-
By points — for example, once the trade is +200 points in profit.
-
By R-multiple — for example, once the trade is at +1R (one times the initial risk). This is the professional standard.
If your SL was 50 points away and the trade has moved 50 points in your favor, it is at +1R. If it has moved 100 points, it is at +2R.
The lock offset
Breakeven does not have to mean "exactly at entry price". You can lock in a small profit using the offset input:
-
Offset = 0 points → SL moves to exactly the entry price.
-
Offset = 20 points → SL moves 20 points into profit.
-
Offset = -5 points → SL moves 5 points into loss (rare, but sometimes used to guarantee fills in illiquid markets).
Spread inclusion
If you want the offset to also cover the current spread (so a real breakeven after costs), enable Include spread. This is recommended for most traders, since spread is a real cost you pay when the SL fires.
Once-only execution
The Breakeven module runs exactly once per position. After it has moved your SL, it will never move it again — even if the trade goes back to zero and moves up again. This is intentional: it prevents the SL from jumping around and getting you stopped out for a technicality.
9. Module 3 — Partial Close
The problem it solves
Taking profits all at once is binary — you either get it all or you get nothing. Professional traders scale out of positions: close some at +1R, some at +2R, let the rest run. TradeKeeper's Partial Close module does this automatically.
Three levels
You get three independent levels, each defined by:
-
A trigger — the R-multiple at which the level fires.
-
A percentage — what percentage of the original volume to close.
The default configuration is typical:
| Level | Trigger | Close | Meaning |
|---|---|---|---|
| 1 | +1R | 50% | Close half when the trade doubles its risk in profit |
| 2 | +2R | 25% | Close another quarter at +2R |
| 3 | +3R | 25% | Close the remainder at +3R |
The percentages are always calculated against the original volume, not the current volume. This is important — it prevents compounding reductions (50% of 50% of 50%) and keeps the math consistent.
Breakeven after level 1
The default behavior moves the stop loss to breakeven right after level 1 fires. This is a common professional practice: once you have locked in some profit and moved your stop to breakeven, the worst case is a small win instead of a loss.
You can disable this if you prefer to keep your original SL for longer.
The minimum-lot protection
Every symbol has a minimum tradeable volume. If a partial close would leave you with a volume smaller than the minimum, TradeKeeper will close the entire remaining position instead. This prevents the broker from rejecting the partial close, and it prevents you from being stuck with a fractional remainder that cannot be closed.
Once-only per level
Each of the three levels fires exactly once per position. Restarting MT5 does not cause them to fire again.
10. Module 4 — Trailing Stop
The problem it solves
A winning trade can give back all its profit if your stop loss stays fixed. Trailing stop solves this by moving the stop loss progressively behind the price, locking in more and more profit as the trade advances.
TradeKeeper offers seven trailing modes, each suited to a different trading style.
Mode 1 — Fixed distance
The stop loss stays a fixed number of points behind the current price. Simple and predictable.
Best for: Scalpers who want a tight, mechanical trail.
Mode 2 — Step trailing
Like fixed distance, but the stop loss only moves when price has advanced by a full step. This reduces the number of stop-loss modifications and lowers the risk of the broker rejecting too many modifications.
Best for: Traders on brokers that restrict how often you can modify orders.
Mode 3 — ATR-based (default)
The stop loss stays a distance proportional to the current ATR. In volatile markets the trail widens; in quiet markets it tightens.
Best for: Almost everyone. This is the recommended default.
Mode 4 — Candle-based
The stop loss follows the low of the last N closed candles (for buys) or the high (for sells), plus a small buffer in points.
Best for: Swing traders who want price-action-driven exits.
Mode 5 — Chandelier Exit
A well-known professional technique. For a buy, the stop loss sits at the highest high of the last N candles minus N × ATR. For a sell, the mirror.
Best for: Trend followers who want to ride long moves while keeping a rational stop.
Mode 6 — Parabolic SAR
The stop loss follows the Parabolic SAR indicator. When SAR flips, the trail flips direction. Very responsive, but prone to whipsaws in ranging markets.
Best for: Fast-moving markets with strong trends.
Mode 7 — Moving Average
The stop loss sits at a moving average (EMA, SMA, etc.). Trend-followers often use a 50 EMA or 200 EMA on a higher timeframe as a trailing exit.
Best for: Position traders holding over days or weeks.
Safety features shared by all modes
-
Activation threshold — trailing does not begin until the position is a certain distance in profit. Prevents the trail from triggering on tiny moves.
-
Direction-only movement — the stop loss can only move in the profit direction. It never moves against you.
-
Minimum step — the new SL must differ from the current SL by at least a minimum number of points. This avoids micro-adjustments that flood the broker with requests.
-
Minimum interval — a minimum number of seconds between two modifications for the same position. Prevents "too many requests" errors.
-
New-bar-only recalculation — for indicator-based modes (candle, chandelier, PSAR, MA), the SL is recalculated only when a new bar opens. This dramatically reduces CPU usage and API calls.
-
Stops-level and freeze-level respect — TradeKeeper always checks the broker's minimum distance rules before modifying. It will never send an SL that the broker will reject.
11. Module 5 — Time Exit
The problem it solves
Some trades should not be held indefinitely. A news-based trade should close before the news cycle ends. A weekend trade should close before the gap. A daily-scalp position should not become a multi-day position by accident.
Three time-based exits
Max hold duration — close the position after N minutes have passed since it was opened. For example, set 1440 minutes to close any position after 24 hours.
Close before weekend — on Friday at a specific server time (default 20:00), close all managed positions before the market closes for the weekend. This protects you from Sunday-gap risk.
Close at a specific daily time — every day at a fixed hour and minute, close all managed positions. Useful for intraday strategies.
The "only if losing" option
For all three modes, you can require that the position be in a loss before closing. This is useful if you want to give winners room to run, but you do not want to hold a losing position overnight.
When to enable this module
Time Exit is disabled by default. Enable it only if you have a specific reason. Most manual traders do not want their positions closed on a timer.
12. The R-Multiple Engine
The concept of R is central to TradeKeeper. Understanding it makes the whole product easier to use.
What is R?
R stands for "risk unit". It is the distance from your entry to your initial stop loss, expressed as a multiple of that risk.
-
If your entry is 1.1000 and your SL is 1.0950, then R = 50 points.
-
A trade at +1R is 50 points in profit (price = 1.1050).
-
A trade at +2R is 100 points in profit.
-
A trade at -0.5R is 25 points in loss.
Why R matters
Working in R-multiples rather than points lets you use the same rules on every instrument, every timeframe, and every account size. A rule like "close 50% at +1R" works on EURUSD, on XAUUSD, on a $1,000 account, and on a $1,000,000 account — without changing a single number.
How TradeKeeper learns R
The moment TradeKeeper first sees a position, it captures:
-
The entry price.
-
The current stop loss.
-
The original volume.
The distance between entry and SL becomes R for that position. From that moment, all R-based triggers (breakeven, partial closes) use this fixed value — even if you later move the stop loss.
What if the position has no stop loss?
If a position has no SL when TradeKeeper first sees it, the Initial Protection module will set one. That SL becomes the R reference. If you disabled Initial Protection or it fails to set one, R-based features (breakeven, partial close) are skipped for that position. The Trailing and Time Exit modules still work, because they do not need R.
Persistence
R and all related state are preserved across terminal restarts. Even if MT5 crashes in the middle of a trade, TradeKeeper will pick up exactly where it left off.
13. The Panel
When TradeKeeper is running, a panel appears on the chart. It is designed to give you everything at a glance and let you intervene quickly.
Panel layout
text
┌────────────────────────────────────────────────────────┐ │ TradeKeeper | MQLicense.com [_] │ ├────────────────────────────────────────────────────────┤ │ Managed: 3 | Floating: +142.50 │ │ Symbol Type Lots R Flags │ │ EURUSD BUY 0.50 +1.42R I B 1 │ │ XAUUSD SELL 0.20 +0.65R I B │ │ GBPUSD BUY 1.00 -0.20R I │ │ -- │ │ -- │ │ -- │ │ -- │ │ -- │ │ │ │ [ INIT ] [ BE ] [ PART ] [ TRAIL ] [ TIME ] │ │ │ │ [ BE Now ] [ Close 50% ] [ Pause All ] │ │ [ Reset States ] [ Cleanup Old ] │ │ MQLicense.com │ └────────────────────────────────────────────────────────┘
Header
Shows the number of positions TradeKeeper is currently managing and the total floating P/L across them.
Position table
Up to eight managed positions are shown, one per row. Each row shows:
-
Symbol — the instrument.
-
Type — BUY or SELL.
-
Lots — current volume.
-
R — how far the trade has moved in R-multiples (positive = profit, negative = loss).
-
Flags — a short string of letters showing which actions have already fired:
-
I = Initial Protection applied
-
B = Breakeven moved
-
1 = Partial level 1 fired
-
2 = Partial level 2 fired
-
3 = Partial level 3 fired
-
A position with flags I B 1 has had its initial SL set, its SL moved to breakeven, and its first partial close executed.
Module toggles
Five buttons at the bottom left toggle each module on or off at runtime.
-
Green background = module is active.
-
Red background = module is paused.
Toggling a module off does not affect positions that have already been managed; it just stops future actions from that module.
Action buttons
BE Now — Moves the stop loss of all managed positions to their entry prices immediately. Useful if you want to lock in breakeven early on all your open trades.
Close 50% — Closes half of every managed position right now. Use this if you want to de-risk the entire portfolio in one click.
Pause All — Turns off every module. TradeKeeper stops all automatic management but keeps running and monitoring. Use this when you want a break without uninstalling the EA.
Reset States — Deletes all remembered state. Every module will re-run as if TradeKeeper had just started. Use this with care: if you reset while a position is at +2R, TradeKeeper might re-fire level 1 and level 2 partials. This is a power-user tool; most traders never need it.
Cleanup Old — Scans the internal state and removes entries for positions that no longer exist. Runs automatically every 10 minutes, but you can force it now.
The panel remembers its position
If you move the panel to a different corner, TradeKeeper remembers your choice. When you restart MT5, the panel will return to the same place.
Minimizing
Click the _ button to minimize the panel. A single line of chart comment will appear at the top-left of the chart with the summary. Click again to restore.
14. Hedging vs Netting Accounts
MT5 offers two account types with fundamentally different behavior. TradeKeeper works correctly on both, but the experience is slightly different.
Hedging accounts
You can have multiple positions in the same symbol — a BUY and a SELL simultaneously, or three separate BUYs. Each has its own ticket, its own SL, its own TP, and its own state in TradeKeeper.
Result: TradeKeeper manages each position independently. Partial closes are done on the specific ticket. Breakeven is applied per position.
Netting accounts
You can only have one net position per symbol. Opening a BUY when you already have a BUY increases the net long. Opening a SELL when you have a BUY reduces or reverses the net position.
Result: TradeKeeper treats the single net position as one unit. Partial closes reduce the net volume. Breakeven moves the SL of the net position.
Because netting accounts merge positions, the concept of "R" is defined once per symbol per position lifetime. If you add to a net position, TradeKeeper will keep the original R reference — because it saw the position first at its original size.
Which account type should you use?
-
Hedging is more flexible and is the standard for retail Forex brokers and prop firms.
-
Netting is required by some brokers and is standard for stocks and some institutional setups.
TradeKeeper does not care which one you have. It detects the account type at startup and adapts.
15. State Persistence and Restarts
TradeKeeper stores its per-position state in MT5's Global Variables — a persistent storage mechanism that survives:
-
Terminal restarts.
-
Chart changes.
-
Timeframe changes.
-
Symbol changes on the chart.
-
Account switches (state is per account).
-
Windows restarts.
-
MT5 updates.
What is preserved
For each position:
-
Original volume.
-
R reference (initial risk distance).
-
Initial stop loss.
-
Highest price reached (for trailing calculations).
-
Which levels have fired (breakeven, partial 1/2/3).
-
Last modification timestamp.
-
When the position was first seen by TradeKeeper.
When state is deleted
State is automatically removed when:
-
The position is closed.
-
The cleanup routine runs and finds the position no longer exists.
You can also force cleanup by pressing Cleanup Old on the panel.
The 4-week rule
MT5 Global Variables expire if they are not accessed for 4 consecutive weeks. This means: if a position has been open and untouched for more than 28 days without TradeKeeper running, its state may be lost on the next restart.
In practice this almost never happens — TradeKeeper touches its state on every tick. But if you plan to shut down MT5 for a month with open positions, be aware.
What happens if state is lost
If state is lost (for example, you ran Reset States or the GV expired), TradeKeeper will treat the position as newly discovered. It will re-run Initial Protection, re-detect R, and re-evaluate all triggers.
This means: partial closes could re-fire. If you use Reset States, do it when no positions are open.
16. Common Scenarios
Scenario 1 — I manually open trades and forget the SL
Configuration:
-
Initial Protection: ON
-
Delay: 30 seconds
-
SL mode: ATR-based
-
Set SL if missing: ON
-
Set TP if missing: OFF
Result: Any trade you open without an SL gets one within 30 seconds, sized to the current volatility.
Scenario 2 — I want professional scaling out
Configuration:
-
Partial Close: ON
-
Level 1: +1R, 50%, move SL to BE
-
Level 2: +2R, 25%
-
Level 3: +3R, 25%
-
Trailing: ATR
Result: Each winning trade is scaled out at 1R, 2R, and 3R, with the SL moving to breakeven after the first partial, and the remainder trailing behind the market.
Scenario 3 — I want to protect all my trades before the weekend
Configuration:
-
Time Exit: ON
-
Close before weekend: ON
-
Friday close hour: 20:00 (server time)
-
Only if losing: OFF (close everything)
Result: Every Friday at 20:00, TradeKeeper closes all managed positions before the market closes.
Scenario 4 — I use a specific EA and do not want its trades touched
Configuration:
-
Magic filter: All except list
-
Magic list:
123456(the other EA's magic)
Result: TradeKeeper manages everything except the trades from that specific EA.
Scenario 5 — I want a completely hands-off portfolio
Configuration:
-
Symbol filter: All symbols
-
Magic filter: All
-
All five modules: ON
Result: TradeKeeper manages every position on the account, no matter the symbol, no matter the origin. You can close your laptop and come back in a week.
Scenario 6 — I want to temporarily stop management without uninstalling
Click Pause All on the panel.
Result: All modules are turned off, but TradeKeeper keeps monitoring. When you are ready, click each toggle back to green.
17. Troubleshooting
The panel does not appear
-
Check that Show Panel is enabled in the inputs.
-
Refresh the chart (press F5).
-
Make sure the chart is not in a state that hides objects (right-click chart → Object List).
Nothing happens when a trade moves into profit
-
Check that the relevant module is ON (green) on the panel.
-
Verify the activation threshold. If you set it to 300 points and the trade has only moved 150 points, no action fires yet — by design.
-
Check the Journal tab in MT5. TradeKeeper writes a log entry every time it takes an action.
-
Verify the position is actually matched by your filter. If the filter says "current symbol" and the trade is on a different symbol, it will not be managed.
My SL was moved when I did not want it to be
-
Check the Breakeven module. If it is ON and your trade hit the trigger, TradeKeeper moved the SL by design.
-
Check the Trailing module. If the trailing was active and the price advanced past the activation threshold, the SL was moved by design.
-
If you want to prevent this, turn off the specific module via the panel toggle.
Partial close did not happen
-
Check that the position's volume is above the minimum lot for the symbol. If the partial close would leave a remainder below the minimum, TradeKeeper closes the whole position instead.
-
Verify the R reference was established. If the position had no SL when TradeKeeper first saw it, R-based modules are skipped.
-
Check the Journal for any modification errors.
"Invalid stops" errors appear in the Journal
The broker rejected the new stop-loss level because it was too close to the current price. TradeKeeper automatically checks the broker's stops level before every modification, so this should be rare. If it happens, it usually means the market moved very fast between the calculation and the send. TradeKeeper will retry on the next tick.
State was lost after a long break
MT5 Global Variables expire after 4 weeks of inactivity. If you shut down MT5 for a month, some state may be missing. In that case, TradeKeeper treats the position as newly discovered and re-evaluates all rules.
Fix: Before long shutdowns, close all positions manually or leave MT5 running in the background.
TradeKeeper is slow to react
TradeKeeper processes positions on every tick (throttled to every 200 ms) and on every trade event. If you are on a symbol that receives very few ticks (e.g., an exotic pair at midnight), reactions may be slower. Switch the chart to a more active symbol if this matters to you.
18. Best Practices
1. Start with the current symbol
On your first run, set the filter to Current symbol. Confirm that TradeKeeper behaves as you expect, then broaden the filter.
2. One EA, one chart
Attach TradeKeeper to a single chart — usually a low-timeframe chart of a symbol that ticks frequently. There is no need to run it on multiple charts; it can manage the entire account from a single instance.
3. Use R-based triggers
Whenever possible, use R-based triggers (breakeven at +1R, partials at +1/+2/+3R). This keeps your rules consistent across instruments and account sizes.
4. Enable ATR-based trailing
ATR-based trailing is the most robust default. It adapts to market conditions without requiring you to tune parameters per instrument.
5. Keep the minimum interval generous
The minimum interval between modifications (default 30 seconds) protects you from "too many requests" errors. Do not reduce it below 10 seconds unless you have a specific reason.
6. Review the panel every morning
Glance at the panel once a day. It shows you exactly which positions have had which levels fired. If something unexpected happens, you will see it immediately.
7. Combine with PropGuard
TradeKeeper and PropGuard from the same suite work beautifully together. TradeKeeper manages the trade; PropGuard protects the account. See the PropGuard guide for setup.
8. Test on demo first
Even if TradeKeeper is 100% free and safe, always test on a demo account for at least a week before running it on real money.
19. Limitations
TradeKeeper is powerful, but it has honest limitations:
It does not manage pending orders
Only open positions are managed. Pending orders (Buy Limit, Sell Stop, etc.) are ignored, because they have no entry price until they fill.
It cannot see other users' positions
Only positions on the currently logged-in account are visible. If you run TradeKeeper on an investor account, it sees only what that account can see.
It cannot manage positions that are already closed
If a position closes between two checks, TradeKeeper does nothing — the broker already handled it. There is no "undo."
Bar-based trailing modes use the chart timeframe
The candle, chandelier, PSAR, and MA trailing modes use the timeframe of the chart they are attached to. If you attach TradeKeeper to an M15 chart, those trails will use M15 data, even for a position you intend to hold for weeks. Use a dedicated higher-timeframe chart for long-term positions.
It does not support cross-account management
Each MT5 login is independent. If you have three accounts, you need three instances of TradeKeeper (one per account).
Netting account partial closes are approximate
On netting accounts, partial closes reduce the net volume. If you had multiple overlapping trades that merged into one net position, the "original volume" TradeKeeper remembers may not match your mental model of the trade. This is a characteristic of the netting account type itself, not a bug.
Global Variables expire after 4 weeks of inactivity
See the persistence section above. In practice this is not an issue if MT5 runs regularly.
No graphical backtesting of manual entries
TradeKeeper can be tested in the Strategy Tester, but only with trades opened programmatically. If you want to see how it handles manual trades, test on a demo account in real time.
20. Disclaimer
Trading involves substantial risk. This tool is provided free of charge, as-is, without any warranty. Test on a demo account first. MQLicense.com is not responsible for any losses.
TradeKeeper is a risk-management tool. It does not generate signals, does not predict market direction, and does not guarantee profit. It executes the rules you configure — no more, no less. The quality of those rules, and the trades they manage, is entirely your responsibility.
Before using TradeKeeper on a live account:
-
Test it on a demo account for at least one week.
-
Confirm that each module behaves the way you expect.
-
Understand the R-multiple engine and how it uses your initial SL.
-
Read the panel after each significant price move to verify the correct actions fired.
-
Never risk money you cannot afford to lose.
If any of this is unclear, do not use the tool. Read the guide again, experiment on demo, and only go live when you are confident.
Appendix A — Quick Reference Card
| Question | Answer |
|---|---|
| Does TradeKeeper open trades? | No. It only manages existing positions. |
| Does it work on Netting accounts? | Yes. Fully supported. |
| Does it need the terminal to be on? | Yes. It runs inside MT5. |
| Does it survive terminal restarts? | Yes. State is preserved. |
| Can it manage trades from other EAs? | Yes, when the magic filter allows it. |
| Can it manage manual trades? | Yes, by default. |
| What if a position has no SL? | Initial Protection sets one. |
| What is R? | The distance from entry to initial SL. |
| What if the broker rejects a modification? | It is logged and retried. |
| How do I stop all management temporarily? | Click Pause All on the panel. |
Appendix B — Glossary
EA (Expert Advisor) — An automated program running inside MetaTrader.
Magic number — A unique ID attached to trades by an EA. Manual trades have magic 0.
Hedging account — An MT5 account type that allows multiple simultaneous positions in the same symbol.
Netting account — An MT5 account type that merges all trades in the same symbol into a single net position.
R-multiple — The profit or loss of a trade, expressed as a multiple of its initial risk.
SL (Stop Loss) — A price level at which the position is automatically closed to limit loss.
TP (Take Profit) — A price level at which the position is automatically closed to lock in profit.
Trailing stop — A stop loss that moves with the price to lock in profit as a trade advances.
Breakeven — Moving the stop loss to the entry price (or slightly beyond) so a trade cannot lose.
Partial close — Closing only a portion of a position while keeping the rest open.
ATR (Average True Range) — A measure of how much a symbol typically moves in a given time. Used to size stops proportionally to volatility.
PSAR (Parabolic SAR) — An indicator that provides a moving stop-and-reverse level.
Chandelier Exit — A trailing-stop technique based on recent highs/lows and ATR.
📊 نظرات 0
اولین نفری باشید که تجربه خود را به اشتراک میگذارد!
💬 نوشتن نظر
🔐 برای نوشتن نظر و به اشتراکگذاری تجربه خود وارد شوید.
🔑 ورود