🚀 VM Auto SLTP Pro – Full User Guide with Detailed Input Explanations
📌 Introduction
VM Auto SLTP Pro is an advanced trade management Expert Advisor for MetaTrader 5.
It is designed to help traders manage positions more efficiently by automating important tasks such as:
- setting Stop Loss and Take Profit
- managing trades by fixed points, fixed price, USD value, or ATR
- controlling basket profit and basket loss
- applying breakeven
- using trailing stop
- partially closing positions
- managing pending orders
- limiting spread and position duration
- controlling everything from an easy-to-use on-chart panel
This EA is a trade management tool, not a signal generator.
It does not tell you when to enter the market. Instead, it helps you manage your trades after you decide to trade.
⚙️ 1. Installation
1.1 Install the EA
- Open MetaTrader 5
- Go to File → Open Data Folder
- Open the folder: MQL5 → Experts
- Copy the EA file into this folder
- Restart MetaTrader 5 or refresh the Navigator
- Drag the EA onto the chart you want to use
- Enable AutoTrading
- Click OK
Once attached, the EA can display its control panel and manage trades according to your settings.
🧩 2. Single Chart Operation SettingsEnableSingleChartOperation
Purpose:
This option tells the EA whether it should manage only the current chart or a wider group of trades.
- true = the EA manages only trades related to the chart it is attached to
- false = the EA may manage all trades that match its trading logic and Magic Number
Why this matters
If you trade several symbols at the same time, this setting helps keep each chart independent.
Recommended use
- Use true if you want safer and cleaner chart-by-chart management
- Use false only if you clearly understand how you want the EA to manage trades across charts
🎯 3. ATR SL/TP Settings
ATR means Average True Range, which measures market volatility.
UseATRForSLTP
Purpose:
Enables or disables ATR-based Stop Loss and Take Profit calculation.
- true = the EA calculates SL and TP using ATR
- false = ATR mode is not used
ATR_Period
Purpose:
Defines how many candles are used to calculate ATR.
- A smaller value reacts faster
- A larger value is smoother
Default: 14
ATR_Multiplier_SL
Purpose:
Determines how far the Stop Loss will be placed from the entry, based on ATR.
Example:
- ATR = 100 points
- ATR_Multiplier_SL = 5.0
- Stop Loss distance = 500 points
ATR_Multiplier_TP
Purpose:
Determines how far the Take Profit will be placed from the entry, based on ATR.
Example:
- ATR = 100 points
- ATR_Multiplier_TP = 3.0
- Take Profit distance = 300 points
When to use ATR mode
ATR mode is useful when market volatility changes often, because the EA automatically adapts SL and TP distances to current conditions.
Good for
- Gold
- Crypto
- Volatile markets
- Traders who prefer dynamic risk control
📏 4. Fixed Points SL/TP Settings
This mode uses a constant number of points for Stop Loss and Take Profit.
Fixed_SL_Points
Purpose:
Sets Stop Loss by a fixed number of points.
Example:
- Fixed_SL_Points = 500
- The EA places Stop Loss 500 points away from the entry
Fixed_TP_Points
Purpose:
Sets Take Profit by a fixed number of points.
Example:
- Fixed_TP_Points = 1000
- The EA places Take Profit 1000 points away from the entry
When to use fixed points mode
Use this mode if you want simple and consistent trade management.
Good for
- beginners
- scalping
- traders who already know the point distance they want
🎯 5. Fixed Price SL/TP Settings
This mode allows you to define exact price levels for Stop Loss and Take Profit.
UseFixedPriceSLTP
Purpose:
Enables or disables the fixed price SL/TP mode.
- true = use exact price levels
- false = do not use this mode
Fixed_SL_Price
Purpose:
The exact price where Stop Loss should be placed.
- 0.0 = not used
Fixed_TP_Price
Purpose:
The exact price where Take Profit should be placed.
- 0.0 = not used
Example
If you open a Buy trade and want:
- Stop Loss at 1.08500
- Take Profit at 1.09500
Then enter those exact prices here.
When to use fixed price mode
This is useful when you trade based on:
- support and resistance
- supply and demand
- manually selected chart levels
💰 6. USD-based SL/TP Settings
This mode manages trades based on money value rather than chart distance.
UseUSDSLTP
Purpose:
Enables or disables USD-based SL/TP.
- true = SL/TP is calculated by money value
- false = this mode is not used
USD_SL
Purpose:
Maximum acceptable loss per trade in USD.
- 0.0 = not used
Example:
- USD_SL = 20
- The EA will calculate where Stop Loss should be placed so the loss is about 20 USD
USD_TP
Purpose:
Target profit per trade in USD.
Example:
- USD_TP = 40
- The EA calculates Take Profit to target about 40 USD profit
When to use USD mode
Use this if you prefer to think in money terms instead of points or price levels.
Good for
- strict money management
- traders who use different symbols and want the same dollar risk
📊 7. Chart Display for Fixed Price
These settings control how fixed SL/TP price lines are displayed on the chart.
ShowFixedPriceOnChart
- true = show fixed SL/TP lines on chart
- false = hide them
FixedPriceSLColor
Sets the color of the Stop Loss line.
FixedPriceTPColor
Sets the color of the Take Profit line.
FixedPriceLineStyle
Sets the line style, for example dashed or solid.
Why this helps
It gives a clear visual reference on the chart, so the user can quickly see where the current fixed SL and TP are located.
📈 8. Chart Display for ATR SL/TP
These settings control ATR-based line visualization.
ShowATRSLTPOnChart
- true = show ATR-based SL/TP on chart
- false = hide them
ATRSLColor
Color for ATR Stop Loss line.
ATRTPColor
Color for ATR Take Profit line.
ATRLineStyle
Style of ATR lines.
Why this helps
It allows the trader to visualize how ATR mode is placing Stop Loss and Take Profit based on volatility.
📦 9. Trend Settings / Basket and Order Management
This group contains several advanced risk and profit management tools.
UseTrendMoneyTP_SL
Purpose:
Enable profit/loss management for each individual order.
- true = each order can be closed by its own USD target or loss limit
TrendTargetProfitUSD
Profit target for each individual order.
Example:
- 50 = close a trade when it reaches +50 USD
TrendStoplossUSD
Loss limit for each individual order.
Example:
- -50 = close a trade when it reaches -50 USD
UseSumMoneyTP_SL
Purpose:
Enable total basket-based profit/loss control for all orders together.
- true = the EA monitors combined floating result of all managed positions
SumTargetProfitUSD
Total basket profit target.
Example:
- 100 = close all positions when total profit reaches +100 USD
SumStoplossUSD
Total basket stop loss.
Example:
- -100 = close all positions when total floating loss reaches -100 USD
When useful
This is helpful for traders who open multiple positions and want to close the whole basket at a defined total profit or loss.
UseMaxTrendOrders
Purpose:
Limit the maximum number of open orders.
- true = the EA will respect the order limit
MaxTrendOrders
Maximum number of orders allowed.
Example:
- 10 = do not allow more than 10 positions
Why this matters
It helps prevent overtrading and excessive exposure.
UseAverageProfitPointsTarget
Purpose:
Close all orders when average profit per trade reaches a target in points.
AverageProfitPointsTarget
The average profit target in points.
Example:
- If set to 10000, the EA closes all when average trade profit reaches that value
UseAverageLossPoints
Purpose:
Close all orders when average loss per trade reaches a defined level.
AverageLossPointsLimit
Average loss threshold in points.
Why these average settings are useful
They are useful when you manage a basket of positions and want the EA to evaluate the group by average performance rather than just total money.
🔄 10. Advanced Trailing Stop (R-based)
This is one of the most advanced features of the Pro version.
In trading, R means the initial risk of the trade.
Example:
- if your original Stop Loss distance equals 1R
- then profit equal to that same distance is also 1R
- 2R means profit is twice your original risk
UseAdaptiveTrailing
- true = enable R-based trailing
- false = disable it
TrailingStartR
The profit level in R at which trailing begins.
Example:
- 1.0 = start trailing when trade reaches 1R profit
TrailingStepR
How often the Stop Loss is advanced, measured in R.
Example:
- 0.5 = move trailing stop every additional 0.5R
Total_Profit_Target
Target profit in R for closing the position.
Example:
- 2.0 = close when total profit reaches 2R
Why R-based trailing is powerful
It adjusts trade management based on the original structure of the trade, not just random point distance.
Partial_Close
- true = enable partial close
- false = disable partial close
Partial_Close_At
The R level where partial closing starts.
Example:
- 1.5 = close part of the trade when profit reaches 1.5R
Partial_Close_Percent
How much of the trade volume is closed.
Example:
- 50.0 = close 50% of the position, keep the remaining 50% running
Why this helps
This allows you to secure some profit while still giving the remaining position room to continue.
📏 11. Trailing Stop Settings (Points)
This is a simpler, more traditional trailing stop method.
UseTrailingStop
- true = enable points-based trailing stop
- false = disable it
TrailingStart
The number of points in profit required before trailing begins.
Example:
- 400 = begin trailing after 400 points profit
TrailingStep
The step size of trailing in points.
Example:
- 200 = move Stop Loss in 200-point steps
Difference from R-based trailing
- Points trailing is simple and fixed
- R trailing is more strategic and adapts to the original risk structure
🔒 12. Breakeven Settings
Breakeven moves Stop Loss to the entry area when the trade reaches enough profit.
UseBreakeven
- true = enable breakeven
- false = disable breakeven
BreakevenMode
There are 2 modes:
BREAKEVEN_MODE_POINTS
Breakeven is activated based on profit in points
BREAKEVEN_MODE_R
Breakeven is activated based on profit in R
BreakevenPointsThreshold
Used in Points Mode.
Defines how many points of profit are required before moving to breakeven.
Example:
- 200 = when trade reaches 200 points profit, move SL to breakeven
BreakevenR
Used in R Mode.
Defines how much profit in R is required before breakeven is activated.
Example:
- 1.0 = move to breakeven at 1R profit
BreakevenPoints
This is a small safety buffer added around the entry price.
Example:
- 20 = move Stop Loss to entry plus/minus 20 points
Why this matters
Instead of moving exactly to entry, the EA can move slightly beyond entry to better protect against minor pullbacks or spread.
⏳ 13. Max Bars Open Settings
UseMaxBarsOpen
- true = enable maximum holding time by number of candles
- false = disable it
MaxBarsOpen
Maximum number of bars a position can remain open.
Example:
- 60 = close the trade after 60 candles
Why this is useful
This is helpful for traders who do not want positions to remain open too long, especially in scalping or intraday strategies.
💹 14. Account Percentage TP/SL Settings
This feature closes all trades based on the account’s percentage gain or loss.
UsePercentageTP_SL
- true = enable percentage-based basket control
- false = disable it
TP_Percent
Profit percentage at which all trades are closed.
Example:
- 3.0 = close all trades when account-level floating profit reaches 3%
SL_Percent
Loss percentage at which all trades are closed.
Example:
- -10.0 = close all trades when account-level floating loss reaches -10%
Why this helps
This is very useful for traders who manage their performance at the account level rather than trade-by-trade.
🧠 15. Smart Close Settings
Smart Close is a technical-exit feature.
EnableSmartClose
- true = enable smart close
- false = disable it
SmartCloseTimeframe
Defines the timeframe used for Smart Close analysis.
Example:
- PERIOD_M15 = analyze on 15-minute chart data
SmartClose_EMA_Period
EMA period used in Smart Close logic.
SmartClose_RSI_Period
RSI period used in Smart Close logic.
Min_R
Minimum profit in R required before Smart Close is allowed to act.
Example:
- 1.0 = only activate Smart Close when basket or trade is at least 1R in profit
Min_USD
Minimum basket profit in USD before Smart Close is allowed to act.
Example:
- 50.0 = only activate if profit is at least 50 USD
General logic
Smart Close is designed to help the EA exit trades when technical conditions suggest the move may be weakening or reversing.
This can help traders protect profits instead of waiting for a full reversal.
⏳ 16. Pending Orders Settings
These settings control pending order functionality.
EnablePendingOrders
- true = allow pending order features
- false = disable them
ShowPendingOnChart
- true = show pending Entry / SL / TP lines on chart
- false = hide them
PendingEntryColor
Line color for pending entry
PendingSLColor
Line color for pending Stop Loss
PendingTPColor
Line color for pending Take Profit
PendingLineStyle
Line style for pending order display
Why this is useful
It makes pending order placement clearer and easier to monitor visually.
🎛️ 17. UI Settings
These settings control the appearance and behavior of the on-chart control panel.
ShowControlPanel
- true = show the control panel
- false = hide it
PanelX / PanelY
These define the position of the panel on the screen.
- PanelX = horizontal position
- PanelY = vertical position
PanelWidth / PanelHeight
These define the size of the panel.
PanelBackground
Background color of the panel
PanelBorderColor
Border color of the panel
PanelTextColor
Text color
PanelFontSize
Font size used in the panel
PanelFont
Font name
PanelAlwaysOnTop
- true = keep panel visible above chart objects
- false = allow it to behave normally
Why these settings matter
They help the user adjust the panel so it fits different monitor sizes, chart layouts, and personal visual preferences.
💼 18. Trading Settings
DefaultLotSize
Defines the default lot size used when opening trades from the panel.
Example:
- 0.010 = the EA uses 0.01 lot as default trade volume
Why this matters
This helps standardize manual trade execution through the panel.
🔧 19. Other Settings
MagicNumber
A unique identification number used by the EA to recognize and manage its own trades.
Why this matters
If you run multiple EAs, each should usually have a different Magic Number to avoid conflicts.
MaxSpreadPoints
Maximum spread allowed for trading.
Example:
- 200 = if spread is above 200 points, trading may be blocked
EnableSpreadCheck
- true = activate spread filter
- false = ignore spread filter
Why spread check is important
High spread can make entries more expensive and distort SL/TP performance, especially for scalping and short-term trading.
🖥️ 20. Control Panel Overview
Depending on your EA design, the panel may allow you to:
- open Buy Market and Sell Market positions
- adjust lot size with + / -
- close the last trade
- close all trades
- apply breakeven to all trades
- switch management modes
- view current spread, profit, equity, and positions
- manage pending orders
This panel is designed to make trade management faster and more intuitive, especially for users who prefer visual control directly on the chart.
💡 21. Practical Usage Suggestions
For beginners
A simpler setup may be:
- EnableSingleChartOperation = true
- UseATRForSLTP = false
- Fixed_SL_Points = 500
- Fixed_TP_Points = 1000
- UseBreakeven = true
- BreakevenMode = Points
- BreakevenPointsThreshold = 200
- EnableSpreadCheck = true
This gives a simpler and easier-to-control setup.
For advanced traders
A more advanced setup may include:
- UseATRForSLTP = true
- UseAdaptiveTrailing = true
- Partial_Close = true
- EnableSmartClose = true
- UseSumMoneyTP_SL = true
- UseMaxTrendOrders = true
- EnableSpreadCheck = true
This allows deeper automation and more flexible risk control.
⚠️ 22. Important Notes
- true means the feature is enabled
- false means the feature is disabled
- Not all features should be enabled at the same time without understanding how they interact
- It is strongly recommended to test on a demo account first
- The best settings may vary depending on:
- symbol
- timeframe
- broker conditions
- spread
- trading style
Most importantly, this EA is a management tool, not an entry system.
You still need your own trading logic or signal source.
📬 Contact
For support or feedback, please contact:
👉 https://www.mql5.com/en/users/minhnguyen1504
🎯 Conclusion
VM Auto SLTP Pro is a flexible and powerful management EA for traders who want more control, better automation, and clearer risk handling.
It supports multiple SL/TP methods, basket control, breakeven, trailing stop, pending order visualization, and smart exit tools, making it suitable for both simple and advanced trading workflows.



