Fly System Expert Advisor For MT4

Fly System Expert Advisor For MT4



PLEASE NOTE: This expert advisor was publicly available for free usage on other websites and is not programmed by us. We explain the functionality and possible improvements of the EA. Furthermore, we are convinced that fully automatic Expert Advisors will fail in the long run. On the other hand, our semi-automatic approach with detecting the best setups and then activating our Expert Advisors (e.g. V-Power EA, EdgeZone EA) produced many successful traders and some of them even got prop traders at prop trading firms. Therefore, we added a similar semi-automatic trading feature (to allow only buy or only sell trades) to the free Expert Advisors. You can download the modified version here and enjoy!


Table Of Contents:

  1. Fly System Expert Advisor For MT4
  2. The Fly System Expert Advisor For MT4 – Entry Criteria
  3. The Fly System Expert Advisor For MT4 – Exit Criteria
  4. The Fly System Expert Advisor For MT4 – Room for Improvement


The Fly System Expert Advisor is a scalping system designed for MetaTrader4 platform. The program is intended to be used in one-minute chart of EURUSD. However, anyone can implement the trading system in any currency pair and period. It supports either a four-digit or five-digit trading account.

When the expert advisor was run in the strategy tester, it took very few trades in the course of four months of testing using historical data. The profit factor was 0.75, meaning it lost money, and win rate was 31 percent. The good thing is the low maximal drawdown, which is only 0.13 percent. This testing result cannot opine on the performance and profitability of the trading system. Demo trading might be the best recourse for interested users.

FREE Fly System EA

Download the FREE Fly System Expert Advisor for MT4.

To receive my email 100% sure: 
Put my email on your whitelist!

The Fly System Expert Advisor For MT4 – Entry Criteria

The Fly System Expert Advisor uses a complicated algorithm when entering and managing trades. The only way to understand how it works is to see it in action in demo trading or back testing. The algorithm does not run on every tick or on every new candle; rather, it performs the iterative process at regular intervals defined by a timer set at 10 milliseconds.

In expert settings, the user is presented with a wide range of parameters to work with or adjust as needed. The sheer number of inputs to navigate might overwhelm the user at first, so it makes sense to run the robot with the default settings at the outset. In time, the user will come to understand what those variables mean and how best to use them. The most crucial parameters in Inputs are outlined below:

  • TypeOfOrdersSend = Stop_Pending_Orders – With this value, the expert advisor will use stop orders when placing trades. The user can use the other option, though, that is, limit orders.

  • ModifyPending = true – When this is true, the positions of pending orders are adjusted when not triggered for a while.

  • PendingOrdersDist = 4.0 – This is the distance in pips between price and pending orders.

  • DelayModifyOrders = 7 – This figure is in ticks. It refers to the count of ticks, not the actual value.

  • StepModifyOrders = 1.0 – When a set of pending orders is not converted to market orders, the entry prices of pending orders are moved by one pip.

  • OrdersStopLoss = 0.4 – When a pending order becomes a market order, its stop loss will be adjusted every time it gains 0.4 pips.

  • UseTakeProfit = false – By default, trades have no take profits, unless the user sets this value to true.

  • OrdersTakeProfit = 10 – If the above parameter is set to true, trades will have a take profit of 10 pips.

  • AutoLotSize = false – When this is true, the expert advisor will set the lot size of every trade.

  • RiskFactor = 10 – If the above setting is true, the robot will use a risk factor of 10 when computing the lot size.

  • ManualLotSize = 0.01 – When automatic lot sizing is false, each trade will have a lot size of 0.01.

  • UseTimeFilter = false – By default, the robot does not use a time filter, so it can trade any time of the day.

  • TimeStartTrade = "00:00:00" – The user can set the start hour of trading with this variable.

  • TimeStopTrade = "00:00:00" – The user can set the end hour of trading using this variable.

  • AcceptStopLevel = 0.0 – If this is zero, the stop level of the active symbol will be overlooked.

  • Slippage = 1 – This means that the slippage for trade execution is one pip.

  • OrdersID = 0 – Since this value is zero, the robot will define a magic number for the trades.

  • MaxSpread = 1.0 – If the spread goes beyond one pip in the current symbol, the robot will not execute orders.

  • TypeOfSpreadUse = 1 – A value of one means the average spread will be used.

  • CommissionInPip = 0.0 – With this default value, the robot will not look at the value of the commission in pips.

  • CommissionInCur = 0.0 – With this default setting, the robot will not look at the value of the commission in the deposit currency.

  • CountAvgSpread = true – This instructs the robot to measure the average spread.

  • CountAvgSlippage = true – This instructs the robot to measure the average slippage.

If there are no orders on the current symbol, the expert advisor plots two orders on the chart. By default, stop orders are used. However, the user can set the program to use limit orders instead. This can be done by changing the value of TypeOfOrdersSend variable to Limit_Pending_Orders in Inputs.

In the default setting, one buy stop order is placed four pips above the ask price, and one sell stop order is placed four pips below the bid price. This is defined by the PendingOrdersDist variable. Both stop orders have specific stop loss values, but no take profit. If the user wants trades to have take profit targets, he can change the value of the UseTakeProfit variable to true. When this is done, orders will have a take profit of 10 pips.

The stop loss is set six pips from the pending entry price, but this is not specified in Inputs. The stop loss distance can be ascertained by doing a manual calculation from the trades executed in testing, that is, subtracting the stop loss price from the entry price.

This type of trade entry assumes a waiting approach until the market makes a move in one way or another. When price touches one of the orders, that order is converted into a market order while the other order is deleted. Every time the market order gains at least 0.4 pips (see OrdersStopLoss variable), its stop loss is adjusted immediately and continually.

With this style of trade management, it is often the case that trades end in loss even if their stop losses are adjusted as the trades gain more points. This is evident in the trade results in testing. Most of the time the expert advisor is not doing trade management. Instead, it is predominantly involved in entry management. From time to time, it repositions the stop orders on the chart.

The expert advisor spends most of its time adjusting trade entries. This happens when the pending stop orders are not triggered after seven ticks have passed (refer to DelayModifyOrders variable). When the market is not volatile, the pending orders are moved constantly to keep the distance of six pips between price and the orders. It appears this robot takes trades only when market is strong or volatile.

The user must familiarize or set certain parameters correctly so that the trading algorithm runs and executes orders. These parameters are the AcceptStopLevel, Slippage, MaxSpread, TypeOfSpreadUse, and CommissionInPip. If the trader sets a value other than zero for the AcceptStopLevel variable, he must make sure that the value is greater than or equal to the actual stop level for the desired symbol. If the user changes the default value of Slippage (1.0) to a lower value, an order might not be executed if the market is volatile.

In continuation to the foregoing discussion, the default MaxSpread is 1.0. If in case the user runs the robot in a symbol with higher spreads, the robot would not run at all. By default, the robot looks at the average spread (see TypeOfSpreadUse variable). Therefore, it will check if the MaxSpread is greater than the average spread in order to execute trades. It is better to leave the default value of CommissionInPip as is so that the robot would not consider it at all when entering trades.

The Fly System Expert Advisor For MT4 – Exit Criteria

As the Fly System Expert Advisor does not set take profit targets for orders by default, market orders are closed only by the stop loss. The stop loss price where trades are closed can be the original stop loss put in place upon trade placement or the new stop loss set by the robot when trades start moving in the desired direction. There is no guarantee, though, that modified trades are sure winners as evidenced by trade results in the strategy tester.

The Fly System Expert Advisor For MT4 – Room for Improvement

The Fly System Expert Advisor is a very complex trading system that is hard to comprehend just by reading the code. Even advanced coders will have a hard time cracking the code. The only way to understand how this program works is by observing it in demo trading, which can be very time-consuming.


FREE Fly System EA

Download the FREE Fly System Expert Advisor for MT4.

To receive my email 100% sure: 
Put my email on your whitelist!


Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

About Me

I'm Mike Semlitsch the owner of My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group

Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.