Programming Services

We are able to turn your most sophisticated ideas into high quality and reliable code. We can create for you Expert Advisors, Custom Indicators, Scripts and Libraries in MQL 4 language.

The price depends on the complexity (analyzing, programming, testing) of your project. Creation of a Custom Indicator costs usually about $100. Expert Advisors, which are more complex than indicators, cost at least $200. All prices are net values. For invoicing reasons, apart from your email address your full name is also required. Also, let us know if you need a written invoice. To get more information about invoices, transaction description or terms of delivery just contact us.

What is Expert Advisor Programming?

The MetaQuotes Language (MQL) is a programming language for the development of trading strategies and custom indicators for the Metatrader platform.

Programming in the MQL language allows the programmer to create programs called Expert Advisors, or EA’s, for the purpose of automated trading. These Expert Advisors are then loaded into the MetaTrader application. Hundreds of the functions necessary for the analysis of real time or historical Market quotes, or tick data, as well as basic to complex Arithmetic, and logical operations are included in the MQL4 language. There are also plenty of built in Indicators and Oscillators such as the Accelerator, Accumulation, Alligator, ATR, Awesome Indicator, Bollinger Bands, Bears, Bulls, CCI, MACD,  Momentum, Moving Averages, OsMA, Parabolic SAR, RSI, Stochastic, and the Williams Percent Range. Custom indicators like iExposure, LSMA, nonlagma, StochRsiHistogram, Heiken Ashi, and the ZigZag can also be used to make trading decisions within an EA.

Programs written in the MetaQuotes Language have several different features and purposes when trading:

  • The ‘Expert Advisor’ is an Automated Trading System, which can be attached to run on any chart. An EA is executed with every incoming Market tick for a given symbol. The EA can inform you about a possibility to trade, and trade an account automatically by sending the order directly to your MT4 Broker’s Server. Unlike most trading systems, the MT4 Platform supports the back testing of an EA on the historical data by displaying the entry and exit points of a trade on the chart.
  • The ‘Custom Indicator’ is a technical indicator written independently of the EA and can be added to the indicators that are already integrated in the MT4 Platform. Like the built-in indicators, they are not used to trade an account automatically but are intended for analytical purposes to find any possible trading opportunities.
  • The ‘Script’ is a program intended for a single execution of some actions. Unlike an Expert Advisor, or EA, Scripts are not run on every tick, but only when attached to a chart. They can be coded to open, modify or close trades saving the time required to do these actions manually.
  • The ‘DLL Library’ is a set of custom functions, or tools, containing algorithms that are used on a frequent basis. Libraries are accessed through parts of the main program and can be used by several programs at the same time. It also makes it possible to hide some of the methods used in an expert advisor as well as overcoming some of the coding limitations of MT4.

Expert Advisors

To order any kind of MQL4 program, please send as much detail about your request as it is possible.

Expert Advisors also need such information as:

  • Used indicators – please attach all indicators that can’t be found in the original MetaTrader terminal.
  • Rules to open long/short position
  • Rules to close long/short position
  • Your preferred currency pairs, timeframes and broker (the EA will be tested with this configuration in the first instance).
  • Any specific features of your broker (like ECN broker, quotes with extra decimal place, standard lot size equal to 100000.0 instead of 1.0, etc.)

Your request will be analyzed in detail. If something is not clear, we will ask you for more information. After determining the requirements and getting mutual approval, we will send you information about total costs of the project and time of delivery. Once you make the initial payment, we will start working and you will receive the source code.

For all types of MQL4 programs fill out the form below  (A detailed explanation of items can be read below the entry form):

* indicates required field

Program Options

The initial coding of expert advisors can include any of the following at minimal cost. Any of these options can also be added to an existing EA based on my hourly rate. When submitting your proposal make sure to add the options desired to your specifications.

Acceptable file types: doc,docx,zip,rar,mq4,mqh,pdf,txt,gif,jpg,jpeg,png.
Maximum file size: 2mb.

Proposal details can also be sent through the Contact page after the form is filled out and sent.

Description of Form Check Boxes

Money Management

Fixed lots.
Dynamic lot calculation.
The lot size increases with an increase of Account Balance, Equity, or FreeMargin. Lots are calculated based on:

  • Percent of Account Balance
  • Percent of Account Equity
  • Percent of Account Free Margin

For example an account size of $5000 and a risk of 2% would trade 1 minilot regardless of stoploss.

An additional option to use stoploss as part of the calculation is also available.  For example if you enter a stoploss of 50 pips with an account size of $5000 and risk of 2% then the lots will be calculated based on the maximum loss of $100. In this example that would be 2 minilots.

Martingale and Essex money management methods are also available but are more risky.

Trading Filters

Expert advisors can include an expiration date or require that the user account number matches an input value. This is important if you plan to sell your EA. Additional security can also be done that will make an EA almost unbreakable.

Trading time filters can be based on:

  • Days of the week – i.e. No trades on Sunday or Friday
  • Date – i.e. No trades on 10/9/2011
  • Range of dates – i.e. No trades from 12/21/2011 – 1/6/2012
  • Only allow trades based on time of day for up to 3 different sessions – i.e. Only trade London open from 10:00 to 13:00
  • After a specific time on a specific day –  i.e.  No trades after 17:00 on Friday


  • Sound, Popup, Email alerts on set/open/modify/close/delete of an order.
  • Optional text output to the chart showing working of EA and trade values. For example, the text can show that filters are not allowing trades.
  • The text can also show which indicator(s) triggered the trade to be open. This can include maximum profit/loss reached and current profit/loss.
  • Colors can be used for quickly identifying profit or loss.

Opening and Managing Trades

  • Trade rules can be based on all rules being met or some rules met before others.  For example, the first rule might be wait for a swing point to occur
  • Open a trade after the swing point based on other indicators confirming the swing high/low as a turning point
  • Trade logic can also be hidden in a DLL as an additional security measure
  • Open one or multiple trades with different settings for lots, stoploss and takeprofit
  • Support of Market Execution (required for ECN brokers)
  • Open operation will be split into 2 parts:
  1. Open new order with 0 (zero) stoploss and 0 (zero) takeprofit
  2. Modify sl and tp of new order to actual values based on order open price.

Extensive error checking is done in an attempt to make certain a trade is filled , modified or closed.

Make StopLoss, TakeProfit, TrailingStop hidden to brokers:

  • In this case EA will manage Hidden (or invisible) stops and place safety stops to the broker. For example, a hidden stop might be 15 pips while the broker sees 30 pips.
  • Coding also includes making certain the stoploss and takeprofit are honored by the broker.
  • Needed values are stored on your hard drive in case of a disconnect from the server. When the connection is re-established the saved values are loaded into the EA. This will preserve any hidden stoploss or takeprofit values as well as signals that have occurred that are waiting for some confirmation.
  • Close open orders at a specific time including optional day – i.e. Close all trades at 17:00 on Friday.
  • Additional options include closing:
    1. Only profitable
    2. Only losing
    3. All

Close open orders after a specific number of minutes if no progress is made.  For example, close trades after 60 minutes if trade has not moved a minimum of 20 pips.

Trailing Stops

Trailing stop can be any or all of 9 or more different types:

1 = Trail immediately – Stoploss is moved pip for pip as trade moves in profit
2 = Wait to trail – this is the standard trail from brokers
3 = Uses 3 levels before trail – use 3 steps before trailing pip for pip
4 = Breakeven + Lockin – only lock in entered amount with no further trail
5 = Step trail – move the stop in steps like every 10 pips
6 = MA trail – stoploss is set at or beyond an MA setting
7 = pSAR trail – stoploss is set by value of parabolic stop and reverse
8 = HiLo trail – stoploss at hi or low x bars back.
9 = Swing Points – stoploss is moved to most recent swing point

If no trailing stop is used additional code can be added to allow manual movement of stoploss and takeprofit with the mouse.