Compiling Your Code
The final step in the actual development of your trading system is compilation - that is, converting your code into a file that the trading software can execute, or run, at any given time without re-reading the code.

The way in which code is compiled differs between trading programs. However, the majority of them simply let you click a compile button and do one of two things: either 1) the program will compile the code and create a new file, or 2) the compiler will list the errors that you have made in your code (as we saw in the previous section). Because MetaTrader has a standard setup, we will use its trading application as an example for the purposes of this tutorial.

MetaTrader's "Compile" button can be found on the top tool bar:




Assuming the compilation goes well, you will now have an executable file that your trading program can quickly read and apply to your charts.

Applying the System to Your Charts
Most trading applications will let you easily apply your trading system within the trading application by either letting you drag the file onto the chart, or inserting it via a menu. MetaTrader allows you to drag the executable file from the "Navigator" window onto the chart to which you wish to apply your trading system.

After this, a dialog box comes up with several options:


Figure 2

Common
The first set of options is standard with many trading applications. The first option simply lets you define what types of positions you are willing to take (long, short, or both). The second option lets you enable "alerts", which are pop-up windows that notify you when your criteria for a trade have been met.

Live Trading
There are two ways in which you can apply your trading system:

1. Semi-Automated Systems - Semi-automated systems are those that alert you to new trades that meet your criteria. Although the alerts themselves are automated, the trades are not placed automatically - hence the "semi" prefix. Although this type of system carries significantly less risk, it also requires you to be near a computer at all times. However, recent innovations have helped solve some of these inconveniences by allowing signals to be sent via email, phone (short message service) or other hi-tech media.

2. Automated Systems - Automated systems are those that place trades with your broker automatically - that is, they require no intervention on your part. This type of trading system involves significantly more risk, especially if there are logical errors that you did not catch when testing. Therefore, it is imperative that you either paper trade or semi-automate your trading system to be sure that it performs as expected in a live environment. ( Note that these trading systems will also require you to complete additional paperwork for your broker stating that they can't be held responsible if your trading system generates large losses.

Safety
The two options here (see Figure 2) let you determine whether or not you are willing to let the program call external dynamic link libraries (DLLs). Remember that DLLs are libraries that let you reuse code from other people's trading systems. If your trading system makes use of these external DLLs, then you will need to enable these options. If not, then you are best off leaving these unchecked.




Inputs
Here is where you can define the inputs for the trading system if you did not specify them directly in your code:


Figure 3

Notice that this area enables you to insert custom inputs without modifying the code at all. This is useful if you plan on changing your inputs, but want to use the same basic strategy. Note that if you optimized your variables, this option would not be available.

Conclusion
Now you should be able to compile and apply your trading system! Again, be sure to paper trade - or at least semi-automate - your trading system before allowing the system to place trades automatically. Failure to do this could lead to large losses should there be a logical error in your code.

0 comments:

Post a Comment