MT5 Multisymbol Expert Advisor Requirement: VWAP-based Trading Strategy on 1-Minute Timeframe

MQL5 专家

指定

Only apply if you have experience in MT5 Multisymbol Expert Advisor


# MT5 Multisymbol Expert Advisor Requirement: VWAP-based Trading Strategy on 1-Minute Timeframe


## Objective
Develop a Multisymbol Expert Advisor for MetaTrader 5 that utilizes the Volume Weighted Average Price (VWAP) indicator to make trading decisions based on 1-minute candle closings, with specified trading hours and clear time zone information. The EA will operate on the 1-minute timeframe and handle multiple financial instruments simultaneously, with only one trade allowed per symbol at any given time. It will support various symbol code formats, include a feature to ignore a specified number of initial VWAP crossings each day before taking real trades, allow users to specify trade direction preferences for each symbol, provide advanced breakeven options for risk management, use unique magic numbers for each symbol, offer flexible position sizing options, implement a multi-target profit-taking strategy, and include a "Close on Opposite" feature for quick exit based on VWAP crossings.

## Key Features

1. Multisymbol Capability
   - Accept input of up to 10 symbols
   - Support various financial instruments:
     a. Currencies (e.g., EURUSD, EURUSDm)
     b. Stocks
     c. Cryptocurrencies (e.g., BTCUSD, BTCUSDm)
     d. Commodities (e.g., XAUUSD, XAUUSDm for Gold)
     e. Indices (e.g., US30, US30m)
   - Handle different symbol code formats:
     a. Standard formats (e.g., EURUSD)
     b. Micro account formats (e.g., EURUSDm)
     c. Other broker-specific formats
   - Allow individual parameter settings for each symbol
   - Implement a robust symbol validation system to ensure compatibility with various brokers

2. VWAP Calculation
   - Calculate VWAP on a user-specified period (e.g., daily, weekly) using 1-minute data for each symbol
   - Use built-in MT5 functions or custom implementation if necessary

   - Handle different volume representations for various instrument types and symbol formats

Show the VWAP line on chart if its Display is selected as Yes.


3. Trading Logic
   - For each symbol:
     a. Implement a user-defined "Ignore first N crossings" parameter
     b. Reset the crossing counter daily at a user-specified time (e.g., at daily VWAP reset time)
     c. Count the number of times price closes above or below VWAP on the 1-minute timeframe
     d. Ignore real trade signals until the count exceeds the user-defined N value
     e. Log ignored trade signals in the log file, specifying the reason as "ignored due to initial crossing count"
     f. Implement a "Trade Direction" parameter with options:
        - "Buy and Sell" (default)
        - "Buy Only"
        - "Sell Only"
     g. After N crossings and based on the Trade Direction setting:
       - For "Buy and Sell":
         * Enter a long position when a 1-minute candle closes above the VWAP if no position is currently open
         * Enter a short position when a 1-minute candle closes below the VWAP if no position is currently open
       - For "Buy Only":
         * Only enter long positions when a 1-minute candle closes above the VWAP if no position is currently open
         * Ignore sell signals
       - For "Sell Only":
         * Only enter short positions when a 1-minute candle closes below the VWAP if no position is currently open
         * Ignore buy signals
     h. Implement a user-defined threshold for entry to avoid false signals (e.g., 0.1% above/below VWAP)
     i. Allow user to specify the number of confirmatory candles
     j. Ensure only one trade is open for each symbol at any given time
     k. Implement logic to close existing trade if a signal for the opposite direction is generated (only applicable in "Buy and Sell" mode)
     l. Use the symbol-specific magic number for all trade operations
     m. Implement a "Close on Opposite" feature:
        - If enabled, monitor for opposite VWAP crossings on active trades
        - For active Buy trades: Exit at market price if a 1-minute candle closes below the VWAP
        - For active Sell trades: Exit at market price if a 1-minute candle closes above the VWAP
        - This exit strategy takes precedence over other exit conditions (e.g., take profit, stop loss) if triggered

4. Magic Number Generation
   - Implement a system to generate a unique magic number for each symbol:
     a. The magic number should be consistent for each symbol across EA restarts
     b. Ensure the magic number is unique within the range allowed by MetaTrader 5 (0-2147483647)
     c. Consider using a combination of symbol characteristics (e.g., symbol name, trade direction mode) and a hash function to generate the magic number
     d. Store the generated magic numbers in a persistent manner (e.g., in a file) to ensure consistency across EA restarts
     e. Implement a collision detection and resolution mechanism in case of duplicate magic numbers
   - Use the generated magic number for all trade operations related to the specific symbol
   - Provide a function to retrieve the magic number for a given symbol

5. Risk Management
   - For each symbol:
     a. Set stop-loss orders at a user-defined distance from entry point
     b. Implement take-profit orders based on a risk-reward ratio or fixed value like pips or percentage
     c. Allow for trailing stop functionality
     d. Implement Breakeven options (user to choose one):
        - Set to Breakeven after X number of Pips in favorable direction
        - Set to Breakeven after X percentage gain from Entry in favorable direction
        - Set to Breakeven after achieving X Risk:Reward Ratio, where:
          * For Buy trades: Initial Risk = Entry Price - Lowest Low of last 3 candles before entry
          * For Sell trades: Initial Risk = Highest High of last 3 candles before entry - Entry Price
     e. Allow user to specify a buffer (in pips or percentage) when moving to breakeven to secure some profit
   - Implement the following global risk management inputs:
     a. Maximum risk per trade (% of account balance)
     b. Maximum daily loss (% of account balance)
     c. Maximum drawdown limit (% of account balance)
     d. Maximum daily trade count (total and per symbol)
   - Implement symbol-specific risk controls (e.g., maximum position size for each instrument)
   - Adjust risk calculations based on symbol-specific factors (e.g., contract size differences between standard and micro accounts)
   - Implement a multi-target profit-taking strategy for each symbol:
     a. Allow users to set three take profit levels (TP1, TP2, TP3)
     b. Provide options to set take profit levels in:
        - Pips
        - Percentage of entry price
        - Risk:Reward Ratio
     c. Implement the following profit-taking logic:
        - At TP1: Close 50% of the position and move stop loss to breakeven for the remaining quantity
        - At TP2: Close 50% of the remaining position (25% of original position)
        - At TP3: Close the remaining position (25% of original position)
   - Ensure proper handling of partial position closures and stop loss modifications
   - Use the symbol-specific magic number for all trade modification operations

6. Position Sizing
   - Implement two position sizing options for each symbol:
     a. Fixed lot size
     b. Percentage of account balance
   - For fixed lot size:
     a. Allow users to input a specific lot size (e.g., 0.01, 0.05, 0.1)
     b. Implement minimum and maximum lot size checks based on broker and symbol specifications
   - For percentage-based sizing:
     a. Allow users to input a percentage of account balance to risk per trade
     b. Calculate the position size based on the account balance, risk percentage, and symbol characteristics (e.g., contract size, current price, stop loss distance)
   - Implement a maximum position size limit for each symbol
   - Ensure position sizing calculations account for different symbol formats (e.g., standard vs. micro accounts)
   - Implement proper rounding of lot sizes to conform with broker-specific requirements
   - Provide warnings if the calculated position size exceeds user-defined or broker-imposed limits
   - Use the symbol-specific magic number for all trade operations related to position sizing
   - Ensure position sizing calculations can handle partial position closures as per the multi-target strategy
   - Implement proper rounding of lot sizes for partial closures to conform with broker-specific requirements

7. User Interface
   - Create input parameters for each symbol:
     - VWAP period (e.g., daily, weekly)
     - Entry threshold (e.g., 0.1% above/below VWAP)
     - Stop-loss distance
     - Number of confirmatory candles
     - "Ignore first N crossings" parameter
     - Daily reset time for the crossing counter
     - "Trade Direction" parameter with options: "Buy and Sell" (default), "Buy Only", "Sell Only"
     - Breakeven option selection and associated parameters
     - "Position Sizing Method" parameter with options: "Fixed Lot Size" and "Percentage of Balance"
     - Input field for Fixed Lot Size (when "Fixed Lot Size" method is selected)
     - Input field for Risk Percentage (when "Percentage of Balance" method is selected)
     - Input field for Maximum Position Size (in lots)
     - "Take Profit Mode" parameter with options: "Pips", "Percentage", "Risk:Reward Ratio"
     - Input fields for TP1, TP2, and TP3 levels
     - "Close on Opposite" parameter with options: True/False (default: False)
   - Add input fields for trading start time and end time for each symbol
   - Display current VWAP value and trading signals on the 1-minute chart for each symbol
   - Add input fields for all risk management parameters (global and symbol-specific)
   - Display GMT Offset on the chart in yellow font color
   - Provide a summary dashboard for all symbols being traded, including current open position (if any) for each symbol
   - Display the generated magic number for each symbol in the EA information panel
   - Provide an option to manually override the generated magic number for each symbol (with collision warning)
   - Display the current position size calculation for each symbol in the EA information panel
   - Provide real-time updates of potential position sizes based on current market conditions and user inputs
   - Display the current take profit levels calculation for each symbol in the EA information panel
   - Provide real-time updates of potential take profit levels based on current market conditions and user inputs

8. Performance Tracking
   - Log all trades for each symbol, including:
     - Entry price, exit prices (for each partial closure), profit/loss for each target
     - Reason for exit (TP1, TP2, TP3, Stop Loss, "Close on Opposite", or other)
     - The associated magic number
     - The position size method used
     - Take profit mode and levels used
   - Log all ignored trade signals due to the initial crossing count or trade direction restrictions
   - Calculate and display key performance metrics for each symbol and overall (e.g., win rate, average profit/loss)
   - Track and display risk management statistics (e.g., daily/weekly/monthly profit/loss, maximum drawdown) per symbol and overall
   - Include time-based analysis of trade performance for each symbol
   - Ensure accurate performance calculation across different symbol formats, position sizing methods, and take profit strategies
   - Provide statistics on ignored trades vs. taken trades, categorized by reason (initial crossing count or trade direction)
   - Analyze and report on the performance of different trade direction settings, breakeven options, position sizing methods, take profit strategies, and the "Close on Opposite" feature
   - Track the frequency and effectiveness of breakeven executions and partial closures for each take profit level
   - Implement a feature to filter and analyze trades based on magic numbers, position sizing methods, and take profit levels reached

9. Compatibility and Optimization
   - Ensure compatibility with various types of financial instruments and symbol formats on the 1-minute timeframe
   - Optimize code for efficient execution in MT5 environment, considering multiple symbols and high-frequency data
   - Implement efficient memory management to handle multiple symbols simultaneously

## Additional Considerations
- Implement proper error handling and logging for each symbol, including handling of unknown symbol formats, logging of ignored trades, trade direction restrictions, breakeven executions, magic number generation/usage, position sizing calculations, and partial position closures
- Add comments and documentation for easy maintenance, explaining all features including the multi-target profit-taking strategy and "Close on Opposite" feature
- Test thoroughly on historical 1-minute data for all supported instrument types and symbol formats in a demo environment before live trading, including various scenarios for all features, magic number consistency, position sizing methods, multi-target profit-taking, and the "Close on Opposite" feature
- Implement a mechanism to gracefully handle and recover from unexpected errors or market conditions for any symbol, ensuring magic numbers remain consistent, position sizing is appropriate, and partial closures are executed correctly
- Include an option to send notifications (email or push) for important events for each symbol (e.g., trade open, partial closures at TP1/TP2, final closure at TP3, moved to breakeven, "Close on Opposite" triggered), including the associated magic number and position sizes
- Ensure the EA can handle high-frequency updates of 1-minute candles for multiple symbols without performance issues, even with the additional logic for magic number management, position sizing calculations, multi-target profit-taking, and the "Close on Opposite" feature
- Implement a smooth transition between trading and non-trading hours for each symbol, ensuring all counters, calculations, magic numbers, position sizes, and take profit levels remain consistent
- Consider time zone handling for trading hours and daily reset time, allowing users to specify their local time or using server time, without affecting magic number consistency, position sizing, or take profit calculations
- Ensure the GMT Offset display is updated correctly during daylight saving time changes
- Provide an option to toggle trading on/off for individual symbols without losing magic number associations, position sizing settings, or take profit configurations
- Optimize memory usage and processing speed for continuous operation on 1-minute data across multiple symbols, including efficient handling of all risk management calculations, magic number operations, position sizing methods, multi-target profit-taking logic, and the "Close on Opposite" feature
- Implement safeguards against potential issues related to high-frequency trading across multiple instruments, ensuring proper use of magic numbers, appropriate position sizing, correct execution of partial closures, and timely execution of the "Close on Opposite" feature
- Ensure proper handling of different pip values and contract sizes across various instrument types and symbol formats, especially for breakeven calculations, position sizing, and take profit level calculations, while maintaining magic number consistency
- Implement a mechanism to handle symbol-specific events (e.g., dividends for stocks, rollovers for futures) without disrupting magic number associations, position sizing, or take profit levels
- Include a feature to manually close part or all of an open trade for any symbol and prevent new trades for a user-specified cool-down period, properly handling the associated magic number and remaining position size
- Develop a system to automatically detect and adapt to different symbol formats provided by various brokers while ensuring consistent magic number generation, appropriate position sizing, and accurate take profit calculations
- Implement a configuration file or setup wizard to help users correctly input symbols, risk management parameters, position sizing preferences, and take profit strategies based on their specific broker and account type
- Provide an option to visualize the ignored crossings, trade direction restrictions, breakeven levels, trades associated with specific magic numbers, position sizes, and take profit levels on the chart for analysis purposes
- Allow for easy switching between trade direction modes, breakeven options, position sizing methods, take profit strategies, and the "Close on Opposite" feature without restarting the EA or losing magic number associations
- Implement a feature to backtest different breakeven strategies, position sizing methods, take profit strategies, and the "Close on Opposite" feature to help users optimize their settings, using consistent magic numbers for accurate trade tracking
- Provide a utility to audit and verify the uniqueness and consistency of magic numbers across all symbols, as well as the appropriateness of position sizes and take profit levels
- Implement a safety mechanism to prevent excessively large positions or unrealistic take profit levels due to calculation errors or unexpected market conditions
- Ensure proper handling of scenarios where the market gaps beyond take profit levels or triggers the "Close on Opposite" condition, implementing a priority system for executing these exits in the correct order

反馈

1
开发者 1
等级
(9)
项目
19
16%
仲裁
3
67% / 0%
逾期
0
空闲
2
开发者 2
等级
(311)
项目
558
35%
仲裁
79
32% / 43%
逾期
203
36%
工作中
3
开发者 3
等级
(7)
项目
13
15%
仲裁
13
23% / 46%
逾期
3
23%
空闲
发布者: 24 文章
4
开发者 4
等级
(271)
项目
553
50%
仲裁
57
40% / 37%
逾期
227
41%
工作中
5
开发者 5
等级
项目
1
0%
仲裁
4
0% / 50%
逾期
0
工作中
相似订单
Set specific time to run this function(order). The time can be hard-coded or inputted by user. Time format: HH:MM:SS:ss Example: 17:58:48:59 -> This means an order will be triggered at 5 pm 58min 48sec 59 today. Set “Stop loss” and order a Sell stop. “At price” triggered automatically: current(specific time set above 1) Gold price - 2$ Stop loss: current Gold price + 2$ Volume: 0.1 (It can be hard-coded or inputted
Simplebot 30+ USD
#include <Trade/Trade.mqh> CTrade trade; input double LotSize = 0.1; input int FastMA = 10; input int SlowMA = 20; int fastHandle, slowHandle; // Initialize indicators int OnInit() { fastHandle = iMA(_Symbol, PERIOD_CURRENT, FastMA, 0, MODE_SMA, PRICE_CLOSE); slowHandle = iMA(_Symbol, PERIOD_CURRENT, SlowMA, 0, MODE_SMA, PRICE_CLOSE); return(INIT_SUCCEEDED); } void OnTick() { double fastMA[2]; double
I need an Expert Advisor (EA) for MetaTrader (MT4 or MT5) based on the following scalping strategy. Platform: MT4 or MT5 Symbol: EURUSD (should work on other pairs as well) Timeframe: M1 or M5 Indicators: - EMA 9 - EMA 21 - RSI (14) Buy Conditions: - EMA 9 crosses above EMA 21 - RSI > 55 - Spread < 1.5 pips - Only one trade at a time Sell Conditions: - EMA 9 crosses below EMA 21 - RSI < 45 - Spread < 1.5 pips -
In need of an automated bot that strongly detect support and resistance zones where price has a high probability of reacting ,rejecting or reversing. The zones should be built on combibation of of : (a)swing high and swing low.(b)repeated price reaction c)rejection strength (d)break and retest behaviour (e) consolidation origin before implusive move (f) strong displacement candles
I need a mt5 Expert advisor ea to manage intraday trades with strict risk management. The EA must -Handle between 5 to 8 clean trades a day max altogether throughout all 3 sessions. no big news trading times and no overnight trades -Use 1% on forex pairs and upto 2% on XAUUSD risk per trade - Automatically calculate lot size based on stop loss -use fixed RR ratio [1:2] For forex pairs, the stop loss should be
I need a clean, bug-free MT5 Expert Advisor (MQL5) based on this exact mechanical scalping strategy on M5 timeframe for EURUSD. Indicators (built-in): - EMA 9 and EMA 21 on M5 - RSI 14 - ADX 14 (>25 for strong trend) - H1 EMA 21 above/below H1 EMA 9 for trend alignment Entry Rules (ALL must be true): BUY: EMA9 crosses above EMA21 (on closed bar) + RSI > 50 + ADX > 25 + H1 EMA21 > H1 EMA9 SELL: Mirror (cross below
I will like to purchase tradingview strategy with high winning rate, i mean already made, tested and trusted and powerful strategy, i have tried to code my own strategy with lot of freelancers but nothing to me i am just wasting money, i have wasted lot of money already, so i need a high winning rate tradingview strategy, we can discuss price in chat, I will need to see some test result as well
Looking to acquire a good MT5 based EA that works on Gold, forex pairs or BTC. Must be suitable for current market conditions and profitable in backtests. Suitable on 1 Min timeframe to be used on, Must be actively opening many positions throughout the day. Share me the details if this matches something you have or developed. Looking to get this finalised within the weekend
Pakayaku Robot Trading 30 - 200 USD
Revolusi Trading BTCUSD dengan Presisi Fibonacci & Ichimoku Kumo "Memperkenalkan Pakayaku Robot Trading , asisten cerdas yang dirancang khusus untuk menaklukkan pasar emas (XAUUSD) dan Bitcoin (BTCUSD). Menggabungkan algoritma Fibonacci Retracement untuk akurasi titik pantul dan Ichimoku Kumo sebagai filter tren global. Mengapa Memilih Pakayaku? Analisa Multi-Indikator: Menggabungkan Fibonacci, Ichimoku, dan
I’m looking to purchase an existing high-risk Expert Advisor (EA) for MT5. This is NOT a low-risk or conservative system. I am specifically looking for a high-risk, aggressive strategy such as: Martingale Grid trading High-frequency / high-leverage systems Objective: The goal of this EA is simple: Achieve extremely high returns (e.g. 100% in a day) I fully understand and accept the risk of losing the entire capital

项目信息

预算
30+ USD