Class-driven Averaging Subroutine - position averaging function, opening positions against the trend

MQL5 Experts

Tâche terminée

Temps d'exécution 43 jours
Commentaires de l'employé
Great customer. Clear instructions. Thanks. Look forward to more jobs in the future.

Spécifications

Develop a class-driven sub-routine that can be implemented in a variety of existing Expert Advisor with minimum complications of integration. It should implement a good OOP concept for reusability and derive sub-mechanisms.

This sub-routine will work on algorithms running on MT5 terminal; we may need to develop an expert advisor opening a long or short position for test. This subroutine purpose is to implement a strategy of averaging down.

This is that we open:

BUY 1 LOT EURUSD at 1.19209

This sub-routine will open automatically

BUY 1.3 LOT EURUSD at 1.19172 with a comment "Level_1"

Resulting on an average price in EURUSD of 1.19195 at 2.30 LOT, so this sub will draw a BLUE line at this average level. RED if SELL position.

Attention: For different LOT of positions, the average price is calculated using a mathematical formula.

Finally, will open automatically if the price continue against:

BUY 1.69 LOT EURUSD at 1.19078 with a comment "Level_2"

This next average level as is not open yet so will draw a line in "Bisque" color with the parameters of the averager sub-routine in this case the LOT factor increases to a 30% or 1.3X and the amount of PIPs in the following format:  1.30X/1.69N/94p indicating the average %, resulting lot size and pips in distance.

If this average level is triggered then the average price of the EURUSD position is 1.19145 at 3.99 LOT.

The PIPs difference between 1.19209 and 1.19172 and the next 1.19145 is provided as a parameter for the sub-routine.

The averager sub-routine will have a maximum amount of positions to open. And a FLOOR parameter that sets the minimum distance, this distance can be set in price or points. If in the example below we set a price floor of 1.19130 the next level provided can not be 1.19145 and will be floored at 1.19130. If we set a points floor of 70 pips the next level can not be 67 pips as provided and will be floored at 70 pips.

The subroutine will increase distance in the same way to increase volume, this is that an increment can be set of a 10% or 1.1X added to the distance provided.

If the instrument maximun volume is 50, and the next average down is 56. We will fraction the order in 50 (the max.) and another position at the same price level at 6, with the same comment. If the broker have a maxium limit of positions and can not open, we will pop-up a message alterting with the limitation of opening new positions. 

Finally, the sub-routine will use a time delay to evaluate if a different distance in pips is supplied.

Inputs:

AveragerFunc(
             bool AverageUSE=true,
             int Distance=1,
             ENUM MinDistType=1, //1-Price, 2-Points
             double MinDistVal=0,
             bool UseCalcDelay=true,
             ENUM CalcDelay=1M, //1M,2M,5M,15M,1H,1D,1W, TF defaults in example
             DistanceFactor=1.1, //points + 10% in this case
             LotsFactor=1.3, //volume + 30% in this case
             MaxOrders=10, //maximum of averaging positions
             string s="Averager " //default comment for opening positions and concatenate
             )

Output of the subroutine will be:
LOTs BUY:        2.3             //actual volume size
LONG Avg:       1.19195       //actual average
LONG N Avg:    1.19145       //next average

The average calculation have to take into account any commission and swap charges in any given period. So if this positions stays for more than a day and a swap is charged, have to be reflected in the resulting average price every day.

Attached an image of the horizontal lines.

Répondu

1
Développeur 1
Évaluation
(27)
Projets
43
7%
Arbitrage
18
6% / 78%
En retard
26
60%
Gratuit
2
Développeur 2
Évaluation
(169)
Projets
204
30%
Arbitrage
25
40% / 44%
En retard
12
6%
Gratuit
Commandes similaires
I already have a fully developed MT5 Expert Advisor with all required prop firm features, including: Risk management Daily loss & max drawdown limits Spread & slippage filters News filter Trade management system The EA structure is complete. 👉 What I need is a professional developer to replace ONLY the entry logic with a high-quality, rule-based trading strategy. 🚨 STRICT REQUIREMENT (READ CAREFULLY): I am NOT
I am looking for a ready-made or custom-built AI-based Expert Advisor (EA) for MetaTrader (MT4/MT5), focused on Forex pairs and Gold (XAUUSD) . 🔹 Requirements: Fully automated trading system (no manual intervention) Must work on Gold (XAUUSD) + major currency pairs Should use AI-style logic (adaptive strategy, not simple indicators) Multi-timeframe analysis (trend + entry confirmation) Smart risk management: Dynamic
MT5 Support and Resistance MT5 Support and Resistance Indicator Automatic Drawing of Multiple Supports and Resistances with levels. Supports As follow 1. Weak Support 2. Untested Support 3. Verified Support 4. Proven Support 5. Turncoat Support Resistances As follow 1. Weak Resistance 2. Untested Resistance 3. Verified Resistance 4. Proven Resistance 5. Turncoat Resistance Best Strategy to use 1. Identify Trend
Hello, I’m reaching out regarding my TradingView project. I’d like to know if you’re familiar with the Chrome extension for Pine Script optimization. I’m looking for a developer with a premium account who can help optimize some Pine Script code. Please I actually need someone who has a premium account of the chrome extension TradeTuning to optimize Pinescripts (for some specific data they give in their reports). Do
I need an MT5 Expert Advisor for Gold (XAUUSD) on M15 timeframe. Strategy Rules: Trade only after breakout and retest of support/resistance. Also include trendline breakout and retest entry. Only one trade at a time. High accuracy trades only. Stop Loss: fixed SL (developer make input adjustable). Take Profit: next support/resistance level. Trade should hold until trend change. Close trade when Higher Low or Lower
Hello, I’m looking for an experienced developer who can help convert an existing cTrader indicator into a fully functional Quantower indicator . I already have the complete source code for the cTrader indicator (written in C#) , and I would like the same logic, behavior, and visual output to be accurately replicated in Quantower
REQUIREMENTS SPECIFICATION FOR MT5 EXPERT ADVISOR - NAS100 1. GENERAL INFORMATION 1.1 Platform: MetaTrader 5 1.2 Symbol: Nas100 1.3 Timeframe: M5 1.4 Account Type: Hedge 1.5 Broker: Must work on Khwezi Trade / ATFX broker 2. ENTRY RULES - ALL 3 MUST ALIGN ON CLOSED CANDLE 2.1 Trend: Price above 50 EMA for Buy, below 50 EMA for Sell 2.2 Momentum: RSI(14) > 50 for Buy, < 50 for Sell 2.3 Confirmation: MACD line above
Hi i need an expert to built a automated trading bot for ninja trader platform like sniper auto trader bot If you can develop or build automated bot for ninjatrader, let me know
Hello programmers. I am looking and searching for Chrome extension that automates parameter optimization for TradingView strategies, not''TradingView Premium'' itself. Can you please get back to me? do you know the chrome extension. I am looking for someone with a premium account so I can optimize some pinescript with it
I’m looking for a developer (or AI-savvy builder) who is experienced in using tools like Claude.ai (e.g. Claude Code, Claude CoWork) to build a Forex-related website. The platform will include features such as: Tracking trading account performance Broker reviews and comparisons This is just a high-level overview — the main goal is to find someone who truly understands how to leverage AI tools and write effective

Informations sur le projet

Budget
150+ USD
Délais
de 1 à 10 jour(s)