• Overview
  • Reviews (14)
  • Comments (268)
  • What's new

Exp TickSniper DEMO

This Expert Advisor catches quick movements of the price of a currency pair and opens positions in the movement direction.

The functionality is the same with the MetaTrader 4 version. It includes stop loss, take profit and a system of averaging.

Note: You can install the system on 1 currency pair - USDJPY on a live account, or any pair on a demo account.


  1. TypeFilling - order filling type (contact your broker if necessary);
  2. typeorder - type of positions opened by signals;
  3. Trade_by_BUYSELL_Separate - trade in both directions simultaneously. It allows trading both BUY and SELL order at the same time.
  4. ClosePosifChange - close positions in case of an opposite common signal;
  5. Timeopen - time to determine the currency movement in milliseconds. Higher values produce more accurate signals. Lower value means stricter scalping rules
  6. DistanceTickSpread - spread (DistanceTickMANUAL - or points) the currency should pass during the Timeopen time to define the direction;
  7. TimeToCheckAverageSpread - time to determine the average spread in milliseconds;
  8. AutoCheckLowSpread - auto define a low spread. It protects the system against spread reduction at a broker's side;
  9. ReverseSignal - reverse the strategy signals;
  10. MaxSpreadToNotTrade/MinSpreadToNotTrade - prohibit trading with higher/lower spreads;
  11. Include_Commission_Swap - automatic calculation of commission and negative swap when used in the breakeven, trailing stop, averaging functions;
  12. PercentDDMAX - disable new signals when the total account drawdown is exceeded;
  13. NoNewPosition_below_MarginLevel - limit opening new trades if the margin falls below this value;
  14. SecondsSleepEaAfterClose - seconds of inactivity and ignoring new EA signals after closing the last position;
  15. HoursSleepEaAfterStopLoss - hours of inactivity and ignoring new EA signals after closing the last position by a stop loss;
  16. PeriodFilterMa/Method/TF /CloseByMa - MovingAverage period/method/timeframe for defining and sorting out trades by trend/closing positions by reverse Ma direction;
  17. AveragingbyFilterMA - place an averaging order only if MA filter shows the same direction as the trade;
  18. MinTimebeforenextAverage - minimum number of minutes till the next averaging order;
  19. MaxOrders - maximum number of averaging orders; 0 - unlimited;
  20. TakeProfitTickSpread - take profit of a deal/total deal in spreads;
  21. StoplossTickSpread - stop loss of each separate deal in spreads;
  22. DistanceAverageSpread - distance to average in spreads;
  23. DistanceAverageSpread_Сoef - averaging distance multiplier with each new deal;
  24. DistanceAverageSpread_Different - averaging distances in points separated by commas;
  25. TrailingStopTickSpred - trailing stop distance for a deal/total deal;
  26. xxxxxxMANUAL - specified parameter in points, manual settings in points have a priority;
  27. Lots - fixed lot;
  28. Averaging_LotsMartin - lot multiplier for each subsequent averaging deal;
  29. DynamicLot - dynamic lot;
  30. OpenHour/ OpenMinute/CloseHour/ CloseMinute - opening/closing hour and minute;
  31. CloseAllTradesByOutOfTime - close positions after the end of a trading time;
  32. ClosingPositionAtASpecificTime - close all positions at a specific day and time;
  33. TrailingStopUSE - enable standard trailing stop;
  34. SaveTPafterTrailingStop - take profit of the modified positions is saved in its place;
  35. Set_StopLoss_to_the_next_profitable_position_level - follow open positions and move a stop loss to the next profitable levels;
  36. MovingInWLUSE - enable the breakeven fuction for open positions.


  1. The EA works not on all brokers! It depends on the speed of quotes in the terminal. You can download the demo version.
  2. The EA does not work on accounts with commissions. A commission can eat up the whole profit. Zero spread is prohibited for the system.
  3. The EA is tested on a floating spread. The system can work incorrectly on fixed spread!
  4. The tester has a fixed spread. So, tester and real trading results may differ.
  5. The EA operation is based on spread increase or decrease, as well as quote rate. Therefore, the results may be different at different brokers.
  6. The EA uses averaging and stop loss. Averaging triggers in every 50 spreads from the previous position. Stop loss = 250 spreads.
  7. This is a scalper EA: trades may be closed within the range of 1 - 8 888 888 888 pips.
  8. Recommended deposit: minimum of $100 per 0.01, but we recommend $1,000 per 0.01 lots.
  9. While testing the EA on your broker's server, make sure that your deposit can withstand the average annual symbol price movement.
  10. Re-invest your funds, withdraw your profits in time and manage your money.
  11. The EA is fully automated.
  12. A small deposit leads to a huge drawdown.
Andrey Litvichenko
2017.10.16 16:25 

User didn't leave any comment to the rating

2016.11.11 15:15 

Vladon is making always a good job,is one of the best , but for me actually is not allright ..tested on a demo account on VPS and scalper worked very well, until buum ! a large loss ripped more than 10 percent of the demo account,and again buum ...maybe is better to try the paid one ,not sure

....like every scalper gaining little ,loosing large amounts

Eduard Gluhov
2016.11.02 10:20   

Вроде эту версию переделали на евпобакс, поставь на неё

Роман Ефимов
2016.10.12 21:58   

Скачал поставил на доларену чего-то не хочет работать за 2 суток не одной сделки не открыл,в тестере работает нормально

2016.03.21 03:45 

User didn't leave any comment to the rating

Anderson Hupp
2015.08.29 23:21 

Great EA!

2015.07.27 10:25   

День добрый , скачал демо установил, параметры по умолчанию, но не происходит( Торгую на демосчете открытия

2015.02.04 12:09 

The Best EA!

Ben Peretz
2014.10.15 22:33 

I never thought that there is an EA that can empty an account in less than 2 hours.. Even my dog can trade better than this.

Dr. Trader
2014.10.14 05:57 

I am using it for couple of weeks on demo account, looks good. EA opens order, and then either closes it with profit, either uses averaging to anyway close deal with profit, therefore balance drawdown is almost impossible. I had only one situation when ea closed deal with negative profit, but it regained losses back with next deal.

Averaging can cause huge equity drawdown on certain conditions, so its better to have a lot of balance in reserve.

Stats for last 11 trading days (eurusd):

lot size = 0.01

profit = 23.16

biggest equity drawdown = 23.14

biggest balance drawdown = 0.01

No settings changed, everything by default. And looks like I don't need to adjust any settings at all.



Its already month of EA trading eurusd on demo account, stats are following:

profit = 53.78

biggest equity drawdown = 48.8

biggest balance drawdown = 0.06 (!!!!!)

So, if you want to have no more than 10% equity drawdown - you should have 500 on your balance per each 0.01 lot. Income is around 10% per month in this case. Keep in mind that results are related for demo version, which does not autoadjusts to market situation like pro version. And supports only eurusd with default parameters. So, in my opinion PRO version will be much better, plus will allow to trade many pairs at the same time. I will keep demo version for one more month to have better equity drawdown statistics, then go pro. Congratulations, Vladislav, this is amazing work!

This free EA can trade on real account too, on any symbol, but you cannot change settings. And when equity drawdown reaches -10% - ea stops to open new trades at all, at the same time averaging stops too. So you should not use this free version on real account with small balance, or else lack of averaging may end your account. This is relevant only for demo version, full version will have possibility to change this setting.



Here is signal with this EA autotrade on 100 symbols at the same time: http://mql5.com/43j4

I am using it to find most profitable symbols, but you can check its results too. Some of symbols have very high equity drawdown, so its important not to trade all possible symbols on real account at once :)

Gennadiy Sidorov
2014.05.15 08:09 

User didn't leave any comment to the rating

2014.04.30 09:00 

best choice

Vadim Strelkov
2014.02.28 14:37 

4 только за то что демка

2013.06.03 10:19 

User didn't leave any comment to the rating

Version 18.5 - 2018.04.04
Update New Feature:
Use the original calculation of commission and swap when enabling the functions: Breakeven, Trailing Stop, Averaging.

The original commission calculation is based on the formula for calculating the value of 1 point from the open positions on a given symbol and magic number. Negative swap and commission are taken into account during calculations. The function returns the value of the negative swap and commission in points, and considers this when working with breakeven and trailing stop.

Note: if your broker has a floating spread, commission is calculated and set during the operation of the breakeven and trailing stop functions, but the spread may increase, leading to additional loss points. This is not a calculation error!
Also, note that when a swap occurs, the EA recalculates the breakeven line and sets new stop loss levels is the server allows it (restriction on the minimum Stop Level of your broker). If the server does not allow setting breakeven and returns the minimum stop level error, the EA will be unable to modify the position and additional loss points may be received.

In order to avoid losses when using accounts with commission and when receiving a negative swap, it is recommended to increase the distance of the breakeven or trailing stop.

The breakeven level (LevelWLoss/LevelWLossMANUAL) can be calculated manually, taking the commission into account.
For example: commission for opening and closing position = 2 USD (EURUSD) per 1 lot. So, in order to cover the loss on the commission, it is necessary to set LevelWLossMANUAL = 2 (points) + 1 (confirming) = 3 points.
Thus, the EA sets breakeven to +3 points, which in turn will cover the loss on the commission.

- Added a special mode to the breakeven function through the LevelWLossMANUAL parameter
When LevelWLossMANUAL = 0, the breakeven point is calculated based on the current spread. This allows making the breakeven level dynamic and closing with the minimum profit of 1 spread. If the position's profit increases, trailing stop comes into play.
(This mode worked in previous versions of the expert)
If LevelWLossMANUAL = 1, the EA will set breakeven to 1 point!
Version 18.4 - 2018.03.28
Only the negative values are considered in calculation of the additional commission and swap points (positive swap has no effect on calculation)
Version 18.3 - 2018.03.08
- Update for the information panel EAPADPRO v2.0;
- The code of the EA has been optimized to receive a large number of signals;
- Increased the EA operation speed;
- Updated work with a small spread;
- Updated the operation of averaging;
- Updated the commission calculation algorithm;
- Updated the average spread calculation algorithm;
- Updated the operation by bars, now the EA is able to perform multiple deals if a signal is repeated on 1 bar.
Version 17.525 - 2017.05.29
- Fixed the trailing stop error when there are positions in different directions.
- Improved the operation of the Set_StopLoss_to_the_next_profitable_position_level
- Improved the operation of the Averager
Version 17.501 - 2017.05.03
Fixed an error with position averaging when trading multiple symbols with the same magic number simultaneously
Version 17.330 - 2017.04.05
- Increased the algorithm processing speed towards performance and receiving signals.

- Added the SecondsToRefresh parameter to the EAPADPRO block - refresh rate of the information on the chart (default is 10 seconds). This is done to reduce the CPU load.

- Added the Set_StopLoss_to_the_next_profitable_position_level option. When enabled, this option monitors the open positions and transfers the stop loss to the next profitable levels. If the EA opens a BUY order, but the price moves against the position, 3 averaging positions are opened at the lower levels. Then, the price moves in the direction, but does not yet touch the middle line to activate the trailing stop. And if the price passes the opening level of lower position 2, the new option activates transferring the stop loss of the lowest position to the breakeven level. And if the price passes the level of the lower position 3, then the stop loss of the first position will be equal to the opening level of the position 2. And the stop loss of the position 2 = opening price of this position, and so on. If the price touches and goes down, the 2 positions will achieve breakeven and profit. Then the EA opens the averaging positions according to the algorithm again. But 2 profitable deals will be fixed.

- Fixed the breakeven error that occurred in accounts where the stop level = 0.

- Added the automatic spread level function. On accounts with commission, the EA may set too small levels due to the small spread. At the same time, the "Low" message will be displayed in the EAPADPRO dashboard. This function protects from using the EA on a small spread and allows to neutralize the difference between "normal trading" and trading on the accounts with the "small spread".

- Added support for the deposit currencies for the Autolot function, which are different from EUR USD RUB

- Added the RiskRate parameter - the exchange rate of your currency against the USD. The default RiskRate = 0 means that the EA will attempt to find the correct exchange rate in the "Market Watch". For the autolot to work adequately with all currency pair, it is necessary to "Show all" currency pairs in the "Market Watch".
Version 17.224 - 2017.03.01
Update of the "Averaging" block for the Brazilian market
Version 17.211 - 2017.02.20

Global update 2017

- Improved the signal detection system. Fully revised the algorithm for obtaining signals.
- Fully revised the function for determining the average spread. Changed the default value of the TimeToCheckAverageSpread parameter to 80000 (80 seconds) for determining the average spread
Note: During the first TimeToCheckAverageSpread/1000 seconds the EA does not trade, but collects information!
This done to average the floating spread of your broker and to avoid false signals during significant fluctuations in the spread values.
This option is disabled for fixed spreads.
- The DistanceMANUAL parameter has been renamed to AverageDistanceMANUAL;
- Updated the calculation of averaging and the MaxOrders parameter for hedging accounts.
- Algorithm for signal calculations will be disabled when the trading time (Time Traiding) is disabled in order to increase the testing speed of the EA.
- Modified the TrailingStep parameter. If TrailingStep =0, the TrailingStep = TrailingStop.
This means that the trailing stop modification step will be equal to the trailing stop level in spreads.
- Removed timer from the EA code, due to the unstable operation of the timer.
- When using trading by time, the calculation of the signals logic is stopped at non-trading time in order to increase the algorithm operation speed.
- Added the ReverseSignal parameter - reverses the strategy signals when enabled.
Note: When enabled, the МА filter is also reversed
- Added the Magic parameter (Other Settings block) - default values is -1 (for maintaining old positions without magic). If there are no existing positions, you may use a unique magic number.
- Added the CloseByMa parameter - when this parameter and the MA filter are used, the positions opened not based on the MA trend will be close
Note: if the position has averaging positions open, those positions will not be closed.
- Added support for rouble accounts for calculation of the automatic lot in DynamicLot
- Added parameter to manually set the distance for the TimeOpen signal:
DistanceTickMANUAL - set the signal distance in points.
DistanceTickMANUAL has a higher priority than DistanceTickSpred

- Added the EAPADPRO information panel
Details on the panel in our blog: https://www.mql5.com/ru/blogs/post/687140
Moved the technical information on the strategy to the Strategy block. Its details are not disclosed. This block helps in studying the market and subsequent signals
Version 17.11 - 2016.11.15
Code optimized in order to reduce CPU load.
Added support for the EA operation on the Brazilian market.
Added automated calculation of commission and swap in the Trailing Stop and Breakeven functions.
Now Trailing Stop will only trigger when the position covers charged commission.
Version 17.8 - 2016.11.02
Fixed MovingInWLUSE breakeven error, where Stop Loss could be ranging between the breakeven level and an activated trailing stop.
Version 17.7 - 2016.10.24
The EA can work on Hedging and Netting accounts.
Improved the operation of trailing stop and stop loss modification.
Version 17.0 - 2016.06.01
Version 16.999 - 2016.05.19
Added parameter SaveTPafterTrailingStop - save the take profit when modifying the trailing stop
Version 16.998 - 2016.04.05
Fixed the error of determining the spread Min Max
Version 16.997 - 2016.03.28
Added the step parameter for the trailing stop - TrailingStep

Added the Rounding parameter:
Without rounding - place stop orders without rounding
To 1 digit - rounding to 1 digit. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23450
To 2 digits - rounding by 2 digits. For example, if Stoploss= 1.23456, the trade will be opened with a stop loss of 1.23400
Version 16.996 - 2016.02.19
Added the parameters:
MaxSpreadToNotTrade - maximum allowed spread. When exceeded trading is disabled
MinSpreadToNotTrade - minimum allowed spread. When exceeded trading is disabled
AveragingbyFilterMA - place an averaging order, only if the MA filter shows the same direction as the trade direction
(If the EA needs to open an averaging order and the MA is above the buy price, the averaging order is not opened).
Version 16.995 - 2016.02.08
Version 16.995 - 2016.01.28
Added the Autolot selection mode.
TypeAutolot= 1 Autolot is calculated based on the current balance
TypeAutolot= 2 Autolot is calculated based on the current free margin
Version 16.992 - 2015.12.23
Added automatic detection of the order filling type.
Version 16.991 - 2015.12.17
Set the default to MaxOrders = 5. The maximum number of averagings for the position = 5.
Version 16.979 - 2015.11.23
New parameter Slippage - slippage in points during trade opening. If a server returns a requote on a signal, the trade will be skipped.

New parameter CloseAllTradesbyOutofTime - all trades positions will be closed at the end of the trading time with Times options used.
Version 16.804 - 2015.08.05
Added parameter
ShowInfo=true - show an information block on the chart

Added a trend filter.
Algorithm for determining a trend - location of MA relative to the price.
The MA period parameter is included in PeriodFilterMa settings.
MA is determined by TF = M1
Version 16.407 - 2015.05.22
Added ability to work with any name of EURUSD symbol, including EURUSD.m.
Version 16.128 - 2015.01.28
Manual Take Profit has been fixed.
Version 16.123 - 2015.01.26
Fill policy parameter has been added to the external parameters:

This fill policy means that an order can be executed only with the specified volume. If the required volume for a given financial instrument is currently unavailable in the market, the order will not be executed. The required volume can be filled using several offers currently available in the market.

This means that a trade will be executed with the maximum volume available in the market within the value indicated in the order. In case entire order volume is not available in the market at the moment, a partial fulfillment is possible, but any portion that cannot be filled immediately is canceled.

This fill policy is used for market, Limit and Stop Limit orders and only in the Market Execution and Exchange Execution modes. In case of partial filling a market or Limit order with remaining volume is not canceled but processed further.
When a Stop Limit order triggers, a relevant Limit order will be placed with the Return fill policy.
Version 16.114 - 2015.01.21
A new parameter has been added:
MinTimebeforenextAverage = 5; // Min Time in minutes for next step for averaging

The minimum number of minutes until the next opening of an Averaging order! Useful for large candlesticks. Thus, we set a limit for the next order opening in minutes.
Version 16.112 - 2015.01.14
Added option ModifyStoplossEverySeconds = 0.
Modification of the Stop Loss at a new spread every specified amount of seconds.
This allows you to modify the Stop Loss for a new spread.
The value of at least 10 seconds is recommended, so that you are not banned by your broker for frequent stop loss midifications.

If 0, the option is disabled.
This modification is disabled when your position reaches breakeven.
Version 16.109 - 2015.01.12
Added new averaging parameters:
DistanceAverageSpred_Koef = Koef to next step for averaging
- set spread increase/decrease ratio for trade averaging from the initial DistanceAverageSpred value.
DistanceAverageSpred_Koef = 2, DistanceAverageSpred = 50: the first averaging trade is performed at the distance of 50 current spreads. The second one is performed at the distance of 100 current spreads!
DistanceAverageSpred_Diferent = steps for averaging separated by commas
- set averaging values in spreads separated by comma.
"10,20,50,50,20,10" means that the first averaging trade is performed at the distance of 10 current spreads, the second one - 20 spreads, the third one - 50, etc.
If three values of "10,20,30" are specified, all trade distances after the third trade are equal to 30.


Added open parameters for manual setting:
TakeProfitMANUAL = TakeProfit 0 - Autoset
DistanceMANUAL = Distance of Averaging 0 - Autoset
TrailingStopaMANUAL = Distance TrallingStop 0 - Autoset
StopLossMANUAL = StopLoss 0 - Autoset
LevelWLossMANUAL and LevelProfitMANUAL

If you want to set fixed values, for example, for a stop loss, you may set StopLossMANUAL = 1 000 points.
Or if you want to set fixed values of the averaging distance, you may set DistanceMANUAL = 100 points.

Significantly increased the speed of the EA testing in the strategy tester.
Fixed too long stop loss received during a too high spread leap (if the spread is increased 10 times, the stop loss is too big).
Fixes reported bugs.
Added the info panel to the chart the EA is launched at.
Displayed signal volume and power.
Version 15.965 - 2014.11.12
Added parameters:
- Forced Modification of SL\TP in Market Trade
- Comments To Open Orders
- Use trade sounds

Fixed errors reported by users.

Added forced attempt of Stop Loss modification when opening a deal.

Fixed variable "Maximum number of orders for averaging".

In case of any error from the server, a comment is added in the Log.
Version 15.423 - 2014.04.24
- Maximum number of orders during averaging.

- Stop loss of every next deal is calculated on the basis of the open price of the last order instead of the current price.
- Signals and variables of arrays containing signals are reset on start and every new day.
- Signals are now detect only at non-rollback movements in the same direction.
Version 15.331 - 2014.04.01
- SpreadToNotTrade - maximum spread for trades to be executed. If the current spread is greater than this value, the EA will skip signals.
- PercentDDMAX - maximum drawdown of account equity at which the EA will start skipping signals for new trades.
- NoNewPosition_below_MarginLevel - minimum margin in percentage at which the EA can make trades. If the margin falls below this value, the EA will skip new signals.
- SecondsSleepEaAfterClose - sleep period in seconds. For the specified time after the last deal the EA will skip new signals.
Version 15.117 - 2014.01.17
Added MovingInWLUSE parameter.

Once a position becomes profitable, its stop loss is moved to breakeven.

The last deal and the timeframe are considered for averaging. Only one averaging can be used on 1 bar.

If a position is closed with a loss, it will start with initial lot.
Version 14.278 - 2013.08.27
The drawdown PercentDDMAX is calculated by all positions in the terminal. If a user open positions manually or using another Expert Advisor, those positions will be included in the calculation of drawdown.
Version 14.238 - 2013.08.23
If the Trallingstop is less than the minimum level for modification allowed on the server, the minimum allowed value will be used.
Version 14.208 - 2013.08.20
Amended the autolot function for brokers that have symbols with suffixes. For example, EURUSD.m.
Version 14.158 - 2013.08.15
New inputs:
- SpreadToNotTrade - spread limit. If the spread exceeds this value, new deals won't be opened. 0 means the option is disabled.
- PercentDDMAX - maximum drawdown by all symbols of the current account. If this value is reached, new deals will not be opened using signals. An exception is averaging deals.
- StoplossTickSpred - number of spreads for the stop loss.
Version 14.138 - 2013.08.13
Updated TrailingStop function.
When using initial trailing stop and a set of signals for modifying the stop loss, the initial stop loss is reset and the TrailingStop function starts working instead.
Version 14.28 - 2013.08.02
Changed the structure of defining Take Profit and Trailing stop (TrailingStopaTickSpred and TakeProfitTickSpred).

To decrease the number of requests sent to the server, the parameters accept the current spread value only when the main deal is performed.
Version 13.723 - 2013.07.24
The EA has been updated for the terminal's build. Added condition for trading time: if parameters remain unchanged, the EA works 24 hours.

The EA is best suited for working at VPS server.