AK Trade Manager
User Guide
Installation, trade entry, position management and settings
Install and get started
AK Trade Manager is a trade entry and position management tool for MetaTrader 5 on Windows. Choose your stop and risk; the expert calculates volume and applies the selected management plan. This guide covers version 2.10.
- Extract the ZIP. In the destination terminal, select
File → Open Data Folder. - Copy the package's
MQL5folder into that Data Folder. The expert goes inMQL5/Experts/AK_TradeManager/AK_TradeManager.ex5; the optional news service goes inMQL5/Services/AKTM_NewsService.ex5. - Refresh Navigator (
Ctrl+N), or restart the terminal if necessary. Open your broker's exact symbol. - Attach the expert to the chart. Enable both its Algo Trading permission and the terminal's Algo Trading button. Each chart runs one expert. See MT5's official setup instructions.
- Review risk, commission, plan and management scope in Inputs, then select OK. Check that the panel title shows
AK Trade Manager 2.10.
Activate your licence
- In MT5 select
Tools → Options → Expert Advisors, tick Allow WebRequest for listed URL and addhttps://akorderflow.com. No DLL imports are needed. - Copy your serial (
AKFB-XXXXX-XXXXX-XXXXX-XXXXX) from your order page or account on akorderflow.com. - Attach the expert, open
Inputsand paste the serial intoLicenseKey(last group, Licence), then OK. Within a few seconds the panel shows the normal ACTIVE status.
One serial works on two MT5 trading accounts (account number + broker server, demo or live). The licence is lifetime. The expert sends only the serial, a one-way hash of your account number and server, the product name and version to akorderflow.com, never your name, balance, positions or password. It re-checks online about once a day and keeps working offline for up to 7 days after the last successful check. To move the serial to another account, contact support.
Without a valid licence, only new entries are refused (RUN, BUY/SELL, pending lines, Fibonacci). Open positions keep full management: B/E, partials, trailing, closes, pending deletes and the account guard. A licence problem never closes or changes a trade. Panel messages: LICENCE: enter serial, checking..., serial not valid, account limit reached, allow akorderflow.com in WebRequest, server unreachable, retrying. In the Strategy Tester the expert runs without a serial.
The news service is optional while NewsFilter=false.
FiboAutoEntry=true by default. Completing a new Fibonacci drawing can send a market order. Set it to false in Inputs to use Fibonacci objects for analysis without automatic entry.Starting defaults
Risk: 0.5% of balance. Plan: P1 Standard. News filter: off. Panel: vertical at 80%. Daily loss limit: 4%. Static drawdown limit: 8%. Safety buffer: 10%. Round-turn commission per lot: 0. Adjust these settings to your account. The default management scope includes manual trades and trades opened by this expert.
These defaults are built into the EX5. A matching AK_TradeManager_2.10_Defaults.set is included under MQL5/Presets. Load it through F7 → Inputs → Load when needed; a fresh installation already uses these defaults.
Save settings and upgrade
Use F7 → Inputs → Save to save a settings file; use Load to restore it. Reset restores factory defaults. Back up settings and program data before replacing an installed version. Prefer upgrading with no open positions or pending orders. Reattach the new expert and review your inputs and entry preview. Do not run old and new managers on the same position simultaneously.
Panel size and layout
Quick actions while collapsed
The title's − button keeps SL LINE, RUN, B/E, 50% and CLS ALL visible. Vertical mode pairs SL LINE with RUN, B/E with 50%, and places CLS ALL on the last row; horizontal mode uses one row of five buttons. Current plan/risk, entry preview and action feedback remain visible; hover for full text. Press + to expand. MinimizedQuickActions=true is the default; set it to false for a status-only collapsed view. CLS ALL still requires a second click within four seconds.
| Control | Action |
|---|---|
A− / A+ | Decrease / increase panel size in 10-point percentage steps, from 70% to 140%. |
| Current percentage | Shows the selected size. Click it to return to 100%. |
VERT / HORIZ | Switch to a two-column vertical or five-column horizontal arrangement. SL LINE and RUN stay adjacent; B/E and 50% stay adjacent. |
− / + in title corner | Collapse / expand the panel. Automatic management continues while collapsed. |
Font, button size, width and spacing scale together. Text has a minimum font size of 7 and buttons a minimum height of 22 units. Long text may wrap or shorten; hover to read its tooltip. If the panel does not fit, reduce its size, choose HORIZ or increase chart height.
In F7 → Inputs, PanelLayout and PanelScalePercent set the initial view. FontSize is the base at 100%; PanelRight selects the corner and PanelX/PanelY set edge offsets. View choices are saved for the chart and PanelInstance and survive timeframe changes. Changing the corresponding initial input replaces the saved choice; simply reopening and accepting unchanged inputs does not reset it.
Three ways to enter
Deleting a draft SL also removes its price annotation. A new Fibonacci used for entry is removed after the order is accepted; rejected or uncertain requests retain the drawing for inspection. Removing a draft does not change the stop on an existing position. Analytical Fibonacci drawings already present when the expert starts are preserved.
1. SL LINE and RUN
A stop below Bid selects BUY; a stop above Ask selects SELL. A stop inside the spread is invalid. Entry uses the current market price, not the red line's price. Without a valid stop, RUN cannot send an entry. After acceptance, the preview is consumed so another click does not reuse the same entry.
2. A new Fibonacci drawing sets the stop
With FiboAutoEntry=true, draw a new Fibonacci Retracement and release its final endpoint at the desired stop price. Once the drawing is completed, the expert attempts a market entry with that stop; RUN is not required. The first anchor does not set entry price. Endpoint above Ask → SELL; below Bid → BUY. Risk, funds and broker requirements still apply.
Fibonacci objects already on the chart when the expert starts do not trigger automatic entries. A consumed Fibonacci is not reused for another trade. If importing from several existing Fibonacci objects, select the intended object. Set FiboAutoEntry to false when using new Fibonacci drawings for analysis.
3. Entry lines for pending orders
Choose L BUY or L SELL. Move the white ENTRY and red SL lines; optionally enable and position TP. Review the preview, then click RUN.
| Side | ENTRY location | Order |
|---|---|---|
| BUY | Below Ask | BUY LIMIT |
| BUY | Above Ask | BUY STOP |
| SELL | Above Bid | SELL LIMIT |
| SELL | Below Bid | SELL STOP |
Within PendingToleranceP of the relevant market price, the entry becomes a market order; the default tolerance is 5 symbol points. Prices move, so review the order type immediately before RUN. PendingExpiryMin=0 requests good-till-cancelled; a positive value sets an expiry in minutes, subject to broker support.
Read the panel
| Display | Meaning |
|---|---|
| Day · W / L / T | Current equity minus the day-start base and adjusted cash flows; floating results are included. W/L count completed profitable/losing trade cycles, including costs, rather than each partial exit. T counts distinct executed entry orders for the day. |
| Left · day / DD | Money remaining to the raw daily loss and account drawdown limits. The safety buffer can block entry sooner. OFF indicates an override; guard off means those protections are disabled. |
| Open · risk / pos | Estimated additional loss to stops for account positions and pending orders, including the configured cost assumptions. pos counts open positions only. NO SL! can indicate unknown risk or insufficient protection. |
| Candle timers | M1, M5, M15 and H1 show minutes:seconds until the current symbol’s candle closes, based on broker server time and the actual bar opening time. One row in horizontal mode, two rows in vertical mode. The last 10 seconds turn yellow. WAIT means the previous bar has elapsed and a new candle tick has not arrived; --:-- means connection or bar data is unavailable. |
| spr · news | A compact line below the buttons shows spread in symbol points, (Ask − Bid) / Point, and the news filter state. |
| State | ACTIVE means general checks currently allow operation; each order is still checked separately. Other states describe connection, permissions, missing history, conflicting chart settings or an active block/lock. |
| Risk below the plan · − / + | Risk for the next entry is directly below the plan name. %B means balance percentage; %E means equity percentage; fixed money shows the account currency. Percentage risk also shows its monetary budget. Hover for full details. The ± buttons adjust the active risk source. An asterisk indicates a dynamic-risk multiplier. |
| P1 / P2 / P3 | Plan for the next entry. Use the arrows to change it and hover for details. Changing the panel selection does not replace an existing position's saved plan. |
| Preview / bottom message | Order type, volume, monetary risk, target ratio and the last action's result. Hover for the full text. Confirm execution and accepted prices in the terminal's Trade and History tabs. |
Plans, shared or own risk, and R
The GLOBAL / OWN button beside the plan name selects that plan's risk source. Click it to switch; the amount is displayed directly beneath the plan.
| Source | Behaviour |
|---|---|
| GLOBAL | Use the main RiskMode, RiskValue and RiskStep. The ± buttons change the shared amount for all plans using GLOBAL. |
| OWN | Use the selected plan's P1RiskMode/Value/Step, P2RiskMode/Value/Step or P3RiskMode/Value/Step. The ± buttons change only that plan's own amount. |
In F7 → Inputs → Plan 1 / 2 / 3, RiskSource selects Global or Own. For Own, choose balance %, equity % or fixed money in RiskMode, the amount in RiskValue and the increment in RiskStep. For example, P2RiskSource=Own, P2RiskMode=Fixed money, P2RiskValue=50 and P2RiskStep=5 gives P2 an independent 50-account-currency budget with increments of 5.
All three plans default to GLOBAL. Source choices and adjusted amounts are saved for the account, symbol and chart, including across timeframe changes. Changing the corresponding amount, mode or source input overrides that setting's saved choice. Switching between GLOBAL and OWN preserves the own amount for later reuse.
1R is the initial price distance between entry and the initial stop. For example, SELL at 80,000 with SL at 80,100 has a 100-price-unit R distance. Management uses the relevant Bid/Ask price.
| Default plan | Partial exits | Automatic B/E | Target / trailing |
|---|---|---|---|
| P1 Standard | 50% at 1R | 1R | TP 2R; trailing off |
| P2 Scalp | 50% at 0.8R | 0.8R | TP 1.5R; trailing off |
| P3 Runner | 30% at 1R, another 30% at 2R | 1R | No fixed TP; trailing starts at 2R, keeping 1R behind the best price |
Automatic partials use the initial cycle volume and account for exits already completed. The manual 50% button uses current volume. Small lots may not permit a valid partial. Example: with minimum and step both 0.01, 0.02 can be reduced to 0.01, but half of 0.01 cannot be closed.
In Inputs, P1Partials=1:50 means “at 1R, close 50%”; 1:30,2:30 defines two separate stages. An empty Partials value disables planned partial exits. TP_R=0 removes the fixed target, BE_R=0 disables automatic B/E and Trail=off disables trailing.
How B/E works
For BUY, the proposed stop is entry plus the offset; for SELL, entry minus the offset. BE_OffsetPoints defaults to 10 symbol points. Prices are aligned to the symbol's permitted tick size.
For BUY, Bid must be sufficiently above the proposed stop. For SELL, Ask must be sufficiently below it. Broker stop and freeze distances are checked, so a small floating profit alone may not be enough.
moved counts successful stop changes; already means the stop is already equal or better; not moved indicates a failed or currently unavailable move. Read the bottom message for the reason and required price.
Configure the expert: F7 → Inputs
Risk per trade
RiskMode chooses balance %, equity % or fixed money; RiskValue sets the base amount and RiskStep the panel increment. CommissionPerLot is round-turn commission per lot in account currency. RiskTolerancePct permits the minimum lot only within that percentage above target risk; set zero to reject this overshoot. MaxLotPerTrade=0 means no additional lot cap.
DefaultSLPoints sets the initial suggested distance; zero uses ATR with DefaultSL_ATRMult, ATRPeriod and ATRTimeframe. These settings do not replace a stop you have deliberately positioned.
Dynamic risk
DynRiskEnabled defaults to false. DynWinsStep/DynLossStep set streak lengths; DynWinFactor/DynLossFactor multiply risk; DynMaxMult/DynMinMult bound the multiplier. Streaks use completed trade cycles within the management scope.
Plan 1 / 2 / 3
RiskSource selects Global or Own. Each plan’s RiskMode, RiskValue and RiskStep apply only in OWN mode. Name is the displayed label; Partials defines staged exits; TP_R is the final target; BE_R triggers automatic B/E. Trail selects off, R step, ATR, points or candle low/high. TrailStart is the activation level in R. TrailValue means the R distance behind the best price, ATR multiplier, point distance or candle bars-back count, according to mode.
Management
ManageScope selects all trades, manual plus this expert, or only this expert's Magic. ManageAllSymbols extends automatic management beyond this chart's symbol. DefaultPlan chooses the initial plan. ManualPlan assigns a plan to managed manual/other trades; zero means guard only. AutoSLForNoSL adds a suggested stop to managed outside trades without one; it does not allow stop-free panel entries.
MaxHoldMinutes sets a time-based close, with zero off. MagicNumber identifies this expert's entries. SlippagePoints sets the order deviation parameter in points. The entry section explains pending tolerance and expiry.
Prop guard
GuardEnabled enables the account guard. DailyBase chooses day-start balance, equity or the higher value. DailyLossMode/Value sets the daily limit. MaxDDMode selects off, static from the initial base, trailing from the equity high, or trailing that stops at the initial balance. MaxDDLimitMode/Value sets its amount. InitialBalance=0 uses the first observed balance. DailyTargetMode/Value sets the profit target that locks the day; zero target disables it.
DayResetHour/Minute uses broker server time. SafetyBufferPct acts before the raw loss limit. MaxTradesPerDay, MaxConsecLosses and MaxOpenPositions are off at zero; the entry count check for MaxOpenPositions includes pending-order reservations. CheckRiskBeforeEntry checks combined risk. FridayClose/Time and NoNewTradesAfter set time restrictions. See Account guard below for scope and enforcement.
News, Fibonacci and journal
NewsFilter enables the optional news block. NewsMinutesBefore/After sets the window; NewsHighOnly chooses high impact only or high plus medium; NewsCurrencies selects currencies. NewsClosePositions separately enables closing before news. FiboAutoEntry controls entry after a fresh completed Fibonacci drawing. JournalCSV records the account deal ledger. Screenshots stores entry/exit images at ShotWidth × ShotHeight. AlertsOn enables lock alerts.
Recovery and execution
KnownDayStartEquity/Date restores a missing historical equity base, using the actual reset-time equity and server date. SlippageReservePoints adds a reserve to sizing; QuoteMaxAgeSeconds limits quote age; NewsCacheMaxAgeSeconds limits calendar-cache age. ShowPreTradeSL displays an initial stop line. PanelInstance separates panel state on the same symbol.
ConfirmedUnexecutedRequest is for recovery of an uncertain request only after the broker confirms it never executed and is no longer processing. It is not a routine error-reset button.
Optional news service
NewsFilter=false is the default for every instrument, including BTC, gold and forex. No news service is needed in that mode; the account guard remains separate.
- Install
AKTM_NewsService.ex5as described above. - In Navigator → Services, right-click the service and choose Add Service. Start the created instance if stopped. One instance per terminal is enough; it does not attach to a chart. See MT5 services.
- Allow the terminal to obtain calendar data. Check Experts/Journal if necessary.
- Set
NewsFilter=truein the expert, then configure the time window, impact and currencies. - Confirm that
news cache missing/staleclears. A block around a relevant event is expected.
The service refreshes roughly every 30 seconds. The default maximum cache age is 180 seconds. A failed refresh does not renew the age of old data. Cache files are stored in Data Folder/MQL5/Files/AKTM2/news_*.csv.
An empty NewsCurrencies value uses the symbol's base/profit currencies plus USD; use USD,EUR for an explicit list. NewsHighOnly=false includes medium and high impact events. NewsClosePositions defaults to false and is separate from blocking entries. With news filtering and EnforceLocks enabled, newly observed outside entries or pending orders can also be closed/deleted while blocked.
The service reads the terminal's built-in economic calendar and sends no trades. It needs a connected terminal and available calendar data.
Account guard and multiple charts
The daily loss, daily target and drawdown guard operates across the account. When a guard lock triggers, it requests closure of all positions and deletion of pending orders, including trades outside ManageScope. A 10% safety buffer acts before the raw limit; in a simple 4% daily-limit example, the buffered threshold is 3.6%.
ManageScope and ManageAllSymbols govern plan/stop management. They do not restrict the account-wide guard or the explicit close-all buttons. EnforceLocks=true can close/cancel outside trades observed while blocked; it cannot prevent another program's request before it reaches the server. Turning EnforceLocks off does not disable the closure caused by a guard lock itself.
Use matching shared guard, news and cost settings on charts in the same terminal. Inconsistent settings cause a configuration conflict. Separate terminals or computers do not share this coordination.
Day-start values
Guard schedules use broker server time. A balance day base can be reconstructed from history. EQUITY/HIGHER requires a valid snapshot; otherwise entries are blocked. For recovery, KnownDayStartEquity/Date must contain the actual equity at the reset time and its server date, not current equity. Defined cash flows are adjusted in account calculations.
Netting accounts
A netting account has an aggregate position per symbol. Adding same-direction volume with the same plan can establish a new management basis. Two independent plans are not created on that single aggregate position. Close the existing position before reversing direction from the panel.
Terminal connection
Automatic partials, B/E moves, trailing and guard actions require the expert to run and trade communication to be available. Previously accepted SL/TP orders remain governed by the broker's server rules. Collapsing the panel does not stop management; disabling Algo Trading does not automatically close existing positions.
Troubleshooting
| Message or symptom | What to check |
|---|---|
| RUN does not open an order | Read the full message/tooltip. Check a valid stop outside the spread, correct side, broker distance, a fresh quote, margin, minimum/step volume and account limits. ACTIVE is a general state, not approval of every order. |
| ALGO TRADING OFF / DISCONNECTED | Check connection and both terminal and expert permissions. Terminal settings may disable trading after account/profile/timeframe changes. |
| news cache missing/stale | Start the service and restore calendar access, or set NewsFilter=false if the filter is not needed. A full settings Reset is unnecessary. |
| B/E: not moved / already | Check required Bid/Ask and stop/freeze distances. already means the stop is equal or better. Read the reason in the panel. |
| 50% is refused | After rounding, both the exit and remaining volume must meet the broker's minimum and step. A minimum-size position may not allow a half exit. |
| DAY BASE REQUIRED / HISTORY NOT READY | Check history and connection. Equity-base recovery requires the true reset-time equity; do not substitute an estimated value. |
| CONFIG CONFLICT | Align shared settings across charts on the account. |
| UNCERTAIN request #N | Check Trade, History and broker records before resubmitting. Only after confirmation that the request never executed and is no longer processing, use ConfirmedUnexecutedRequest=N. Restore it to zero after recovery. |
| Panel does not fit | Use A−, HORIZ or a taller chart. Review FontSize and PanelX/PanelY. Hover over shortened text for the full value. |
When contacting support, include the version, exact symbol, Hedging/Netting account type, full error text, relevant settings and broker server time. Remove account numbers, names and other private data from screenshots and logs.
Journal and local files
Program data is stored under Data Folder/MQL5/Files/AKTM2. The UTF-16 journal_AK2_*.csv ledger is tied to the account/server and records deals and costs, rather than one row per completed trade. Separate outside cash flows when calculating trading results. Enabled screenshots are saved in AKTM2/shots.
Back up program data and saved settings. Do not delete recovery files or terminal Global Variables to clear an uncertain request. Use the documented recovery process.
Complete default settings
These are the factory defaults for all 110 inputs in version 2.10. A loaded settings file or saved panel state may change your current values. Money amounts use account currency; points use the symbol’s Point value. Names match the terminal’s Inputs.
| Input | Default |
|---|---|
| Risk per trade | |
RiskMode | % of balance |
RiskValue | 0.5 |
RiskStep | 0.1 |
CommissionPerLot | 0.0 |
RiskTolerancePct | 10.0 |
MaxLotPerTrade | 0.0 |
DefaultSLPoints | 0 |
DefaultSL_ATRMult | 1.5 |
ATRPeriod | 14 |
ATRTimeframe | M5 — five minutes |
| Dynamic risk (streaks) | |
DynRiskEnabled | false — Off |
DynWinsStep | 2 |
DynWinFactor | 1.25 |
DynMaxMult | 2.0 |
DynLossStep | 2 |
DynLossFactor | 0.5 |
DynMinMult | 0.25 |
| Plan 1 | |
P1RiskSource | Global risk (shared) |
P1RiskMode | % of balance |
P1RiskValue | 0.5 |
P1RiskStep | 0.1 |
P1Name | "Standard" |
P1Partials | "1:50" |
P1TP_R | 2.0 |
P1BE_R | 1.0 |
P1Trail | Off |
P1TrailStart | 1.5 |
P1TrailValue | 1.0 |
| Plan 2 | |
P2RiskSource | Global risk (shared) |
P2RiskMode | % of balance |
P2RiskValue | 0.5 |
P2RiskStep | 0.1 |
P2Name | "Scalp" |
P2Partials | "0.8:50" |
P2TP_R | 1.5 |
P2BE_R | 0.8 |
P2Trail | Off |
P2TrailStart | 1.0 |
P2TrailValue | 0.5 |
| Plan 3 | |
P3RiskSource | Global risk (shared) |
P3RiskMode | % of balance |
P3RiskValue | 0.5 |
P3RiskStep | 0.1 |
P3Name | "Runner" |
P3Partials | "1:30,2:30" |
P3TP_R | 0.0 |
P3BE_R | 1.0 |
P3Trail | R step |
P3TrailStart | 2.0 |
P3TrailValue | 1.0 |
| Management | |
DefaultPlan | 1 |
ManageScope | Manual trades + this expert |
ManualPlan | 1 |
ManageAllSymbols | false — Off |
AutoSLForNoSL | true — On |
BE_OffsetPoints | 10 |
MaxHoldMinutes | 0 |
PendingToleranceP | 5 |
PendingExpiryMin | 0 |
MagicNumber | 20261018 |
SlippagePoints | 30 |
| Prop guard (account-wide) | |
GuardEnabled | true — On |
DayResetHour | 0 |
DayResetMinute | 0 |
DailyBase | Balance at day start |
DailyLossMode | Percent |
DailyLossValue | 4.0 |
MaxDDMode | Static, from initial balance |
MaxDDLimitMode | Percent |
MaxDDValue | 8.0 |
InitialBalance | 0.0 |
DailyTargetMode | Percent |
DailyTargetValue | 0.0 |
SafetyBufferPct | 10.0 |
MaxTradesPerDay | 0 |
MaxConsecLosses | 0 |
MaxOpenPositions | 0 |
CheckRiskBeforeEntry | true — On |
EnforceLocks | true — On |
FridayClose | false — Off |
FridayCloseTime | "21:45" |
NoNewTradesAfter | "" — Empty |
| News filter | |
NewsFilter | false — Off |
NewsMinutesBefore | 15 |
NewsMinutesAfter | 15 |
NewsHighOnly | true — On |
NewsClosePositions | false — Off |
NewsCurrencies | "" — Empty |
| Fibonacci entry | |
FiboAutoEntry | true — On |
| Journal | |
JournalCSV | true — On |
Screenshots | true — On |
ShotWidth | 1600 |
ShotHeight | 900 |
AlertsOn | true — On |
| Panel | |
PanelRight | true — On |
PanelX | 8 |
PanelY | 22 |
FontSize | 9 |
PanelLayout | Vertical, two columns |
PanelScalePercent | 80 |
MinimizedQuickActions | true — On |
| Recovery and execution | |
KnownDayStartEquity | 0 |
KnownDayStartDate | "" — Empty |
SlippageReservePoints | 30 |
QuoteMaxAgeSeconds | 30 |
ShowPreTradeSL | true — On |
NewsCacheMaxAgeSeconds | 180 |
PanelInstance | "default" |
ConfirmedUnexecutedRequest | 0 |
| Licence | |
LicenseKey | "" — Empty |