1. Trading Systems Coding: Introduction
  2. Trading Systems Coding: System Design
  3. Trading Systems Coding: The Coding Stage
  4. Trading Systems Coding: The Coding Process
  5. Trading Systems Coding: Testing, Troubleshooting and Optimizing
  6. Trading Systems Coding: Using Your System
  7. Trading Systems Coding: Conclusion


By Justin Kuepper
Contact Justin

The first step when coding any application is the design phase. Whether coding a software application or a trading system, careful design and planning will help you finish in a shorter amount of time with fewer errors. We will be using a simple three-step process to design our trading system.


Step 1: Create Your Trading System Rules
The first step when designing a trading system is simply coming up with the rules by which your system will operate. There should be four core rules to every trading system:

  1. Buy - Identify when you want to buy a position.
  2. Sell - Identify when you want to sell a position.
  3. Stop - Identify when you want to cut your losses.
  4. Target - Identify when you want to book a gain.
So, for example:
  1. Buy - When the 30-day moving average (MA) crosses above the 60-day MA
  2. Sell - When the 30-day MA crosses below the 60-day MA
  3. Stop - Maximum loss of 10 units
  4. Target - Target of 10 units
This example system will buy and sell based on the 30- and 60-day moving averages and will automatically book gains after a 10-unit profit or sell at a loss after a 10-unit move in the opposite direction.

Step 2: Identify the Components of Each Rule
Now that we have our rules down, we need to identify the components involved in each rule. Each component should contain two elements:
  1. The indicator or study used
  2. The settings for the indicator or study
These components should be constructed by typing the shorthand name for the study, followed by the settings in parentheses. These settings in parentheses are referred to as "parameters" of the indicator or study. Occasionally, a study may have multiple parameters, in which case you simply separate them with commas.

Let's take a look at a few examples:
  1. MA(25) - 25-day moving average
  2. RSI(25) - 25-day relative strength index
  3. MACD(Close(0),5,5) - Moving average convergence divergence set based on today's close, with a five-day fast length and a five-day slow length
If you are unsure of how many parameters a certain component requires, you can simply consult your trading program's documentation, which lists these components along with the values that need to be filled in. For example, we can see that Tradecision tells us that we need three parameters with MACD:



So, for the example mentioned in step one, we would use:
  1. MA(30) - Meaning 30-day moving average
  2. MA(60) - Meaning 60-day moving average
Step 3: Adding Action
Now we will add actions to our rules. Each action adheres to the following basic format:

IF Condition [WHILE Condition] THEN Action




Typically, the condition will consist of the components and parameters you created above, while the action will consist of buy or sell. Conditions may also consist of simple English if no component is present. Note that the "while" component is optional.


Here are a few examples to help illustrate this point:
  • IF MA(30) Crosses Above MA(60) THEN Buy
  • IF MA(30) Crosses Below MA(60) WHILE Volume(20,000) THEN Sell
  • IF EMA(25) Is Greater Than MA(5) THEN Sell
  • IF RSI(20) Is Equal To 50 THEN Buy
So, for the example we've been using, we'd simply list:
  • IF MA(30) Crosses Above MA(60) THEN Buy
  • IF MA(30) Crosses Below MA(60) THEN Sell
  • IF our trade has 10 units of profit THEN Sell
  • IF our trade has 10 units of loss THEN Sell
What's Next?
Next, we'll take a look at converting these rules into a code that your computer can understand!

Trading Systems Coding: The Coding Stage
Related Articles
  1. Trading

    Trading Systems Coding

    Automate your trades by translating your strategy into a language your computer can implement in this hands-free approach to investing.
  2. Trading

    Use Moving Averages to Buy Stocks

    A moving average constantly updates a stock's average price, but it cannot predict a stock's performance.
Frequently Asked Questions
  1. What is a reasonable amount of debt?

    It really depends on numerous factors - what stage of life you are at, your spending and saving habits, the stability of ...
  2. How are IRA withdrawals taxed?

    Learn how IRA withdrawals are taxed at retirement age and for qualified withdrawals. Consider the different tax consequences ...
  3. How does CareCredit for pets work?

    Understand how using a CareCredit credit card aids pet parents in the payment of potentially high veterinary care costs.
  4. Do 401k contributions reduce AGI and/or MAGI?

    Discover how contributing to a 401(k) plan can reduce your AGI and/or MAGI. Also learn by how much and how this differs from ...
Trading Center