We hereby proudly present version 0.5.2 of OTraSys, the Open Trading System Framework. This is a minor release, however since we forgot the announcing the v0.5.1 relase, the changelog is somewhat longer (and includes some major under-the-hood changes, especially with v0.5.1). Besides the usual minor improvements and the ongoing hunt for memory leaks, read on to find out about the most important features of both releases:

changes from v0.5.1

OTraSys now tracks trends and their duration in the database. While the actual definition of what constitutes a trend is specific for each trading system, the infrastructure that deals with that is universal. The `system` database now holds a new table `market_trend_record` with the following structure and some examplary data:

date

symbol

identifier

trend

duration

daynr

price

quote

2020-10-26

ADIDAS

ADS.DE

uptrend

15

44129

274.00

2020-10-27

ADIDAS

ADS.DE

uptrend

16

44130

272.80

2020-10-28

ADIDAS

ADS.DE

downtrend

1

44132

256.25

2020-10-29

ADIDAS

ADS.DE

downtrend

2

44133

258.79

2020-10-30

ADIDAS

ADS.DE

downtrend

3

44133

255.00

2020-11-02

ADIDAS

ADS.DE

downtrend

4

44136

260.00

2020-11-03

ADIDAS

ADS.DE

sideways

1

44137

267.35

2020-11-04

ADIDAS

ADS.DE

sideways

2

44138

268.64

2020-11-05

ADIDAS

ADS.DE

uptrend

1

44139

274.85

2020-11-06

ADIDAS

ADS.DE

uptrend

2

44140

276.89

2020-11-09

ADIDAS

ADS.DE

uptrend

3

44143

298.79

2020-11-10

ADIDAS

ADS.DE

uptrend

4

44144

281.50

2020-11-11

ADIDAS

ADS.DE

uptrend

5

44145

279.29


This behaviour is configurable by `INDI_TRACK_TREND`, the default is `true`.

New features

  • New config file option:
    - `INDI_TRACK_TREND` switches trend tracking on/off
  • Database changes
    Please note that the changes mentioned below break compatibility with prior program versions!
    - added table `market_trend_record` that tracks trend states for all markets
    - stoploss records now correctly save the identifier instead of a generic `stoploss` entry in the database

OTraSys v0.5.1, released on October, 4th 2020

changes from v0.5.0

Intended as minor update, 0.5.1 brings a couple of big changes. First a major architecural change: separating the databases for quote data and for the system itself. This allows for one central quote repository, and multiple systems using that data (each a subset, or all the data with several parameter set- the possibilities are endless). This removes the need for redundant data if you run multiple systems on your machine. To ensure data integrity, OTraSys has read-only access to the quote repository. This means, v0.5.1 on the quote database has to be updated from outside the main  system. As a starter, a new python script `tools\update_quotes.py` is provided under  `tools`. Another new script, `tools\setup_quote_db` clears an existing quote database and sets it up, according to the configuration given.

The second big change is a new symbolfile format. From now on the symbolfile is in csv format, all columns are separated by a semicolon `;` and each entry can contain spaces (this has not been possible in former versions). Comments can still be used and are marked by a `#` (comments can span a whole line or the end of a line, after `#` a line won't be parsed further). The new symbolfile structure looks like this:

# symbol identifier filename tradbl? ticks/pips contr.sz weight cur type comment
# ===== ====== ========== ==== ====== ====== ==== === ==== =======
ADIDAS; ADS.DE; ADIDAS.CSV; 1; 0.01; 1; 1; EUR; STOCK;
AIRBUS; AIR.DE; AIRBUS.CSV; 1; 0.01; 1; 1; EUR; STOCK;
APPLE; AAPL; APPLE.CSV; 1; 0.01; 1; 1; USD; STOCK; #

 

And there is the third somewhat bigger change, from now on you can not only use a symbol but also an identifier. This allows the central repository to hold different data sets for the same stock (useful for stocks with Type A/B, or stocks in several currencies, or futures with different due dates, or whatever you want).

Minor improvements include more interaction with the database from the command line, with the new cli option `C`/`--set-cash` the amount of the current account´s cash can be adjusted. 

New features

  • new command line options:
    - `-C`, `--set-cash` `AMOUNT` set cash for current account to AMOUNT
  • changed/new config file options:
    - the config file now supports `[sections]`, indicated by brackets
    - due to the separated databases, the database settings have doubled:
    DB_QUOTES_NAME, DB_QUOTES_HOSTNAME, DB_QUOTES_USERNAME, ... and
    DB_SYSTEM_NAME, DB_SYSTEM_HOSTNAME, DB_SYSTEM_USERNAME
  • database changes:
    Please note that the changes mentioned below break compatibility with prior program versions!
    - changed string length for `symbol` in all tables to 40 (was: 10)
    - separated databse into a system database and a quote database

 

Bugfixes

  • SIGNAL_REGIME_FILTER=TNI in special now working again, the calculation was broken since code refactoring during v0.4.0 development (separate problem from above bugfix)
  • minor cleanups fixing memory leaks 

You can download the software from the official gitlab repository at https://gitlab.com/werwurm/OTraSys

Comments powered by CComment