Averaging positions. Opening of additional positions on the trend and against the trend with the function of the general trailing stop of the profit!
- The adviser can open additional positions on the trend and against the trend!
- Includes average trailing stop for a series of positions!
- Increasing and decreasing the lot.
- A popular strategy for bringing unprofitable positions to the average price.
- You can test the Expert Advisor in the strategy tester and trade with our EAPADPRO toolbar in visual mode!
- Note: this is not an automated trading system .
- It monitors your deals and averages them in case of a drawdown until you get a profit.
How it Works?
- Exp Averager is intended for averaging your deals that have had a drawdown and have gone against the trend.
- After a specified number of points equal to Distance, our Expert Advisor opens a position in the same direction with the volume equal to " Lots of the previous deal" * LotsMartin.
- The Expert Advisor also modifies the general take profit on all deals moving it to the level of "Zero line point of all the positions in the same direction" + TakeProfit points.
- It also can modify the stop loss of all positions (if TrailingStopUSE=true), when the price breaks the level of "Zero line point of all the positions in the same direction" at a distance of TrailingStop points.
- The Expert Advisor settings includes an option, in which you can set the maximum number of positions opened for averaging (MaxOrdersOpen).
The Expert Advisor works on the currency pair to which chart it is attached.
For example, to enable the averaging for EURUSD, open the EURUSD chart and run the Expert Advisor.
- MaxOrdersOpen - the maximum number of opened orders, 0 - unlimited.
- TakeProfitALL - total take profit for modification.
- AllTradeTrail - Allow modification of trailing stop\breakeven\take profit for all trades, including the ones opened by user. On the given currency pair.
- SleepForOpenbetweenLastClose - delay in minutes for opening averaging trades after a trade is closed.
- OpenOnly1ofBar - allows opening only 1 averaging\additional trade per bar (depends on the current TF).
- OrderToAverage - the type of orders. -1 - all orders, 1 - Sell, 0 - Buy.
- MagicToAverage - the magic number of the orders, -1 - all orders.
- Distance - distance for the opened grid positions for opening against the trend.
- DistanceMartin - increase\decrease the distance for the next position in the grid. Martingale for distance.
- StopLoss - stop loss for the averaging trade against the trend.
- LotsMartin - volume increase for the grid of positions against the trend.
- LotAdditional - additional lot for an averaged position against the trend.
- LotMax - maximum averaging lot against the trend.
- ADDITIONALDistance - the distance for additional positions opened for the grid - additional opening based on the trend.
- ADDITIONALDistanceMartin - increase\decrease the distance for the next position in the grid for opening additional positions based on the trend. Martingale for distance.
- ADDITIONALStopLoss - stop loss for the additional trades opened based on the trend.
- ADDITIONALLotsMartin - increase the lot for the grid of positions for opening additional positions based on the trend.
- ADDITIONALLotAdditional - additional lot for the additional positions.
- ADDITIONALLotMax - maximum lot for opening additional positions.
- TrailingStopUSE - use trailing stop.
- TrailingStop - trailing distance, 0 - the minimum allowed.
- TrailingStep - trailing step.
- MovingInWLUSE - enable breakeven when opening averaging\additional trades
- LevelWLoss - distance from the price for placing stop loss
- LevelProfit - distance in profit after which the breakeven is set at LevelWLoss points.
The parameter separates the BUY SELL positions separately from each other.
Added information labels to the chart:
When activated ShowInfoAverager = to true, you will see the following information:
1. Average = Display the average (zero) line from positions of the same direction. If you move to a label, then there will be additional information about the calculation of the average line!
2. Next Average = Display the next averaging position, which will be open in this direction. If you move to a label, then there will be additional information about the distance!
3. Next Additional = Display the next position of additional opening, which will be open in this direction.
- Added custom lot parameters in xx.xx, yy.yy, zz.zz format
You can specify:
LotDifferent - lots separated by comma for averaging;
ADDITIONALLotDifferent - lots separated by commas for additional opening;
DistanceDifferent / ADDITIONALDistanceDifferent: Distance of new positions of averaging (against the trend) or additional opening (to the trend), separated by commas!
You can specify distance values in the format xx, yy, zz, aa
xx - Distance in points for opening the first position of averaging / additional opening;
yy - distance in points for opening the second position of averaging / additional opening;
zz - Distance in points for opening the third position of averaging / additional opening;
aa - Distance in points for opening the fourth and other positions of averaging / additional opening;
You can set any number of distances.
MagicNumber Magic number of positions (transactions) for tracking and accounting.
MagicNumber Magic numbers can be specified separated by commas:
🔘 0 - orders opened manually;
🔘 123,345,147 - all positions with MagicNumber numbers 123,345,147;
🔘 -1 - all MagicNumber, without exception.
🆕 - Added new variables:
🆕 CloseAveragingAfterCloseMainDeals - Close averaging positions (open against the trend) when the main positions are closed.
The function will close the averaging positions only when all the main positions (according to the current symbol and magic number) are closed!
⚠️ Attention: The new function works separately for the BUY and SELL directions!
🆕 CloseAdditionalAfterCloseMainDeals - Close additional open positions (opened with the trend) when the main positions were closed.
The function will close the position of the additional opening only when all the main positions (according to the current symbol and magic number) are closed!
⚠️ Attention: The new function works separately for the BUY and SELL directions!
- Update EAPADPRO v25;
- Additional languages added to the panel: Spanish, Portuguese (Brazil), German, Chinese, Japanese;
The translation was made using the GOOGLE Translator + MQL + Terminal site!
if you find an error in your language, please report it in messages. Thank!
- Increase the speed of the panel;
DistanceAdditionalPoint / ADDITIONALDistanceAdditionalPoint - additional points to calculate the distance.
If DistanceAdditionalPoint = 5, then 5 points are added to each following distance.
DistanceMax / ADDITIONALDistanceMax - The maximum number of points in the distance.
If, when calculating the distance, the obtained value is higher than DistanceMax, then the Expert Advisor takes the value DistanceMax.
- Updated the operation of averaging;
- Updated the commission calculation algorithm;
- Added separate stop loss/take profit;
TakeProfitALL - take profit to be placed at a distance of TakeProfitALL points from the average opening price of positions;
StopLossALL - stop loss to be placed at a distance of StopLossALL points from the average opening price of positions;
TakeProfit - take profit to be placed at a distance of TakeProfit points from the averaging position opening price;
StopLoss - stop loss to be placed at a distance of StopLoss points from the averaging position opening price;
ADDITIONALTakeProfit - take profit to be placed at a distance of ADDITIONALTakeProfit points from the opening price of additional position.
ADDITIONALStopLoss - stop loss to be placed at a distance of ADDITIONALStopLoss points from the opening price of additional position.
- To prevent constant modification of the total stop loss/take profit due to constant changes in the value of 1 point, the total stop loss/take profit does not take into account commission and swap.
- Renamed the variables:
MagikToAverage = MagicToAverage
LotsMartinAverager = LotsMartin
MaxLot = LotMax
MaxOrders = MaxOrdersOpen
TypeTradeBUYSELL = OrderToAverage
Added block for opening additional positions based on the trend:
- ADDITIONALDistance - the distance for opening additional grid positions based on the trend.
- ADDITIONALDistanceMartin - the distance multiplier for opening additional positions based on the trend.
- ADDITIONALLotsMartin - increase the lot size of the grid positions for opening additional positions based on the trend
- ADDITIONALLotAdditional - additional lot for the additional position for opening additional positions based on the trend
- ADDITIONALLotMax = maximum lot to use when opening the averaging positions. 0 - disabled
- ADDITIONALStopLoss - Stop loss of the opening additional positions based on the trend
Added block for transferring the stop loss to breakeven.
Note: breakeven is set starting from the middle 0 line.
- MovingInWLUSE - transfer the position to breakeven;
- LevelWLoss - transfer the stop loss to +LevelWLoss points;
- LevelProfit - when the trade gains LevelProfit points of profit;
- Added the EAPADPRO information panel
Details on the panel in our blog:
The following data has been moved to the Strategy Info block:
BUY Average/Lot - Next averaging in points for BUY / Next averaging lot
SELL Average/Lot - Next averaging in points for SELL / Next averaging lot
Average Price Buy - Average price for BUY deals
Average Price Sell - Average price for SELL deals
Last Price Buy - The last known price of the lowest BUY trade
Last Price Sell - The last known price of the highest SELL trade
Last Lot Buy - The last known lot of the lowest BUY trade
Last Lot Sell - The last known lot of the highest SELL trade
If TakeProfitALL = 0, then take profit is not placed.
Added the OpenOnly1ofBar parameter
If OpenOnly1ofBar = true, the averaging positions will only be placed 1 time on the current bar. The parameter has been added in order to avoid opening multiple trades on 1 bar during the release of important news.
Delayed opening of the new averaging order after closing the last position, in seconds.
It allows you to delay before opening, if the positions are closed by another expert, for example CloseIfProfitorLoss with Trailing.
Added option MarketWatch
MarketWatch (true - false)
This option can be enabled for the accounts in the group consisting ECN \ NDD and \ or accounts that use Market execution.
Principle: In the accounts of the group of ECN \ NDD and \ or accounts that use Market execution is forbidden to open positions with established Stoploss \ Take Profit, but is allowed to open a position with a Stop Loss \ TakeProfit = 0, and at the same time after the successful opening of the modified position Stoploss on and \ or Take Profit
This feature, when turned on, first opens position, then sets Stoploss \ takeprofit for it.
Например: Если При расчете лота для усреднения
(начальный лот позиции 0.1 LotsMartin=2 и LotAdditional=0.1) сделка усреднения должна открыться как 0.3 лота и LotMax=0.2, то сделка откроется 0.2 лотом
At 4-digit brokers, a stop loss lagged behind the price. When modifying and enabling a trailing stop, all trades of one direction are modified by a common stop loss.
Previously, each position moved from the mid line on its own when a common trailing stop was enabled. This could occassionally affect the simultaneous position closing.
Added LotAdditional variable allowing you to add a lot to the one being opened. If LotAdditional=0, an ordinary lot is opened. If, for example, LotsMartin=1 and LotAdditional=0.5, each following averaging lot is equal to the last trade's lot + 0.5.