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
Junior EA 30+ USD
1. EA for MT5, hedging allowed. 2. Entry: 50 EMA crosses 200 EMA on H1. Buy on bullish cross, sell on bearish. 3. SL: 100 pips, TP: 200 pips. No trailing stop. 4. Lot size: 0.01 fixed. Max 3 trades at once. 5. Trade only 08:00-18:00 GMT. No trades if spread > 20 points. 6. Inputs: EMA periods, SL, TP, lot size, start/end time
I am looking for a highly skilled and honest MQL4 developer to optimize and improve my existing MT4 Expert Advisor called Blue System . The EA already performs very well on both demo and live accounts, but the live results are still not matching the profitability achieved during demo testing and backtesting. The strategy currently uses a trailing stop system, and I need an expert who truly understands live market
I am searching professional strategy, not grid, not martingale, controlled risk, Please don't waste my time if you havent got nothing valueable to show, in first message please describe this strategy, if you will not do this, I will move you to rejected, Budget is negotiable
I am searching professional strategy, not grid, not martingale, controlled risk, Please don't waste my time if you havent got nothing valueable to show, in first message please describe this strategy, if you will not do this, I will move you to rejected, Budget is negotiable
EliBoT 39+ USD
//+------------------------------------------------------------------+ //| TrendPullbackEA.mq5 | //| Simple Trend + Pullback Strategy EA (Beginner Friendly) | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; //------------------------------------------------------------------- // INPUT PARAMETERS
looking for a highly experienced mql5 developer to build a professional trading ea based on multi timeframe top down analysis and market structure concepts the system should combine higher timeframe context with lower timeframe execution and provide both precise logic and clean visual representation on chart ⸻ core requirements • implementation of multi timeframe logic higher timeframe bias combined with lower
cannot be opened/closed during the first attempt. How should the EA handle such a situation: should it make a pause or wait for a new tick? How many attempts are allowed? What information should be written to logs? In what format should information be written? Should a notification be sent to a trader? How often should messages be sent to avoid DDoS attack situations? Use comments to trading orders for quick analysis
There is a Pine Script with closed source code that I want to use on TradingView. I would like to have an exact replica of it created. I have the link and can share it with you if you're interested. Is this something you can do
I need a fully automated Expert Advisor (EA) for MetaTrader 4 or MetaTrader 5. Strategy Overview: Trading Instrument: User adjustable (input parameter). Default can be EUR/USD. Trade Time: Every day at exactly 11:00 AM (broker server time) . Position Size: Fixed lot size (NOT percentage-based). Default = 0.01 lot. This must be an adjustable input parameter . Trading Rules (Step by Step): Day 1 (Initial Trade)
Trading Strategy Specification 🟢 Buy Setup Conditions: Trend Identification: The overall trend must be Bullish (Upward). (Note for the programmer: Define the bullish trend using higher highs/higher lows structure or a specific Moving Average). Fibonacci Retracement: The price must correct downwards to touch or test the 61.8% Fibonacci level , drawn from the most recent swing low to the swing high. Entry

Informations sur le projet

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