Overnight Cost Meter: Understand and Monitor Swap Costs
Info
The Overnight Cost Meter: Understand and Monitor Swap Costs is a Script for MetaTrader 5 that most traders check the spread and forget the swap. Meanwhile, a single night of holding a position can accumulate costs greater than the initial spread, and for many instruments, the swap costs for long and short positions can differ significantly.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Script works exclusively on MetaTrader 5 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL5/Scripts folder via File ? Open Data Folder in MetaTrader 5.
How to Install and Use Overnight Cost Meter: Understand and Monitor Swap Costs
1. Installation: Move your script file into the MQL/Scripts directory and restart the platform.
2. Execution: Drag the script onto a chart; it will perform a one-time action, such as closing all open orders or clearing chart objects.
3. Editing: Use MetaEditor (F4) to modify code, click "Compile," and verify no errors appear in the terminal before running.
4. Removing: Scripts stop automatically, but you can remove them manually by right-clicking the chart and choosing "Remove Script."
Frequently Asked Questions
Q: How are scripts different from EAs? A: Scripts execute a single action and then stop; EAs monitor the market and trade continuously.
Q: Can I assign a hotkey to a script? A: Yes, right-click the script in the Navigator, select "Set Hotkey," and define your preferred keyboard shortcut.
Q: Why did my script stop? A: Scripts are designed to stop immediately after finishing their programmed command; this is normal behavior.
What this tool does
Most traders check the spread and forget the swap.
Typical Use Case
This Script excels in automated trading and technical analysis on MetaTrader 5.
Compatible Platform & Setup
This Script works on MetaTrader 5. Place the file in the MQL5/Scripts folder and restart the terminal.
Description & Settings
Related: Gold Hour Profile: Analyzing Trading Session Volatility and Spread Costs - another powerful script for MetaTrader 5 traders.
Most traders check the spread and forget the swap. Meanwhile, a single night of holding a position can accumulate costs greater than the initial spread, and for many instruments, the swap costs for long and short positions can differ significantly.Also recommended: Edge Meter: Does Your Entry Signal Profit After Costs? - similar script with strong performance on MetaTrader 5.
This script provides clear visibility into these costs within seconds.
Key Information Provided:
For each open position:
- The cost to hold the position overnight, displayed in your account currency.
- The total swap already paid and the number of days the position has been held.
For each symbol (open positions first, then symbols from Market Watch):
- Overnight swap cost per 1.0 lot for both LONG and SHORT positions, converted to your account currency.
- Annualized swap cost (calculated as overnight percentage of notional value x 360). This provides a crucial percentage-based cost for holding positions, e.g., "holding this position long costs 6% annually".
- Broker's markup per side, calculated as (|swap long| + |swap short|) / 2. This value represents the broker's direct fee, independent of interest rate fluctuations.
- The date of the triple-swap day for each symbol.
Swap Mode Handling:
The script accurately converts swap values from points, deposit-currency, and interest-rate modes. In cases where precise conversion is not possible (e.g., exotic modes, foreign-currency swaps), the script displays the raw value with its currency, or "n/a", ensuring transparency rather than providing potentially inaccurate data.
Script Inputs:
- ScanMarketWatch: Enables scanning of visible Market Watch symbols (default: true).
- MaxSymbols: Sets a limit for the Market Watch scan to maintain report readability (default: 20).
- ShowChartSummary: Displays a concise summary on the chart in addition to the detailed report in the Experts log.
Important Notes:
The displayed values reflect your broker's reported swap rates at the time the script is run. For the most current information, re-run the script after rollover. Always verify critical trading decisions against your broker's contract specifications. Annualization uses the standard 360-day convention. This script operates solely by reading symbol properties and does not execute any trades.
Last updated 2026.
You may also like: Cost and Slippage Sensitivity Analyzer - excellent alternative for script users on MetaTrader 5.
Source Code
#property copyright "RobotFX"
#property link "https://robotfx.org"
#property version "1.00"
#property description "This code is educational. Feel free to use, modify and upgrade as you wish. Visit ROBOTFX.ORG for professional trading tools"
#property script_show_inputs
#property strict
input bool ScanMarketWatch = true;
input int MaxSymbols = 20;
input bool ShowChartSummary = true;
double SwapPerNight(const string sym, const bool isLong, string ¬e)
.......
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.