Expert Advisor Builder allows you to create Expert Advisor for MetaTrader 4 easily. *Please enable JavaScript.

  1. Add Strategy and input parameters.
  2. Input Order options.
  3. Click "Complete!" button.

If you'd like to save/load your settings, click "Save"/"Load" button.

  • What's New(18 Feb. 2012)
    • 18 Feb. 2012 Removed the first non-needed logical operator field("AND/OR") from each logic form.
    • 5 May. 2009 Changed the name of tabs, and added the Guide and the Tutorial for Expert Advisor Builder.
    • 21 Oct. 2007 Changed template tags and user interface design.
    • 24 Apr. 2007 Added the 'Template', to use your own MQL codes.
    • 3 May. 2006 Added the function of sending mail. Switched 'SignalMail' variable of the property.
    • 11 Apl. 2006 Supported trading multi currencies at the same time.(Attached EAs to charts of currencies you'd like to have it trade.)
    • 28 Jan. 2006 Added 'Save/Load' saves/loads your settings to/from the file.
    • 11 Jan. 2006 Added 'Variables' can make you easily input the same indicators/parameters, mathematical operations and more advanced operations.
    • 7 Jan. 2006 Supported the immediate reversal entry.
    • 5 Jan. 2006 [BugFix] Entry signals and Exit signals had been executed at the same time.
    • 31 Dec. 2005 [BugFix] The StopLoss, TakeProfit options hadn't worked.Please modify the following part in the file had already been downloaded.
      StopLossLevel = Ask - StopLoss * Point; -> if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
      TakeProfitLevel = Ask + TakeProfit * Point; -> if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
      StopLossLevel = Bid + StopLoss * Point; -> if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
      TakeProfitLevel = Bid - TakeProfit * Point; -> if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
    • 28 Dec. 2005 Added 'Symbol', 'Timeframe' parameters to the parameters form.
    • 27 Dec. 2005 Added an extern setting of "Magic number" to the exporting file and insert it in comment fields in the Account History Log.
    • 27 Dec. 2005 Added the link to indicator's images and the Website distribute custom indicators on the parameters form.
    • 25 Dec. 2005 Added 'Custom Indicator' and some custom indicators on the indicators form.
    • 25 Dec. 2005 [BugFix] The export file could not be compiled.(Please make line feed code CR + LF, and save the file has already been downloaded.)
    • 23 Dec. 2005 Changed from 'Close logics' to 'Close(Buy) logics/Close(Sell) logics'.
    • 22 Dec. 2005 Added 'Collapse/Expand' on the parameters form.
    • 17 Dec. 2005 Released.

In no event will author be liable for any damages whatsoever, including direct, indirect, special, consequential, incidental, exemplary, punitive or other damages such as lost profits or revenue, business interruption, data loss, costs of Replacement goods or damages to your computer equipment arising out of or in connection with the use of, or inability to use, this site or any other hyper linked Web site or the information contained or services offered at any of these sites, even if author is expressly advised of the possibility of such damages.Please use at your own risk.



This 'Template' is used to export MQL file. Expert Advisor Builder replaces Template Tags({foo}) with MQL codes.

Templage Tags
{EachTickMode}: SignalMode('True' or 'False')
{Lots}: Lots(ex. '1.0')
{Slippage}: Pip(s) of Slippage(ex. '3')
{UseStopLoss}: Enable/Disable StopLoss('True' or 'False')
{StopLoss}: Pip(s) of StopLoss(ex. '30')
{UseTakeProfit}: Enable/Disable TakeProfit('True' or 'False')
{TakeProfit}: Pip(s) of TakeProfit(ex. '60')
{UseTrailingStop}: Enable/Disable TrailingStop('True' or 'False')
{TrailingStop}: Pip(s) of TrailingStop(ex. '30')
{Var}: Definion of 'Variables'
{VarBuy}: Definition of Variables for 'Buy logics'
{VarSell}: Definition of Variables for 'Sell logics'
{VarCloseBuy}: Definition of Variables for 'Close(Buy) logics'
{VarCloseSell}: Definition of Variables for 'Close(Sell) logics'
{SignalBuy}: Conditional operator for 'Buy logics'
{SignalSell}: Conditional operator for 'Sell logics'
{SignalCloseBuy}: Conditional operator for 'Close(Buy) logics'
{SignalCloseSell}: Conditional operator for 'Close(Sell) logics'


Buy strategy

Sell strategy

Close(Buy) strategy

Close(Sell) strategy

Order options

  • lots
  • pips
  • pips
  • pips
  • pips