Tyrion trading system VB.NET port. An algorithmic trading system developed using TradingMotion SDK platform
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
TyrionStrategy
markdown_files
LICENSE
README.md
TyrionStrategy.sln

README.md

Tyrion Trading Strategy

Table of Contents

Overview

Tyrion is a trading algorithm written in VB.Net using the TradingMotion SDK development tools (there is a C# port too).

OHLC example chart Image footnote: Example of Tyrion OHLC financial chart showing some automatic trades

The strategy code is all contained in TyrionStrategy.vb, including a default parameter combination.

This default parameter combination has been optimized to run over 60' bars of DAX Future Index.

Trading a maximum of 1 contract of DAX Future, this is how performed (hypothetically) from 2001 to 20014:

Net P&L chart Image footnote: Hypothetic Net P&L chart for Tyrion strategy

Anyway, go open Visual Studio, clone the project and start with the trading algo development! Sure you can do better and improve all these figures :)

Tyrion Trading Rules

Tyrion's trading plan is quite simple. It buys 1 contract when the price breaks above a specified Stochastic %D's level.

While the strategy has a long position in the market, it places one exit order. A Take Profit (close the position with a profit) based on the standard deviation.

Besides, this is a pure intraday strategy. That means it won't leave any open position at the end of the session, so in case we still got a position it will be closed automatically.

To sum up

TyrionStrategy rules:

  * Entry: Price breaks Stochastic %D level (long-only)
  * Exit: Sets a Take Profit (objective) order based on price standard deviation
  * Filters (sets the entry only under certain conditions): None

Show me the code

Here is a simplified C# source code of Tyrion's OnNewBar() function. The complete code is all contained in TyrionStrategy.vb along with comments and definition of parameters.

If Me.GetOpenPosition() = 0 Then

    Dim buySignal As Integer = Me.GetInputParameter("Stochastic %D Buy signal trigger level")

    If stochasticIndicator.GetD()(1) <= buySignal And stochasticIndicator.GetD()(0) > buySignal Then

        Dim buyOrder As Order = New MarketOrder(OrderSide.Buy, 1, "Entry long")
        limitTakeProfitOrder = New LimitOrder(OrderSide.Sell, 1, Bars.Close(0) + stdDevIndicator.GetStdDev()(0), "Exit long (take profit stop)")

        Me.InsertOrder(buyOrder)
        Me.InsertOrder(limitTakeProfitOrder)

    End If

End If

Download

First of all, make sure you have Visual Studio 2010 version (or higher). TradingMotion SDK is fully compatible with Visual Studio Express free versions.

Download the windows desktop application TradingMotionSDK Toolkit installer.

Quick Start

  • Create a free account to access TradingMotionAPI (required). It can be created from TradingMotionSDK Toolkit (the desktop application)
  • Clone the repository:
git clone https://github.com/victormartingarcia/tyrion-trading-strategy-csharp
  • Open Visual Studio and load solution TyrionStrategy/TyrionStrategy.sln
  • Edit app.config file adding your TradingMotionAPI credentials on appSettings section

And you're all set!

Running the project (F5) will perform a development backtest simulation over last 6 months DAX 60' bars data.

Once it has finished, it will ask if you want to see the P&L report in TradingMotionSDK Toolkit. Pressing 'y' will load the same backtest with the desktop app, where it will show performance statistics, charts, and so on.

User Manual

More documentation in the Getting Started Guide

About iSystems

iSystems by TradingMotion is a marketplace for automated trading systems.

iSystems has partnered with 11 international brokers (and counting) that offer these trading systems to their clients (both corporate and retail) who pay for a license fee that the developer charges.

The trading systems run with live market data under a controlled environment in iSystems' datacenters.

This way the developers just need to worry about how to make their trading systems better and iSystems platform does the rest.

Visit Developers section on TradingMotion's website for more info on how to develop and offer your systems.

Disclaimer

I am R&D engineer at TradingMotion LLC, and head of TradingMotion SDK platform. Beware, the info here can be a little biased ;)