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
Hello All , Please build a MT5 EA that will enter/exit trades on a color change of this particular custom indicator. So It will be like: 1-NON REPAINTING COLOUR confirmed enter buy. 2-NON REPAINTING COLOUR confirmed exit buy and enter sell. 3-NON REPAINTING COLOUR confirmed exit sell and enter buy. The expert must have fixed (example 30 pips) stop loss and spread must be taken into account
I'm looking for an experienced NinjaTrader 8 (C#) developer to build a fully automated futures trading strategy. Please apply only if you have proven experience developing and testing NinjaTrader strategies. Project Overview Develop a fully automated NinjaTrader 8 strategy. Designed for Apex funded and evaluation accounts. Primary instruments: NQ/MNQ Futures (with flexibility to support other futures later). Trading
Hello I need to purchase the source code of an already built profitable mt5 EA with proven track recordIf you have something similar and you are open to selling the source code please apply to this post Please note I am not looking for a dev to build the product from scratch , but need something that is already built and have at least one year worth of track record
I'm looking to passively pass a prop firm challenge (goal 8k limit 3k [1.5k drawdown]) . I prefer it to operate as a cycle trader on the ES or NQ but I am looking for effectiveness over preference. Do you have something like this
Looking for an experienced MQL5 developer to refactor and upgrade an existing Expert Advisor (EA) trading system. Current State: I have the fully working Phase 1 .mq5 source code. However, the execution rules are overly rigid, resulting in missed setups. Scope of Work (Phase 2): Refactor entry logic to support multi-timeframe EMA trend alignment (H4 structural trend + M5/M15 execution EMAs). Upgrade pullback state
GBPUSD Demand & Supply EA 1. Trend Direction 1H timeframe 50 EMA and 200 EMA BUY bias: 50 EMA above 200 EMA SELL bias: 50 EMA below 200 EMA 2. Demand & Supply Zones Identify strong moves away from a base Prefer fresh zones Avoid zones that have already been repeatedly tested 3. Trendlines Use ascending trendlines to support BUY setups Use descending trendlines to support SELL setups Trendline must support the overall
SCALPER EA 30+ USD
the best SCALPER EA THIS ROBOT only takes a winning posetio IT ANALYSIS THE MARKET BEFOR OPENING POSETION AND WAIT FOR A CLEAR SIGNAL LOT SIZE AJUSTEBLE TAKE PROFIT AJUSTBLE
Hi, I’m looking for a developer who can create a trading bot designed to generate a 6% profit. The daily loss limit is 3% and the total loss limit is 8%. So my aim is to have a bot that has a probability of over 75% of reaching the 6% target before hitting the loss limit. I’d like the bot to work on MT5 and TradeLocker, please
I need an Expert Advisor for MT5 on XAUUSD 1min timeframe using SMC concepts. STRATEGY RULES: SELL: 1. Identify previous day High/Low as liquidity 2. Entry only during London-NY session: 15:00-19:00 GMT+3 or broker clock. 3. If price sweeps previous day High and closes back below it 4. Check for bearish 1min FVG below sweep candle 5. Wait for BOS - lower low 6. Entry: Sell/buy at 50% of the FVG 7. SL: 10 pips above
Code An Loss Rate 90-100% MT5 EA , that can blow a 100 USD account a day ,with fixed TP of 3000 points and SL of 3000 For better Rate Calculations get an strategy that can lead to so

Informations sur le projet

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