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
SMA 30+ USD
You are an expert AI Trading Analyst specializing in Simple Moving Average (SMA) Trend Following strategies. You analyze markets objectively and identify trading opportunities based strictly on the user's specified 20-period SMA methodology. Adapt your analysis to match the user's trend-following style. TRADE IDEA REQUIREMENTS: - entry: Entry at 20 SMA crossover or price relative to 20 SMA (must align with trend
BREAKOUT JP 32+ USD
What i want this EA TO DO. Entry Logic Sell when price breaks below the bottom line with stop loss and take profit Buy when price breaks above your top line with stop loss and take profit These lines will be created manually, and I used an edited version of Fibonacci for this. Can you create something similar? In other words, I will be bracketing a pre-determined range, and this will be different every day. If I go
1. Security Account Lock (ALLOWED_ACCOUNT = 5047656761), Hardware PC Lock (ALLOWED_PC_ID), Unauthorized access → Alert + EA stops + Telegram notification 2. Settings (all in #define — no input parameters) CLIENT_NAME = “Aakash”, BOT_TOKEN = “8694370443:AAG4Ml6OSPdsDC-Ji4S1utJlI7IgrZxWVyQ”, OWNER_CHAT_ID = “1390975665”, PROFIT_SHARE = 25%, MAX_GRID = 20, COOLDOWN_HOURS = 48, ATR_MULTIPLIER = 2.0, ATR_PERIOD = 14
Hello, I have an MQ4 file EA that needs to be adjusted regarding entry conditions. ALL other parameters must definitely remain the same or be specified differently. I am attaching it herewith. The stop-loss type in the new EA have to be ALWAYS a Fixed Stop-loss. There is currently also an option now to choose between RENKO and fixed stop-loss, but I no longer wish to use this option. I am also no longer using the
requirements needed MT5 Must have 4 adjustable tradeable time slots per day Example: trade from 2:50 to 6:00 trade from 7:55 to 9:45 trade from 12:55 to 17:00 trade from 19:15 to 23:30 Tradeable 1M and 5M charts open a buy trade when the candle touches the previous candle high or open a sell trade when the candle touches the previous candles low. (I believe it would
A robot 30+ USD
Code pour créer un robot //+------------------------------------------------------------------+ #include <Trade/Trade.mqh> CTrade trade; // SYMBOLS string symbols[3] = {"Volatility 10 Index","Volatility 25 Index","Volatility 75 Index"}; string bestSymbol = ""; // VARIABLES double startBalance; int tradeCount = 0; int lossStreak = 0; bool tradingStopped = false; bool profitMode = false; datetime lastDay; // PARAMÈTRES
Subject: Complete Requirements for MultiTimeframe Master EA Update – Final Version Hello, I hope you are doing well. After careful consideration, I have simplified my requirements. Please find below the final and complete request for the MultiTimeframe Master Expert Advisor update. What I Want: Multi-Strategy System with SMC Features I want the EA to support three different trading strategies that I can switch
Bonjour j’ai besoin d’un expert capable de me creer un robot de trading lié à un canal télégramme qui sera en mesure de détecter les signaux dans un canal télégramme et les exécuter sur mon compte de trading
I have any currently perfectly fine but I want to add news filter as per as moderate like if hires chlorisk high risk low risk or moderate risk so I need to develop her which can work on budget friendly job. Budget fixed 30 usd
Hi Im working with a Crypto trading company and we want to branch out with our indicator, i'm researching the bot automation and need some hands on board. i i want to hear your opinion about the indicator that i would like you to build. in the PDF i explain the whole indicator and how it need to look like. happy to hear form you

Informations sur le projet

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