Averager is intended for averaging your deals that has had a drawdown or had gone against the trend.
- The adviser can open additional positions on the trend and against the trend!
Averager - Full Description + DEMO + PDF
An example of operation of the averager in an Exeprt Advisor in the MetaTrader 5 terminal: Exp - TickSniper.
Example of the averaging system in our TickSniper scalperUniversal trading adviser with the averaging function The X
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.
You can test the Expert Advisor in the strategy tester and trade with our EAPADPRO toolbar in visual mode!
How it Works?
- The Expert Advisor will open a position in the same direction after the specified number of points (Distance).
- The volume of the position is calculated as the volume of the previous deal * LotsMartin.
- Also the Expert Advisor modifies the common take profit for all deals setting it as "The point of zero line of all positions of the same direction" + TakeProfit points.
- Also it can modify the stop loss of all positions (if TrailingStopUSE = true) if the price breaks through the level "The point of zero line of all positions of the same direction" and goes behind it for TrailingStop points.
- The inputs parameters of the Expert Advisor include MaxOrders - the maximum number of deals for averaging.
The Expert Advisor works on the currency pair to which chart it is attached. For example, to turn on 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.
input string periods8="========= BreakEven WithoutLOSS options ========================================";//---------------------------------------------------------------------------------------------------------
input bool MovingInWLUSE=false; //MovingInWLUSE --> Enable the Breakeven function
input int LevelWLoss=0; //LevelWLoss --> Distance from the OpenPrice to the profitable SL
input int LevelProfit=0; //LevelProfit --> Number of points gained by the position to use BE
RoundingDigits Number of decimal for modification.
-To 1 digit
-To 2 digits
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 the EAPADPRO information panel
Details on the panel in our blog:
The following data has been moved to the Strategy Info block:
OWN Signal = Name of the signal + Timeframe of the signal + Reverse
Current Signal = Current signal from the main indicator
Filter 1/2 - Name of the filter 1/2
Current Filter - Current signal from filters 1/2
BUY Average/Lot - Next averaging in points for BUY / Next averaging lot
SELL Average/Lot - Next averaging in points for SELL / Next averaging lot
Buy Additional/Lot - Next additional opening in points for BUY / Next lot for additional opening
Sell Additional/Lot - Next additional opening in points for SELL / Next lot for additional opening
Average Price Buy - Average price for BUY deals
Price Sell - Average price for SELL deals
Increased the last lot of an open position at the last deal.
- Fixed the error in the determination of the last lot, if the position was closed by several requests.
- Added the selection of the order filling type - TypeFilling