#hummingbird The Expert Advisor is based on the momentum of the price rate of change. When the speed of the price begins to increase sharply, the EA opens an order in the direction of its movement. Rate of Change is defined as the distance of StepPrice ticks that the price has moved for the period of TimePrice seconds. In contrast to the standard algorithm, virtual levels are modified not only after the TimePrice time, but also after the change of direction of the price movement—momentum. The built-in filter based on fractal analysis allows to filter out false signals, which provides greater stability of the Expert Advisor. The Expert Advisor works with one order of the chosen direction, moves it to breakeven and maintains it using a distance based trailing stop. In EA has a built-in algorithm for gathering information about the maximum spread and the maximum slippage during trading. The information is displayed in the comments. This information should be taken into account when selecting the EA parameters for trading on actual accounts. The EA has a built in trend based filter (FiltrTrend = true) that analyzes the slope of the moving average. Trading time is set up with a second accuracy. This feature allows you to allow trading at the time of important news releases. In this mode it is recommended not to use the trend based filter. The Expert Advisor shows stable results when working on accounts with low spread and high speed of order execution. Its algorithm does not depend on the timeframe, so the period change does not influence its operation. Parameters Lots = 0.01—the size of contract if PercentOfDepo=0; PercentOfDepo = 5—the size of contract as % of the deposit, if 0 - contract=Lots; StepPrice = 50—distance in ticks from the price to the virtual level; TimePrice = 5—time of virtual level modification in sec.; ECN = true—if ECN=true SL and TP are set on the next tick; StopLoss =100—Stop Loss in ticks; TakeProfit = 250; Take Profit in ticks; StepTral = 100—Trailing distance in ticks; DeltaStepTral = 2—Excess of price distance in ticks to enable the trailing; DistanceProfit = 80—a distance for moving an order to breakeven in ticks; LevelProfit = 2—The level for setting breakeven based Stop Loss in ticks; FiltrTrend = false—Enable trend based filter of signals; FiltrReturnSignal = true—Enable filter of the opposite signal. The Moving Average parameters for the trend based filter TF = 60—The Moving Average timeframe (1,5,15,30,60,240,1440...); MAPeriod = 13—The period of the Moving Average; MAMethod = MODE_EMA—MA calculation method (0-SMA,1-EMA,2-SMMA,3-LWMA); MAPrice = PRICE_MEDIAN; Moving Average calculation price (0-CLOSE,1-OPEN,2-HIGH,3-LOW,4-MEDIAN,5-TYPICAL,6-WEIGHTED); MagicNumber = 1823—a unique identifier; OpenOrderSound = "ok.wav"; Sound signal; Slippage = 3—Slippage; VisualLevel = false—Visualization of the StepPrice level; InfoComment = true—Enabling the maximum spread and slippage counter; g_Alert = false—Enabling alerts. Time parameters of the EA operation in the format of (hour:minute:second). Set up in accordance with the terminal time, if all 00 – around-the-clock operation TimeBegin = 00:00:00—Operation start time; TimeEnd = 00:00:00—Operation end time. Strategy Tester Results To select parameters, it is recommended to use your broker's tick history of the M1 timeframe (all ticks) with the non-zero value of the PercentOfDepo parameter. This will help you properly assess the risk and reward ratio and configure the EA according to your style of trading. Once optimized, the EA should show consistent results in forward (backward) tests. See the screenshots for examples.