Summary

An open-source daytrading application for equities, indexes, commodities or currencies. Focus is on easy access to charting, position building and risk management.

Documentation

Table of content

  1. Program description
  2. Installation
  3. Usage
  4. Position and order management
  5. Broker connection
  6. Database connection
  7. Import past quotes
  8. Configuration of instruments and stock exchanges
  9. Export of charts
  10. Questions, feedback and suggestions

Description

Charts

  • Database of prices (realtime and historical intraday quotes) for various instruments
  • Charts based on intra-day quotes for various time frames (e. g. daily, weekly, monthly)
  • Realtime quotes stream
  • Technical indicators like Average True Range, Stochastik RSI, Bollinger Bands
  • Annotations like trend-channel, Fibonacci-retracement, gap
  • Upload of screenshots for postings into forums

Calculator

  • Selection of the appropriate derivative according to the underlying and risk parameters
  • Calculation of risk figures like "Entry", "Take Profit", "Stop Loss" and "CRV" based on the prices of the underlying
  • Realtime update of profit/loss using push quotes

Broker

  • Support of various order types (e. g. unlimited, limited, stop, stop-limited)
  • Interface to the broker Flatex, supporting multiple instances and parallel positions

Architecture

The software is developed platform-independent and standard compliant in Java. It supports localization (languages, timezones, format of dates and numbers). Furthermore it is compatible to various database management systems.

Installation

  1. Install a Java Runtime Environment 1.6 (should exist already on the system, can be downloaded free of charge otherwise).

  2. Download the binary package from the download pae.

  3. Extract the content of the zip archive into any folder of your choice.

  4. Change to the new directory and start he program using the command:

    java -jar manticore-trader.jar

    The first program start may need some minutes in order to import the quotes for all instruments.

This procedure is shown in a demonstration video.

Basic usage of manticore-trader

Photo der Anwendung

Primary control objects

1 Select the underlying instrument from the tree structure. Shares are listed as child node of its index, which you can open by doubclicking with the mouse.

2 Choose the preferred time frame.

3 Push the "Plus"-button in order to show a new chart with the selected underlying instrument and time frame. The "Minus"-button removes the selected chart from the view.

4 Beside the table of the open positions D you can see two buttons. The "Plus"-button opens a new position, which is shown in the position dialog.

5 Using the "Minus" you can remove a closed position from the grid. Open positions can not be removed.

Secondary control objects

Inside of the chart you can insert annotations, which illustrate the price behavior or show information about times and sales. The selected annotation object is drawn in orange color, the others in dark-blue. The selection will be changed by clicking the markers of the annotation object with the mouse. You can modify each annotation when you move the markers using the mouse.

6 Clicking this button deletes the selected annotation object. If no object is selected, all annotations of this chart will be deleted.

7 The chart is updated regularly, when a new quote is pushed. Click this button in order to redraw the chart immediately (e. g. when the push quote stream hangs). Also the chart's upper and lower price limit will be recalculated then.

8 This button switches the mouse pointer to the system's default arrow (with out price and time label).

9 This button switches to the cross hair pointer which has a price and time label.

10 The widgets down below add a new annotation to the chart. There are:

  • trend line

  • trend channel

  • time marker

  • line of support or resist

  • Fibonnaci-retracement

  • gap marker

  • rounding top or bottom

Other widgets

A This toolbar shows the available charts. Pushing one of the buttons switches to a different chart. If there is a small black triangle on the button, then there are several data sources available for this instrument. Then you can click on th button using the right mouse key in order to select a different data source from the list.

B This canvas shows the chart and some technical indications (e. g. bollinger bands, moving average). Inside you can draw different annotations. Furthermore you can export this view into a file, e. g. in order to post it into internet forums.

C Down below the price chart there are technical indications (e. g. Average True Range, Chaikin's Money Flow Oscillator). While you can paint inside this area it will not be exported.

D Table of the open positions; please refer to the section down below for the details.

E News-list, which shows the latest financial news. Select on of the rows in order to read the full message in the textfield down below.

F News textfield, which shows the text of the selected news.

G World time clock of all major stock exchanges.

Position and Order Management

The software provides a sophisticated mechanism for position building including risk and money management (RM/MM). Following a defined maximum loss limit (percentage on the transaction amount) is looks for the best certificate and calculates the quantity, entry, take profit and the chance-risk-ratio (CRV). The leverage is the result of this loss limit and the entry and stop loss of the underyling instrument. This mechanism assures a similar risk for the portfolio from each transaction independently from the underlying.

A position is built by various single purchase or sale transactions. manticore-trader calculates the average purchase price and the profit (loss) for the whole position. Each position and its transaction are stored into the database, so it can be continued even when the program was closed. Open positions, which hold any certificates or have open transactions, are loaded and updated automatically when the manticore-trader starts.

The positions are shown in the grid on the right side. Double-click on a row opens the dialog which shows the position's data in detail. Using the the buttons right beside the grid you can add new positions or remove closed positions.

Example position dialog

Explanation of the example

The example shows a position of 90 put-warrants of EuroStoxx 50 which were purchased at maximum 12.34 EUR, after the order was triggered at ESTX50 2555 points (Stop Buy Limit). The information about the executed order shows up in the textfield 21. manticore-trader issued a Stop-Loss-order at 12.25 EUR automatically when it detects the execution of the purchase order. The maximum loss is 8.31 EUR, position's target is 34.89 EUR resulting in a chance-risk-ratio of 19.23 %.

As the position is in the profit already, you could set the Stop-Loss to the Entry (Button D) or you could switch to "trailing stop loss" (Button 6).

Primary Widgets

1 Stop-price of the underlying instrument, where the position has to be closed in order to limit the loss.

2 Expected maximum loss as ratio related to the transaction amount.

3 Maximum purchase price of the underlying instrument.

4 Stop-Buy price, which is shown only, if Stop-Buy-Order is selected.

5 Targeted price of the underlying instrument, where the position shall be closed in the profit.

6 This button switches on automatic stop loss adjustments ("trailing stop loss") or automatic take profit. The threshold of the "trailing stop loss" is set inside the program's options. It is related to the maximum price of the warrant since position was opened.

A Selection of the order type (L - limited, U - unlimited, S - stop buy, D - direct).

B Searches and calculates the warrant, which fits to the selected Stop, Entry and Target and maintains the maximum loss limit.

C Updates the Stop-Loss order, when underlying instruments "Stop" price was adjusted (e. g. when stop price is raised for a position in the profit).

D Sets the Stop-Loss at entry (if Stop is below Entry) or sets the Stop to the current market price (if Stop is above Entry already). using this button you can close the risk of any position in the profit immediately.

E Issues a new purchase order of the selected order type.

F Issue a sale order in order to take profit. The existing stop loss order will be deleted, but issued again as soon as the sale order is canceled.

G Cancel the current purchase or sale order.

Relevante Programm-Einstellungen

Im Menü Datei→Einstellungen→PositionControler:

limit - max. Verlustimit anteilig bezogen auf den Transaktionsbetrag

targetTransactionAmount - Minimalbetrag der Einzeltransaktion

priceAdjustment - Preisaufschlag für Entry und Stop-Buy zur Ausgleich der Taxe

trailingStopLoss - Verlustlimit anteilig bezogen auf den höchsten Kurs seit Eröffnung der Position

Kurzreferenz

Position öffnen (Kauf):
135BE

Position ausbauen (Nachkauf):
3BE

SL nachziehen:
1BC

SL auf Einstand:
D

Hinweise

Das Programm sucht den größten Hebel, welcher das vorgegebene Limit einhält. Existiert kein solcher Hebel, wird das Zertifikat mit dem kleinsten verfügbaren Hebel gefunden. In diesem Fall kann das Limit nicht eingehalten.

Im Moment kann es nur jeweils eine offene Kauf-Order je Position geben. An der Erweiterung wird bereits gearbeitet.

Die Ausführung obliegt dem Emittenten. Es kann daher vorkommen, dass Orders zu einem vom Limit unterschiedlichen Preis ausgeführt werden (z. B. wenn SL noch nicht erreicht wurde). Aus diesem Grund kann der Orderstatus auch manuell aktualisiert werden durch die Schalter G und H.

Stop Ordern werden vom Broker/Emittenten abgelehnt, wenn der Stop bereits erreicht wurde. Deshalb immer auf genügend Abstand zwischen Entry und SL achten.

Sekundärschalter und Anzeigen

7 Beschreibung des ausgewählten Zertifikates.

8 Anzahl der für den nächsten Kauf vorgesehenen Zertifikate, wie sie sich aus Transaktionsbetrag und Marktpreis ergibt.

9 Anzahl der bereits in der Position gehaltenen Zertifikate.

10 Betrag der nächsten Transaktion.

11 Marktpreis der Position.

12 Stoppreis der Position.

13 Gewinn/Verlust der Position im Fall des SL.

14 Beabsichtigter Kaufpreis der nächsten Transaktion.

15 Anpassung des Kaufpreises ggü. dem rechnerischen Preis, um Taxe des Emittenten auszugleichen. Diese Anpassung wird dem rechnerischen Entry bzw. SL zugeschlagen.

16 Letzter verfügbarer Preis des Zertifikates (Verkaufspreis des Emittenten).

17Der aktuelle Gewinn/Verlust der Position.

18 Verkaufpreis der nächsten Transaktion, rechts daneben Gewinn/verlust der Position bei erreichen des Verkaufszieles.

19 Gewinn/Verlust der Position bei Erreichen des Verkaufszieles.

20 Chancen/Risiko-Verhältnis der nächsten Transaktion.

21 Information zur letzten Kauf-/Verkauf-Order.

22 Information zur SL-Order.

H Status der Kauf-/Verkauf-Order und aktualisieren und bei erfolgter Ausführung die Position anpassen.

J Status der SL-Order aktualisieren und bei erfolgter Ausführung die Position anpassen.

Verbindung zum Broker (Benutzerkennung, Passwort und TAN)

Dieser Abschnitt muss noch geschrieben werden.

Datenbankanbindung

Für die Speicherung der Instrumente, Kurse und Positionen wird eine relationale, SQL-92 kompatible Datenbank mit JDBC benutzt. Dabei müssen der Klassenname und die Verbindungszeichenkette für den Datenbanktreiber angegeben werden.

Weiterhin unterscheiden sich die Kofigurationen hinsichtlich Benutzernamen und Passwort.

PostreSQL

Klassenname: org.postgresql.Driver

Verbindungszeichenkette: jdbc:postgresql:${DATENBANKNAME}

H2

Klassenname: org.h2.JDBCDriver

Verbindungszeichenkette: jdbc:h2:file:${DATENBANKDATEINAME}

HSQLDB

Klassenname: org.hsqldb.jdbc.JDBCDriver

Verbindungszeichenkette: jdbc:hsqldb:file:${DATENBANKDATEINAME};shutdown=true

Import historischer Kursdaten

Dieser Abschnitt muss noch geschrieben werden.

Konfiguration der Instrumente und Börsen

Dieser Abschnitt muss noch geschrieben werden.

Export des Kursdiagramms

Die Export-Funktion ist bsonders dafür geeignet, ein Bild des Kursdiagrammes mit allen Zeichnungselementen im Internet zu veröffentlichen (z. B. bei wallstreet-online.de).

Das Programm speichert ein Bildschirmphoto des Kursdiagrammes im Systemverzeichnis für temporäre Dateien und kopiert dieses automatisch auf den "free host" abload.de. Danach kann durch den Systembefehl "Einfügen" (meist aufrufbar durch [Strg]-[V]) eine Referenz auf das gespeicherte Bild in den Text eingefügt werden:

							[img]http://www.abload.de/img/chart260368719393538392s4a.png[/img]
							[url]www.manticore-projects.com[/url] © 2010
							

Feedback

Bitte nutzen Sie das Forum unter manticore auf Berlios.de, um Ihre Fragen einzustellen oder Fehler zu melden.