NoProgramming Manual
NoProgramming Manual
NoPrograEABuilderisapowerfulgraphictooltocreate ExpertAdvisorsandCustomIndicators
Contents
NOPROGRA EA BUILDER......................................................................................................................... 3
WHAT IS THE MEANING OF NOPROGRA? .................................................................................................. 3 NOPROGRA EA BUILDER - FEATURES ....................................................................................................... 4 COMPUTER REQUIREMENTS ..................................................................................................................... 5 INSTALLATION...........................................................................................................................................5 LICENSING.................................................................................................................................................9 SET METATRADER DIRECTORY ............................................................................................................... 10 NOPROGRAS ENVIRONMENT................................................................................................................. 11 EXPERT ADVISOR LOGIC (EA LOGIC)...................................................................................................... 12 IMPORTING CUSTOM INDICATORS INTO YOUR EA .................................................................................. 17 CREATING EXPERT ADVISOR VARIABLES............................................................................................... 18 PREDEFINED EA VARIABLES................................................................................................................... 20 EXPERT ADVISOR EXAMPLES................................................................................................................. 21 INDICATOR BUILDER............................................................................................................................... 24
NoPrograEABuilder|NoProgra.com
NOPROGRA EA BUILDER
NoProgra EA Builder is a powerful graphic tool to create Expert Advisors and Custom Indicators. Watch our video tutorial to start at http://noprogra.com/tutorials The core of NoProgra EA Builder is the conversion of natural language to MQL4 code. This means you create the ea visually using natural language while our natural language to MQL4 algorithm will create the expert advisors for you. NoProgra EA Builder is the only Expert Advisor Builder based on natural language. No coding, programming or MQL knowledge is required.
NoPrograEABuilder|NoProgra.com
NoPrograEABuilder|NoProgra.com
COMPUTER REQUIREMENTS
NoProgra requires: A Windows computer Java from java.com MetaTrader
INSTALLATION
-First install java from http://java.com -Then download NoProgra from NoProgra.com
NoPrograEABuilder|NoProgra.com
If you have a new windows version such as Vista or Windows 7 it is not recommended to install NoProgra or MetaTrader under c:\Program Files. -Click finish
The software should be installed in your pc. You can access it from icons in your desktop or from the windows Task Bar. To start NoProgra EA Builder, click on the NoProgra icon
Installation issues: If you click the NoProgra icon and the software does not run or another software is opened (i.e. Nokia or software to compress files), your Java may be missing or it has the wrong file association. Reinstall Java from java.com and start NoProgra clicking on NoP.bat located under the NoProgra directory. Windows 7 and Vista users: If you have Vista or Windows 7 it is not recommended to install NoProgra or MetaTrader under c:\Program Files. If you do install under c:\Program Files (not NoPrograEABuilder|NoProgra.com
recommended) and NoProgra cannot generate expert advisors, please follow this procedure: If you are running windows Vista or Windows 7, your NoProgra software may not be running properly. Most likely you cannot generate expert advisors. The reason for these issues is that starting with Windows Vista Microsoft changed the default security settings for the Program Files folder, making it so NoProgra may not be able to save the generated ea or indicator in the Program Files folder. This new feature on Windows is called User Account Control or UAC. There are several ways to fix this problem: Option 1: The best way to resolve the UAC issue is to install MetaTrader in a different folder from its default location. When installing MetaTrader 4 just after the license agreement, you can change the installation folder for example from: C:\Program Files\MetaTrader to C:\MetaTrader Option 2: Change the folder permission of the folder where MetaTrader is already installed: 1. Locate in the windows explorer the folder where you have installed MetaTrader 4, right-click the folder and then click Properties. 2. This will open the property screen for this folder and on the Security tab click on Edit. 3. A new screen will open, select Users, check Full control (Allow) and then Apply. 4. Select Trusted Installer, check Full control (Allow) and then Apply. 5. Select Administrators, check Full control (Allow) and then Apply. 6. Click all OK and you are done.
NoPrograEABuilder|NoProgra.com
LICENSING
NoProgra EA Builder is provided under a license agreement. After purchase, you will be asked to provide your computers MAC address. This is required to make sure your license will work only in your computer. To see your MAC address click on the ShowMAC icon:
After your MAC address is received, you will be provided with a license file (license.nop). To install the license, save the license file in C:\NoProgra\Indicator_Builder\License. Replace the existing trial or demo license file.
NoPrograEABuilder|NoProgra.com
with
NoProgra
will
be
saved
under
NoProgra
will
be
saved
under
To set your MetaTrader directory, go to the Generate EA Code menu and click on Set MT directory
NoPrograEABuilder|NoProgra.com
10
NOPROGRAS ENVIRONMENT
NoProgras Environment has several parts as indicated on the next chart:
NoPrograEABuilder|NoProgra.com
11
A. A toolbar with the most common functions these are the buttons you click to build your EA B. A left panel that shows the entry and exit conditions this is the place where you will see the EA logic (When to Buy and Sell) C. A Trading Conditions Editor where you create the trading conditions clicking and selecting options D. An Options Panel where the options for the defined conditions can be modified E. A Parameters Panel where the parameters of your trading conditions can be changed
-New: Creates a new EA logic or Forex strategy -Open: Opens an existing EA logic or Forex strategy -Save: Saves the current EA logic or Forex strategy -Save As: Saves the current EA logic with a new name -Generate EA: Generates the EA code for MT4. Two files are generated: a .mq4 (EA code) and a .ex4 (compiled EA code). -Add Entry/Exit Point: Adds an entry or exit point (a buy or sell order) -Add Trading Condition: Adds a trading condition or rule based on technical analysis that triggers the trades -Add Brackets: Used to group complex conditions i.e (Trading condition 1 AND Trading condition 2) -OR, AND: Used to create complex trading conditions. If you want to trigger a trade when two conditions are true use AND i.e. (Trading condition 1 AND Trading condition 2); if you want to trigger the trade when at least one of the conditions is true use (Trading condition 1 OR Trading condition 2) -Delete: Deletes the selected item -Trade Setup: To set the trade parameters (lot size, take profit, stop loss, and trailing stop) -Add Variables Panel: To show the variable panel. This is required if you want to add variables to your EA -Add Variable: To define a variable for your EA i.e. an MA period with a value that is controlled by the user.
12
All of the above is know as the EA logic or Forex strategy. Basically to create an EA logic you define three things: 1. Your entry/exit point Here you define if you Buy/Sell or close a position 2. Trade set up Your order parameters (lot size, take profit, stop loss, and trailing stop) 3. A trading condition that trigger your entry/exit point You use technical analysis to define when to enter/exit the market
1. Your entry/exit point Click on Add Entry/Exit Point, select if you want to open or close a position
2. Trade set up Click on the entry point and a window will open for you to set your order parameters (lot size, take profit, stop loss, and trailing stop)
NoPrograEABuilder|NoProgra.com
13
3. A trading condition that trigger your entry/exit point After you add an entry point, a trading condition will be created by default: (Ask Price of pair (Current
To edit the trading condition go to the Trading Conditions Editor and click on the items under Trading Condition in Natural language:
Note that as soon you click on an item the options panel will show all the available options. Also the parameters panel will show the current option parameters if any: NoPrograEABuilder|NoProgra.com
14
A basic trading condition is made of the left option that is compared to the right option. Options are based on technical analysis or price and volume data. In the image below, there is an entry point to buy (go long) that is triggered by a moving average condition.
NoPrograEABuilder|NoProgra.com
15
Trading conditions can be more complex when mixing technical indicators and/or simple equations. There are features like absolute vale, plus, minus, times and divide which really empower users to go beyond simple trading conditions. For example the equation in the chart below uses the absolute difference between the open price in the current bar and the close price of the previous bar. Then the difference is compared to 90% of the body of the previous bar. This is just to show the power of the complex conditions. To build a trading condition like the one in the chart you need to start with the absolute, then add the operations, and at the end add the indicators or prices.
When creating trading conditions, Technical Indicators can be compared using simple logic like higher than, lower than, equal to, or trading logic that indicates if an indicator is increasing or if a cross over takes place.
NoPrograEABuilder|NoProgra.com
16
After you define all the EA logic or Forex strategy, go to the Generate EA code and click on Generate EA. This will create the expert advisor for you.
Click on the "Click Here to Import an Indicator" label. A new window will open for you to select the custom indicator (.mq4 file)
NoPrograEABuilder|NoProgra.com
17
Select the custom indicator and click on Select. Then NoProgra will read the custom indicator to understand it and will show a window with results like number of signals, signal number, and indicator parameters.
Finally the Parameters field will be populated automatically. At this point you need to select the signal number to make sure you are using the right signal.
18
Lets say you create an EA using a trading condition of two moving averages with a period of 7 and 14. During backtesting you get an OK profit. What is the result using periods 9 and 18, or 10 and 18? Or what are the best values for the periods? You can get those answers if you use MT4 variables. If you use variables for the periods (FastPeriod=7 and SlowPeriod=14), you can tell MetaTrader in optimization to find the values for FastPeriod and SlowPeriod that give you the best profit. To manage variables in your expert advisor, click on the Add Variables Panel button.
You will see a label "MT4 Variables:" in the left panel. Then click on the Add Variable button, type a variable name. You will see the variable in the Variables Panel. Initially the variable will have a zero (0) value. You can change it to any number (integer or decimal). The variable will be available in fields like period or bar ago. To use the variable, just select it from the dropdown menu:
NoPrograEABuilder|NoProgra.com
19
Later in this manual you will see how an ma strategy is created. For now, take a look at the difference of the ea logic with and without variables: -The moving average example without variables:
PREDEFINED EA VARIABLES
All Expert Advisors created with NoProgra EA Builder have the following variables in MetaTrader for you to manage your EA: -TradeBars: You can trade bars or ticks. If TradeBars=true, the ea trades bars. -UseFiveDigits: You can use 5 or 4 digit brokers. If UseFiveDigits = true, your broker uses 5 digits. -isECN: If true, you are using an ECN broker thus orders are opened and later Take Profit and Stop Loss are added. NoPrograEABuilder|NoProgra.com
20
-Positions: Controls the maximum number of open positions. For example, set it to 1 and your ea will only open 1 position at a time. -AllowHedge: You can set your ea to hedge. If AllowHedge=true your ea will hedge. By default generated EAs do not hedge (AllowHedge is set to false). If you do not hedge the EA closes all BUYs (long positions) before executing a SELL (short position); it also closes all SELLs (short positions) before executing a BUY (long position). -Slippage: Minimum slippage for trade execution. -MagicNumber: EA's magic number. It's the EA's ID.
Moving Average with ADX Expert Advisor (MovingAverageADX.trs) This expert advisor takes the previous EA and adds an ADX filter. ADX is used to detect trends. When ADX is high, the market is likely to be trending ADX does not tells you the direction of the market you get it using the moving average indicator. NoPrograEABuilder|NoProgra.com
21
The logic in Natural Language is similar to the MA ea: -Go long (Buy) if the moving average with a period of 7 is higher than the moving average with a period of 21 AND ADX with a period of 14 is higher than 30. -Go Short (Sell) if the moving average with a period of 7 is lower than the moving average with a period of 21 AND ADX with a period of 14 is higher than 30. The MA-ADX expert advisor will open positions when both trading conditions are true at the same time. Thus the MA condition AND the ADX condition need to be true to trigger a new order.
Moving Average with ADX modified Expert Advisor (MovingAverageADX2.trs) The previous MA-ADX ea has an interesting behavior that is not always desired. Lets say that the moving average with a period of 7 was higher than the moving average with a period of 21 AND at the same time ADX with a period of 14 was higher than 30; and as a result a new long position (BUY) was opened. Some time later the market changed direction and moved against the opened position. At one point the moving average with a period of 7 is lower than the moving average with a period of 21 but ADX with a period of 14 is lower than 30... and nothing happens. Why? Both conditions need to be true for the EA to close the long (BUY) position and open a new short (SELL) position. Since ADX is lower than 30 nothing happens. To avoid this behavior we can add some trading conditions to close opened positions when the market changes directions (regardless of ADX values). The expert advisor described in Natural Language has two new components Exit long position and Exit short position: -Go long (Buy) if the moving average with a period of 7 is higher than the moving average with a period of 21 AND ADX with a period of 14 is higher than 30. -Go Short (Sell) if the moving average with a period of 7 is lower than the moving average with a period of 21 AND ADX with a period of 14 is higher than 30. NoPrograEABuilder|NoProgra.com
22
-Exit long position (Close previous BUYs) if the moving average with a period of 7 is lower than the moving average with a period of 21 -Exit short position (Close previous SELLs) if the moving average with a period of 7 is higher than the moving average with a period of 21 Note how in the MA, and MA-ADX examples we did not use Exit long position and Exit short position. Why? We do not need them. If you are not hedging, the EA closes all long positions before opening a new short position; in a similar way the EA closes all short positions before opening a new long position.
NoPrograEABuilder|NoProgra.com
23
INDICATOR BUILDER
NoProgra Custom Indicator Builder is a standalone module of NoProgra EA Builder. It uses a similar graphical interface that allows users to create custom indicators for MT4 using natural language (the way we speak). The natural language is translated to MQL4 by NoProgra so you dont need to code or program in MQL. With NoProgra Custom Indicator Builder you can create your own indicators for MT4 and use them in NoProgra EA Builder.
NoProgra Custom Indicator Builder or NoProgra CIB has an easy to use environment made of: A. A toolbar with the most common functions these are the buttons you click to build your custom indicator B. A left panel that shows the indicators formula and style this is the place where you will see the Indicator logic C. An Indicator Formula Editor where you create the indicator underlying logic D. An Options Panel where the options for the defined indicator can be modified E. A Parameters Panel where the parameters of your indicator can be changed NoPrograEABuilder|NoProgra.com
24
-New: Creates a new Indicator logic -Open: Opens an existing Indicator logic -Save: Saves the current Indicator logic -Save As: Saves the current Indicator logic with a new name -Generate Indicator: Generates the Indicator code for MT4. Two files are generated: a .mq4 (Indicator code) and a .ex4 (compiled Indicator code). -Add Indicator Signal: Adds a signal (line or arrow) -Add Indicator Formula: Adds the signals formula or underlying math for the indicator (indicators are based on formulas) -Delete: Deletes the selected item -Signal Setup: To set the signals parameters (style i.e line or arrow, color) A custom indicator for MetaTrader is an indicator that does not come with MetaTrader. It is an indicator created by a MetaTrader user. To create your own custom indicator, just follow a simple process: 0. Run the Custom Indicator Module (NoPrograCIB)
1. Add an Indicator Signal: A signal is a line, icon, or histogram that represents an Indicator Formula 2. Add a formula to the Indicator Signal: Indicators are based on formulas that use prices and/or volume. For example the formula for a moving average may look like: MA = (Close Price in bar 1 + Close Price in bar 2 + + Close Price in bar n)/n You need to define the formula for your custom indicator.
NoPrograEABuilder|NoProgra.com
25
Pay attention to the signal number. A MetaTrader indicator can have up to 8 signals, with signals numbers from 0 to 7. You need to know the signal number to be able to use the indicator in an Expert Advisor.
NoPrograEABuilder|NoProgra.com
26
4. Find the custom indicator in MetaTrader. Look for it under custom indicators.
Here a list of things to take into account when creating custom indicators for MT4: -Custom Indicators are available in the directory MetaTrader Directory/experts/indicators -A custom indicator cannot trade -A custom indicator uses historical information of prices and volume -Historical information only uses 4 prices per bar: open, close, high and low. It does not use all the prices between open and close, -To reference bars MetaTrader user an index: 0 is the current bar 1 is the previous bar 2 is the bar before the previous bar 3 is etc -The index is used in the formula its always between [ and ] [i+0] means use current bar info [i+1] means use previous bar [i+2] means use the bar before the previous bar [i+3] -Custom indicators for MetaTrader can have up to 8 signals -Each signal has a number to identify it -In MetaTrader signals can be plotted on the chart or below the chart -In a custom indicator, all signals have to be plotted in the same way. You cannot have one indicator that plots a signal on the chart and another signal below the chart. If you need to display the signals in different ways, you need to create two indicators. NoPrograEABuilder|NoProgra.com
27
-If your custom indicator formula uses / (Divide by as in a/b), you can have division by zero issues. To avoid them make sure to use this pattern a/(b+0.0000000000001) Add a really small number to avoid division by zero, make sure it does not affect your formula. Using Custom Indicators created with NoProgra CIB in NoProgra EA Builder -When you generate the custom indicator code, you will see a message with the signals and the way to identify them. -The custom indicator will be saved under MetaTrader Directory/experts/indicators -Go to the EA Builder, select the custom indicator option -Import the custom indicator Custom Indicators Examples NoProgra CIB comes with several examples to get you started. Examples are located under the Indicator_Builder folder. -Simple high, low indicator: (high-low.nci file) It shows the high and low prices of different bars
-Average Price indicator: (average-price.nci file) Uses the formula (Open+Close)/2 -Candle Body - Open, Close difference: (body.nci) It plots the candle body as a histogram -Simple Moving Average: (simple-ma.nci file) Uses the close price and a period of 4 -Momentum Indicator: (100*Close[i])/Close[i+5] (momentum-indicator.nci file) Use close prices. NoPrograEABuilder|NoProgra.com
28
NoPrograEABuilder|NoProgra.com
29
30
-After you are comfortable with the results you are ready to trade real money. How to compile an expert advisor? In MetaEditor, open the ea code (mq4 file); then click the Compile button and the ex4 file is created. If you use NoProgra, it will create the mq4 and ex4 for you so you dont need to worry about coding or compiling your eas or indicators. Do you support mt4 and mt5? Currently we only support MetaTrader 4 Can I try the software before buying it? Yes, we encourage people to use our software. We give a free trial and a the 7 day money back guarantee. What is the return policy? We have a 7 day money back guarantee. Where can I download NoProgra EA Builder? http://noprogra.com/download-ea-builder Registration is required What is the best way to contact you? Email [email protected] I used MT4 before and know the shift parameter, where is it in NoProgra? The shift parameter is too confusing so we called bars ago. 0 bars ago means you use the current bar. 1 bars ago means you use the previous bar. How to fix error 130? Error 130 is related to invalid stops. Probably your stops are too small or you use an ECN. Increase your stops or set the EA in ECN mode (see in EA inputs in MT4).
NoPrograEABuilder|NoProgra.com
31