Quick Links


Learn More about our Forex Managed Accounts.
Forex Training Broadcasts
Forex Training Broadcasts
Demo the Forexecutor Trading Software Free!
Get a Forex Education with Currency College

Risk Disclaimer

Trading foreign exchange on margin carries a high level of risk, and may not be suitable for all investors. The high degree of leverage can work against you as well as for you. Before deciding to invest in foreign exchange you should carefully consider your investment objectives, level of experience, and risk appetite. The possibility exists that you could sustain a loss of some or all of your initial investment and therefore you should not invest money that you cannot afford to lose. You should be aware of all the risks associated with foreign exchange trading, and seek advice from an independent financial advisor if you have any doubts.

Basic Concepts       Examples Link

1. What is IntelliScript?
 
The IntelliScript is designed to build alerts, strategies, and indicators based on both historical and real-time data. You can write your own expressions using IF … THEN conditional branch, WHILE loops, variable declarations, buy/sell signals, as well as many other means. You will be able to quickly reference all of the available indicators and even build your own indicators.

 

2. How does the IntelliScript run?
 
A. Real-time Data Calculation:  Each time when a new ticker price changes on the chart, this will trigger all the IntelliScripts attached to the chart to execute for the last price bar on the chart.  If the condition you defined in the script is satisfied, you will get a corresponding signal on the chart for the last price bar, which is also defined by you in the script.
 
B. Historical Data Calculation:  First we must suppose you select the option Generate Historical Alert checkbox within the IntelliScript editor or activate this option by right clicking in a chart and select Generate Historical Alerts once a script is attached to a chart. Once selected, this script will run from the first bar to the last bar, one bar at a time.  If the condition you defined in the script is satisfied, you will get a corresponding signal on the chart, which is also defined by you in the script.

Please keep in mind when using the IntelliScript to draft your own signals, there will be a difference between real-time generated signals versus historical generated signals. Real-time generated signals are generated using tick by tick data (unless you have checked the option "Calculate on Close Only" in the IntelliScript editor). So a signal can be generated in the middle of a real-time bar. However, for historical signals, we do not have tick by tick data for each of the historical bars so historical signals are only calculated using the close price of each bar. Depending on your syntax, this difference is likely to cause differences in the performance comparison.

 

3. What is a Data Series?
 
A Data Series is defined by the combination of a symbol and its Time Scale and Period.For example, when you open a chart for EUR/USD 10-minute 2-day and when you export the data, you will get a data stream similar to:

"Date","Time","O","H","L","C"
10/29/2003,1030,1.1685,1.1702,1.1685,1.17
10/29/2003,1040,1.17,1.1702,1.1694,1.17
10/29/2003,1050,1.17,1.1707,1.1693,1.1695
......
......
......
10/31/2003,1010,1.1613,1.1634,1.1613,1.1628
10/31/2003,1020,1.1628,1.1651,1.1628,1.164
10/31/2003,1022,1.164,1.1642,1.1636,1.1636
 
We call this stream of data one unique Data Series.  Both Customized Indicator and Customized Alert calculations are essentially based on this span of data.  Note a Data Series for EUR/USD 10-minute 2-day is different from a Data Series for EUR/USD 15-minute 2-day.  A Data Series for EUR/USD 10-minute 2-day is more obviously different from a Data Series for USD/CHF 10-minute 2-day.
 
Generally you attach an IntelliScript to a chart, but internally, the IntelliScript is attached to the Data Series underlying the chart.  In other words, when you attach an IntelliScript to a EUR/USD 10-minute 2-day chart, in reality, this IntelliScript is attached to the Data Series EUR/USD 10-minute 2-day.  This also means if you open two charts and both of them are showing EUR/USD 10-minute 2-day, if you attach an IntelliScript to one of the charts, you will see that this IntelliScript is actually attached to both of these charts. Also understand that since the script is attaching to the Data Series, if you attach the Data Series EUR/USD 10-minute 2-day and have no such chart opened, if the script’s conditions are met, you will still receive an alert notification. 

 

4. How many IntelliScripts can be attached to each Data Series and vice versa?
 
You can write an unlimited number of IntelliScripts, all of which can be saved within the IntelliScripts organizer. Each IntelliScript can be attached to an unlimited number of Data Series. Each Data Series can also have an unlimited amount of IntelliScripts attached.

 

5. What are Position Controls?
 
By default, you can only have one opened position at a time.  For example, if your IntelliScriptgenerates a buy entry position 10 minutes ago, then even if another buy entry position is satisfied now on the chart, you will not see this second buy entry position.  At this point, only a sell entry or a buy exit position can be generated. However, keep in mind you can adjust the script and add a special parameter to enable a continuous buy entry position.
 

6. What is the scope of a variable?
 
The scope of a variable is defined by using one of the three declaration keywords: Share, Global, or Local.  Here are the differences between them:

A. Share: when a variable is declared as a share variable, every single IntelliScript can access this variable.  For example, suppose you make the following declaration:
 
Share myVarShare
 
Even if you attach this script to "EUR/USD 1-minute 2-hour", you can still reference myVarShare’s value in a different script attached to "USD/CHF 5-minute 12-hour".
 
B. Global: when a variable is declared as a global variable, only the Data Series in which the script is attached can access this variable.  Suppose you make the following declaration:
 
Global myVarGlobal
 
If you make this declaration in a script and attach this script to "EUR/USD 1-minute 2-hour", then you can only reference the value of myVarGlobal in all the scripts attached to the same Data Series "EUR/USD 1-minute 2-hour".  You cannot reference the value of myVarGlobal in a script attached to a different Data Series, such as in a script attached to USD/CHF 1-minute 2-hour.
 
C. Local: as the name indicates, local variables can only be accessed within the particular script in which the variable is declared.

For example, suppose you make the following declaration:

Local myVarLocal

If you attach this script that has this declaration to EUR/USD 1-minute 2-hour, then you can only reference this variable in this script only.  You cannot reference the value of myVarLocal in a different script, even if this second script is attached to the same Data Series EUR/USD 1-minute 2-hour.