BVCandleStream
- Utilità
- Katsura Yamanouchi
- Versione: 1.20
- Aggiornato: 15 dicembre 2025
Product name: BVCandleStream
Overview
Background service that automatically creates custom tick-based symbols (equal-tick bars) for scalping and price action analysis.
It converts raw ticks of standard symbols into custom bars with a fixed number of ticks per bar, so you can apply any standard MT5 indicators or EAs to these synthetic tick charts.
Key Features
1. Tick-Based Bar Generation
- Monitors the symbol of the open chart and automatically groups ticks into bars at the specified count ( InpTicksPerBar )
- Allows selection among Bid, Ask, or Mid as the price basis
- Displays TickVolume to visually assess the degree of bar formation
2. Seamless Historical + Real-Time Linking
- Builds historical bars by tracing back through past ticks
- Immediately switches to real-time ticks once history generation completes, keeping bars updated continuously
3. Chart Display via Custom Symbols
- Standard indicators can be applied
4. Multi-Chart Support
- Automatically scans all open MT5 charts and launches tasks per target symbol
- Custom symbol names are centrally managed with a prefix (e.g., "BV_" )
Input parameters
input int InpTicksPerBar = 144; // Number of ticks per custom bar (aggregation size)
input int InpHistoryHoursBack = 8; // Historical lookback window in hours
input Eprice_types InpTargetValue = Mid; // Price type to use (Bid / Ask / Mid)
input Eround_types InpOutputRounding = Round; // Rounding strategy for output prices(Round / Up / Down / Nop)
input int InpCheckIntervalMs = 300; // Main service loop check interval in milliseconds
input string InpCustomSymbolPrefix = "BV_"; // Prefix for generated custom symbols
input bool InpOverwriteExistingCustom = true; // Overwrite and recreate existing custom symbols if present
How to Use
Step 1: Install the Service
- Place BVCandleStream.ex5 in the MQL5/Services or Expert Adviser folder of MetaTrader5.
- Restart the terminal and confirm it appears under “Services” in the Navigator.
Step 2: Configure Parameters
InpTicksPerBar Number of ticks per custom bar (aggregation size)
InpHistoryHoursBack Historical lookback window in hours
InpTargetValue Price type to use (Bid / Ask / Mid)
InpOutputRounding Rounding strategy for output prices(Round / Up / Down / Nop)
InpCheckIntervalMs Main service loop check interval in milliseconds
InpCustomSymbolPrefix Prefix for generated custom symbols
InpOverwriteExistingCustom Overwrite and recreate existing custom symbols if present
Step 3: Start the Service
- Open charts for the target instruments (any timeframe).
- Start the service; it automatically detects the symbols of open charts and creates the corresponding custom symbols.
The symbol name will be: prefix + original symbol + Ticks + ticks-per-bar (e.g., BV_EURUSD_Ticks144 ). - In the terminal, go to “File > New Chart > Custom,” select the custom symbol, and open the chart.
Change the period to 1M (tick charts become distorted on other periods).
Step 4: Auto-Start on Reboot / Stopping the Service
- If the service remains running when MT5 or the PC restarts, it automatically regenerates the previously created custom symbols at next launch.
- To stop the service, open the Navigator, select Services > BVCandleStream , right-click, and choose “Remove.”
Requirements and limitations
- Platform: MetaTrader 5 only (no MT4 version).
- Program type: MT5 Service (runs in the background, not attached to charts).
- Timeframe: Open the generated custom symbols on the M1 timeframe only. Other timeframes will distort the tick bars.
- Tick data: The quality and length of the generated history fully depend on the availability of tick history on your broker’s server.
- Strategy Tester: When testing EAs on the generated custom symbols, use "Every tick" or "real ticks" modes. Simplified tick generation modes ("Open prices only", etc.) are not supported.
Use Cases
- Tick-based analysis: Ideal for price action studies using equal-volume or fixed-tick bars.
- Pre-processing for algorithmic trading: Bars output to a custom symbol can be consumed by indicators/EAs.
- Monitoring multiple instruments: Automatically scans open charts, keeping management simple for traders handling many pairs.

