# Boersensoftware

Sie befinden sich in der Online-Hilfe der Börsensoftware "Shareholder". Sie finden nachfolgend alle wichtigen Informationen, Anleitungen und Hintergründe zur Bedienung von SHAREholder. Bitte nutzen Sie vor allem das linke Inhaltsverzeichnis zur Navigation und das obere rechte Suchfeld, um schnell Informationen zu finden! Die Hilfe wird von mir permanent erweitert und mit aktuellen Entwicklungen ergänzt. Gerne geben Sie mir aber auch Feedback, wenn Informationen unzureichend oder unklar dargestellt sind.

# Intro

[![Shareholder-Boersensoftware-Main-Explained.jpg](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/shareholder-boersensoftware-main-explained.jpg)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/shareholder-boersensoftware-main-explained.jpg)

Sie befinden sich in der Online-Hilfe der [Börsensoftware "Shareholder"](https://www.shareholder24.de). Sie finden nachfolgend alle wichtigen Informationen, Anleitungen und Hintergründe zur Bedienung von SHAREholder. Bitte nutzen Sie vor allem das linke Inhaltsverzeichnis zur Navigation und das obere rechte Suchfeld, um schnell Informationen zu finden! Die Hilfe wird von mir permanent erweitert und mit aktuellen Entwicklungen ergänzt. Gerne geben Sie mir aber auch Feedback, wenn Informationen unzureichend oder unklar dargestellt sind. Sie können bei Bedarf die Hilfe auch einmalig komplett oder teilweise exportieren. Gehen Sie einfach zum gewünschten Startpunkt und nutzen dann die PDF-Exportfunktion:

### Urheberrechte

In der Hilfe werden urheberrechtlich geschützte Markennamen verwendet. <span class="inline-comment-marker">Nachfolgend</span> sind nach besten Wissen die Markennamen genannt in der Hoffnung aufgrund der Anzahl der Seiten und meiner alleinigen Arbeit keinen Namen übersehen zu haben.

- Dax® ist ein eingetragenes Warenzeichen der Deutschen Börse AG.
- Delphi® ist ein eingetragene Warenzeichen der Embarcadero Technologies, Inc.
- Tai-Pan® ist ein eingetragenes Warenzeichen der Lenz + Partner AG, Dortmund
- Börse Online edition® ist ein eingetragenes Warenzeichen von Gruner + Jahr AG &amp; Co KG, Hamburg

## Optimale Nutzung der Hilfe

Sie haben verschiedene Möglichkeiten die Hilfe optimal zu nutzen. Zunächst ist die Frage, ob Sie Ihre Frage formulieren können. Wenn ja, dann sollten Sie zunächst die Suche oben rechts über das Eingabefeld nutzen. Die Eingabe wird hier immer mit &lt;Enter&gt; abgeschlossen.

Sollten Sie sich in eine komplette Thematik einarbeiten wollen, so haben Sie über den linken Bereich die Möglichkeit, auf die Struktur der Hilfeinformationen zuzugreifen. Klicken Sie sich hier thematisch durch die Inhalte. Unter Inhaltsverzeichnis finden sich zusätzlich von der aktuellen Seite das Inhaltsverzeichnis (nur 1. Überschriftenebene).

Da es unmöglich ist, alle Fragen immer mit Inhalte zu füllen, schreiben Sie mir gerne eine EMail, sollten Sie weitere Erklärungen benötigen: [support@shareholder24.com](mailto:support@shareholder24.de). Alternativ können Sie auch den Live-Chat auf der Website [https://www.shareholder24.com](https://www.shareholder24.de/) benutzen.  
  
Vielen Dank!

# Schnelleinstieg

Hintergründe und Basis-Einleitung für die Börsensoftware

# Basis-Schritte

## Zieldarstellung

Die folgenden Hilfestellungen werden Ihnen einen Schnelleinstieg in SHAREholder ermöglichen. Für besondere Details nutzen Sie bitte die aufgeführten Links.

Folgendes Szenario soll möglichst schnell dargestellt werden:

1. Neues Portfolio
2. Einrichtung eines Depots innerhalb des Portfolios
3. Eingabe bzw. Import von Transaktionsdaten für vorgenommene Käufe und Verkäufe
4. Darstellung der Depot-Entwicklung

### (1) Schritt: Neues Portfolio

Legen Sie zunächst über das Hauptmenü "Portfolio / Neu" ein neues Portfolio an.

[![image-1655627226872.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627226872.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627226872.png)

Ein Portfolio ist dabei Ihre persönliche Abbildung auf Basis verschiedener Depots und Konten. Der Portfolio-Name hierfür ist frei wählbar. Ein Portfolioenthält alle eingegebenen Transaktionen, Kontobewegungen und auch "Schattendaten" der verwendeten Fonds/ETFs etc. Damit können Sie mit Ihrer dann erstellten Portfolio-Datei auf eine andere ShareHolder-Installation wechseln ohne erneut evtl. bisher unbekannte Fonds, ETFs, Optionsscheine erneut "beschreiben" zu müssen. ShareHolder nutzt eine eigene Stammdaten-Bank für alle Assetklassen insb. Aktien der weltweiten Börsen. Dennoch werden Sie Titel besitzen, die in der Stammdatenbank nicht enthalten sind. Da Sie jedoch neue Titel verwalten und anlegen können und automatische Import/Anlage-Assistenten existieren, ist dies unproblematisch. Sie sollten ein Portfolio Ihrer Wahl vollständig abbilden können.  
  
Sofern Sie mit "Speichern" bestätigt haben, bekommen Sie ein leeres Portfolio angezeigt. Ein Portfolio hat dabei immer eine Hauptwährung z.B. €. Konten und Depots in diesem können eigene Währungen haben, ebenso wie Transaktionen eigene Währungsumrechnungen besitzen können.

### (2) Schritt: Konto-Einrichtung und Einzahlungen 

Klicken Sie auf die obere Toolbar im Reiter "Trading" / "Konten", wechseln dort auf den relevanten Eintrag für das Depot/Broker-Konto z.B. "Comdirect". Prüfen Sie dort die vorhandenen Konfigurationen. Sie sollten insb. die Kontonummer und die BLZ prüfen, ebenso wie die abgebildeten Kostenstruktur. Diese kann genutzt werden, um bei eigenen Angaben automatische Kostenberechnungen der Gebührenstruktur zu vollziehen.  
  
Sie können auch hier bereits die Liquidität des Kontos manuell festlegen ohne zugehörige Kontobewegungen.  
Dies ist vor allem dann interessant, wenn das Konto bereits länger existiert und nun einfach ein Start der Abbildung ab einem Stichtag erfolgen soll.

[![image-1655627232551.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627232551.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627232551.png)

Alternativ können Sie in die Transaktions-Ansicht wechseln und dort eine Kontoeinzahlung festlegen. Für eine saubere Darstellung in allen Depot-Entwicklungs-Charts, empfehle ich Ihnen die Abbildung als Kontobewegung.

[![image-1655627237562.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627237562.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627237562.png)

### (3) Schritt: Käufe und Verkäufe durchführen

Für die Abbildung der bisherigen Kauf-und Verkaufs-Transaktionen empfehle ich dringend die Nutzung des Import-Assistenten.

[![image-1655627242775.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627242775.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627242775.png)

Sie müssen hier lediglich Ihre Bank auswählen bei den vorkonfigurierten Profilen und dann per Drag&amp;Drop ein Export aus Ihrem Depot/Broker-Konto übernehmen. Sie können dann per Klick die Daten übernehmen.

[![image-1655627247357.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627247357.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627247357.png)

Sollte das notwendige Importprofil nicht existieren, können Sie auf Basis der vorhandenen Beispiele und Dokumentation selbst eigene Importprofile anlegen.

Für eine manuelle Übernahme klicken Sie wieder auf die obere Toolbar im Reiter "Trading" / "Kaufen". Tragen Sie hier unter Titel den gewünschten Titel z.B. Deutsche Bank ein. Alternativ können Sie auch aus einer Watchliste (separater Reiter) / Detailliste (F8) den Titel selektieren und über das Kontextmenü (r.Maustaste) den Menüpunkt "Kaufen..." wählen. Danach tragen Sie den Kurs und die Stückzahl an.  
  
Die Themen rund ums Money-Management sollten Sie für den Schnelleinstieg erstmal ignorieren und am besten spielerisch erkunden, zusammen mit der Hilfe.

### (4) Schritt: Neuanlage von Titeln in der Stammdaten-Bank

Beim Autoimport-Assistent aus bestehenden Broker/Depot-Exports werden fehlende Titel in der internen Stammdatenbank automatisch angelegt. Sie können aber auch eigene Titel für eigene Strategien und für Watchlisten anlegen. Gehen Sie über das Hauptmenü in die Marktlisten bzw. direkt mit &lt;F8&gt;. Hier sollten Sie zunächst über das Suchfeld über die ISIN oder den Titelnamen nach dem gewünschten Titel suchen. Es wurde automatisch eine Suche in angebundenen Quellen versucht, sollte die interne Stammdaten-Datenbank zunächst keinen Treffer ermöglichen.

[![image-1655627253177.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627253177.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627253177.png)

Sollte dieser nicht aufzufinden sein, so können Sie manuell einen Titel hinterlegen. Wählen Sie hierzu oben im Reiter "Titelverwaltung" den Punkt "Titel anlegen".

[![image-1655627257657.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627257657.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627257657.png)

Hier sollten Sie im nun geöffneten Dialog im Minimum einen Namen und eine ISIN hinterlegen und die Marktzuordnung prüfen bzw. nachtragen über die Checkboxen. Alles andere ist zunächst optional. Für Optionsscheine vergessen Sie bitte nicht den Basistitel, die Knockout-Schwelle und den Basispreis zu hinterlegen, da sonst einige automatische Umrechnungen nicht korrekt funktionieren im Money-Management.

### (5) Schritt: Kursdaten aktualisieren

Wechseln Sie in die Portfolioansicht. In der Toolbar finden Sie im Reiter "Kurs &amp; Fundamentaldaten" die Tool-Menü-Gruppe "Internet" (vertikal zu lesen). Hier können Sie dann direkt über "Kursdaten" eine vollautomatische Kursaktualisierung durchführen. Sollten Sie eine (Demo)-Version von Tai-Pan EOD installiert haben, stehen Ihnen natürlich auch Tai-Pan als Quelle zur Verfügung bzw. Tai-Pan RT, XTB oder ShareHolder-End-Of-Day-Datenbank (nur registrierte Nutzer). Die Kursaktualisierung ist grundsätzlich für die Nutzung kostenloser Angebote (Portale, APIs) ausgelegt. Sie können jedoch bei Bedarf sich auch eigene Daten-Provider (APIs) konfigurieren und freischalten. Einige sind bereits vorkonfiguriert und können genutzt werden (Alphavantage, Finnhub, Polygon etc.). Sie finden diese Möglichkeiten unter Einstellungen / Kursaktualisierungen / Datenabieter (APIs).

[![image-1655627263138.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627263138.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627263138.png)

[![image-1655627267434.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627267434.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627267434.png)

### (6) Schritt: Depot-Entwicklung grafisch dargestellen

Unter "Depotcharts" können Sie nun bereits die aktuelle Depotentwicklung prüfen. Innerhalb der oberen Toolbar können Sie zusätzliche Parameter einstellen.

[![image-1655627272414.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627272414.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627272414.png)

# Assistenz - "Tipp-des-Tages"

Direkt unter dem Menüpunkt Hilfe finden Sie den Menüpunkt "Tipp-des-Tages". Die Funktionalität ist dabei selbsterklärend. Sie soll neue Hinweise und Tipps in der Nutzung der Software zeigen. Dabei wird ein Vergleich vorgenommen, zwischen dem letzten bekannten Tipp, den der Nutzer gelesen hat und dem tatsächlich letzten Eintrag in der Online-Datenbank. Es wird dabei bewusst eine Online-Postgres-Datenbank verwendet, da so ohne Update-Einspielung die aktuellste Version abgerufen werden kann.

<div data-layout="align-start" data-node-type="mediaSingle" data-pm-slice="0 0 []" data-width="52" id="bkmrk-trotzdem-zwei-hinwei"><div data-alt="" data-collection="contentId-119504935" data-context-id="119504935" data-file-mime-type="image/png" data-file-name="image2020-9-7_20-10-49.png" data-file-size="396757" data-height="980" data-id="a14cbbd0-37a5-4a18-aa1d-7f310d08f692" data-node-type="media" data-type="file" data-width="1377" title="Attachment">  
</div><div data-alt="" data-collection="contentId-119504935" data-context-id="119504935" data-file-mime-type="image/png" data-file-name="image2020-9-7_20-10-49.png" data-file-size="396757" data-height="980" data-id="a14cbbd0-37a5-4a18-aa1d-7f310d08f692" data-node-type="media" data-type="file" data-width="1377" title="Attachment">Trotzdem zwei Hinweise zur Funktionalität:  
</div></div>- Sie können unter den Programm-Einstellungen die automatische Prüfung deaktivieren unter Programmeinstellungen / Programm / Sonstiges.
    
    [![image-1655627294445.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627294445.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627294445.png)
    
    <div data-layout="align-start" data-node-type="mediaSingle" data-width="52"><div data-alt="" data-collection="contentId-119504935" data-context-id="119504935" data-file-mime-type="image/png" data-file-name="image2020-9-7_20-10-49.png" data-file-size="396757" data-height="980" data-id="a14cbbd0-37a5-4a18-aa1d-7f310d08f692" data-node-type="media" data-type="file" data-width="1377" title="Attachment">  
    </div></div>
- Unterhalb der Navigationsleisten (hier die Administrator-Sicht) wird dabei der Fortschritt angezeigt auf Basis der Position zum letzten Tipp.
    
    [![image-1655627299567.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627299567.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627299567.png)

<details id="bkmrk-technische-details-z"><summary>Technische Details zur Nutzung (bei Problemen)</summary>

Technisch wird eine Online-Postgres-Datenbank verwendet. Sie müssen daher im Programm-Verzeichnis die aktuelle Windowssystemdateien-Modul-Datei von ShareHolder installiert haben.

Konkret müssen mind. die folgenden Dateien im Programm-Verzeichnis liegen. Bitte sonst die Modul-Aktualisierung nochmals starten!

- libpq.dll und
- libpgtypes.dll
- libintl-8.dll
- libiconv-2.dll
- libecpg\_compat.dll
- libecpg.dll
- libxml2.dll
- libxslt.dll

</details>

# Arbeit mit der Hilfe

## Aktualität der Dokumentation

Die Hilfe hat zurzeit einen Stand von der Version 22.5 und damit vom Juli 2022. Die Hilfe wird mittels einer freien Online-WIKI-Umgebung fortwährend aktualisieren. Die Online-WIKI-Dokumentation ist so immer der Einstieg.

PDF-Dateien können als Auszug jederzeit selbst als Abzug von Einzelseiten oder für die komplette Hilfe generiert werden. Gehen Sie hierzu auf Export als PDF im Menü auf der rechten Seite.

## Arbeit mit der Hilfe

### Suchen

Die Hilfethemen sind thematisch gruppiert eingeordnet. Dennoch kann es vorkommen, dass Sie das gesuchte Thema nicht sofort finden. Bitte benutzen Sie dann einfach die Suchfunktion innerhalb des Systems (oben rechts). Im Normalfall finden Sie hier dann auch die gesuchten Informationen. Sollte auch dies nicht zum Erfolg führen, schreiben Sie bitte eine kurze Mail an die <support@shareholder24.com>! Das entsprechende Thema wird dann nachgereicht bzw. dann per Mail behandelt.

### Bookmarks

Wenn ein etwas komplexeres Thema mit vielen nutzbaren Querverweisen behandelt werden soll, so lässt sich auch bequem die Technik von Bookmarks/Favoriten nutzen, insb. wenn Sie Themen öfters nachschauen möchten. Hierzu können Sie jede Seite als über Tools / Als Favorit speichern abgelegen. Diese finden Sie dann direkt auf der Startseite im Dashboard unten rechts.

### Kontextsensitive Hilfe im Programm

Shareholder selbst ist in den Funktionen sehr stark mit den Hilfethemen verbunden. Es lassen sich somit im aktuellen Formular mit der Funktionstaste &lt;F1&gt; direkt ohne Suchen das zugehörige Hilfethema anspringen. Es ist hierzu hilfreich dass "fragwürdige Element" soweit wie möglich zu selektieren und erst danach auf &lt;F1&gt; zu drücken. Für das Programm ist es ein Unterschied in der Hilfezuordnung, ob Sie auf dem Button "OK" stehen oder mit dem Cursor direkt in der zugehörigen Liste. Bitte beachten Sie dies bei der Nutzung!

Diese Funktion ruft zur Zeit noch die interne Windows-Shareholder-Hilfe auf. Erst mit eines der kommenden Versionen wird die hier vorliegende Hilfe direkt in SHAREholder eingebunden sein.

<div class="css-1cddlid equrvi50" data-test-id="likes-and-labels-container" id="bkmrk-"><div class="css-1lvq60b e1mxqiaj1" data-testid="reactions-container"><div class="css-qv7o1t"><div role="presentation"><div class="  miniMode css-1x68nms">  
</div></div></div></div></div>

# Grundbedienung und Grundaufbau

## Grundaufbau Bildschirm

### Menüleiste mit Toolbar

[![image-1655627336830.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627336830.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627336830.png)

Die Toolbar zeigt passend zum aktuellen Hauptreiter mögliche sinnvolle Funktionen an. Die Toolbar wird dabei um spezielle Tabs ergänzt, wenn z.B. die Depotcharts aufgerufen werden. Ziel ist es dem Anwender immer nur Tabs zu zeigen, die in dem Moment tatsächlich nutzbar und gewinnbringend sind. Unnötige Elemente werden daher immer ausgeblendet. Die Funktionen selbst werden oft auch im Hauptmenü und in Kontextmenüs (r. Maustaste) verknüpft. Der Start von Funktionen ist somit nach eigenen Gewohnheiten möglich. Werden Tabs mit kleinen Pfeilen dargestellt, können diese ein-und ausgeklappt werden. Damit kann der Platz auch auf kleinen Bildschirmen optimal genutzt werden.

Neben den Kontextfunktionen stehen besondere Schnell-Wechselfunktionen:

- Portfolio-Wechsel: Hier werden alle vorhandenen Portfolio-Dateien angezeigt und stehen für einen Wechsel zur Verfügung. Dabei wird im Datenverzeichnis nach Portfolio-Dateien gesucht.
- Wechsel der Programm-Version zwischen 32-Bit und 64-Bit-Version. Die Option ist nur verfügbar und aktiviert, wenn eine Profiversion vorliegt.

### Hauptreiter

[![image-1655627342627.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627342627.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627342627.png)

Grundidee ist es sinnvolle Sichten auf die tägliche Arbeit abzubilden. Es sind so einige Primärsichten entstanden, die in entsprechende Reiter gelegt worden sind. Detailerklärungen finden Sie in der Hilfe zu jedem einzelnen Punkt.

### Listen

[![image-1655627356547.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627356547.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627356547.png)

- Sortierung der Liste: Sie können jederzeit die Sortierung von Tabellen verändern, wenn Sie einfach auf den Spaltenkopf mit der Maus link klicken. Wenn Sie die selbe Spalte nochmals anklicken, wird die Sortierung für diese Spalte umgekehrt.
- Größenveränderung von Spalten: Die Spaltengrößen verändern Sie durch Drag&amp;Move. Hierzu müssen Sie die Maus zwischen zwei Spalten bringen, bis der Mauscursor sich verändert. Dann drücken Sie die linke Maustaste und verschieben den Spaltenrand bis zur gewünschten Größe und lassen dann die Maustaste wieder los. Während der Operation wird Ihnen live eine Veränderung gezeigt.
- Verschieben von Spalten: Die Spaltenposition verändern Sie mit Drag&amp;Drop auf der Spalte. Hierzu drücken Sie die linke Maustaste auf dem Spaltenkopf der Spalte, die Sie verändern möchten. Sie lassen die Spalte wieder los, wenn Sie an der gewünschten Position mit der Maus angekommen sind. Während der Operation wird Ihnen live eine Veränderung gezeigt.
- Ein-und Ausblenden von Spalten: Sie können hier einfach mit der rechten Maustaste auf den Spaltenbereich klicken. Sie erhalten anschließend ein entsprechendes Konfigurationsfenster, um Einzelspalten ein-oder auszublenden.

#### Typische Spalten und deren Deutung

<div class="table-wrap" id="bkmrk-spalte-erkl%C3%A4rung-can"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Spalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Spalte

</th><th aria-disabled="false" aria-label="Erklärung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Erklärung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Candlesticks

</td><td class="confluenceTd">Darstellung des "Tageskerze". Die Tageskerze wird dabei um 90° nach rechts gekippt dargestellt. In der Folge wird entsprechend der Semantik der japanischen Kerzen die Bandbreite (High-Low) des Tages als Kerzendocht dargestellt und der Kerzenkörper repräsentiert die Bandbreite/position des Open und Close-Kurses je nach Farbe.

- ROT = Close&lt; Open womit der Open-Kurs den linken Rand der Kerze und der Close-Kurs den rechten Rand bildet
- GRUEN = Close &gt; Open womit der Schluss-Kurs des Tages am rechten Rand und der Open Kurs am linken Rand gezeigt wird.

</td></tr><tr role="row"><td class="confluenceTd">Stopps

</td><td class="confluenceTd">Die Stoppkursinformationen werden immer im folgenden Schema dargestellt:  
  
&lt;StoppKurs\_Verändert\_Durch z.B. Chart, User&gt; &lt;Stoppkurswert&gt;  
&lt;Ergebniswert bei Realisierung des Stopkurses&gt; mit Unterscheidung ob es sich hier um eine Gewinnsicherung oder um ein Verlustrisiko handelt

</td></tr><tr role="row"><td class="confluenceTd">Gewinn oder % Spalten

</td><td class="confluenceTd">Positive Werte werden immer grün, Negative Werte immer rot dargestellt. Als kleineren oberen Wert wird der absolute darunter der prozentuale Wert dargestellt.  
Die Art der % Berechnung insb. für Portfolio-Werte kann in den Programm-Einstellungen genauer definiert werden d.h. unter Berücksichtigung von Gebühren.

</td></tr></tbody></table>

</div>### Statusleiste

Die Statusleiste zeigt in verschiedenen Segmenten verschiedene Status-Informationen dar:

- Welche Programmversion: Standard, Demo oder Profiversion und welche Release-Nummer und in Klammern ob es die 32-Bit oder die 64-Bit-Version ist (nur für Profiversion verfügbar)
- Benchmark-Werte die Sie über das Kontextmenü in Kurslisten einfach verändern können. Es können dabei zwei Werte ausgewählt werden. Mit Klick auf einen Wert wird das zugehörige Chartbild geöffnet
- Handelstag zeigt das interne Referenz-Datum an, worauf alle "Tageswerte" sich beziehen. So kann insb. bei speziellen Feiertagen das Datum manuell zurückdatiert werden.

[![image-1655627367103.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627367103.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627367103.png)

## Grundfunktionen

### Funktionstasten

Sie müssen die Funktionstasten nicht auswendig lernen, da diese auch in den Haupt-oder Kontextmenüs rechts neben einer Funktion eingeblendet wird. Dennoch zur Vollständigkeit hier gelistet:

<div class="table-wrap" id="bkmrk-taste-funktion-%3Cesc%3E"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Taste: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Taste</div></th><th aria-disabled="false" aria-label="Funktion: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Funktion</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">&lt;ESC&gt;</td><td class="confluenceTd">Schließen des aktuellen Dialogs oder Formulars. Die funktioniert insb. auch in Chart-Fenstern und Einstellungen.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F1&gt;</td><td class="confluenceTd" colspan="1">Anzeige der Hilfe passend zur aktuellen Auswahl. Sie werden dabei direkt in das aktuelle Online-WIKI weitergeleitet und haben damit immer Zugriff auf den aktuellsten Hilfestand, ohne dass Sie eine lokale Version permanent aktuell halten müssten.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F2&gt;</td><td class="confluenceTd" colspan="1">Speichern der aktuellen Einstellungen. Dabei erfolgt nur eine Speicherung, wenn tatsächlich sich Inhalte verändert haben.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F3&gt;</td><td class="confluenceTd" colspan="1">Laden eines neuen Portfolios</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F4&gt;</td><td class="confluenceTd" colspan="1">Portfolio-Bericht drucken</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F5&gt;</td><td class="confluenceTd" colspan="1">Alle Berechnungen und Darstellungen aktualisieren</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F6&gt;</td><td class="confluenceTd" colspan="1">Darstellung der Entscheidungsmatrix für das aktuelle Portfolio</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F7&gt;</td><td class="confluenceTd" colspan="1">Suche nach Titeln über die Detail-Liste</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F8&gt;</td><td class="confluenceTd" colspan="1">Detail-Liste als Marktliste oder Liste aller Einträge für eine Watchliste</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F11&gt;</td><td class="confluenceTd" colspan="1">Candlestick-Scanner</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;F12&gt;</td><td class="confluenceTd" colspan="1">Handelstrategie-Studio</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;Cursor-Links/Rechts&gt;</td><td class="confluenceTd" colspan="1">Hier können Sie innerhalb von Charts und Newspannels zwischen den Werten wechseln. Welche Liste dabei zugrundeliegt hängt vom Startpunkt ab. Wenn Sie beispielsweise innerhalb einer Beobachtungsliste einen Chart öffnen, sind alle anderen Werte die Basis.</td></tr></tbody></table>

</div>Die Shortcuts müssen Sie dabei nicht auswendig lernen, sondern schauen Sie einfach abundzu bewusst in die Hauptmenüs und Kontextmenüs, womit Sie die Zuordnungen immer rechts neben den Aktionsnamen sehen können.

### Kontextfunktionen

[![image-1655627374690.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627374690.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627374690.png)

Um die Kontextfunktionen, d.h. die passenden Menüfunktionen für die aktuelle Auswahl einzublenden, müssen Sie einfach das gewünschte Element z.B. einen Aktientitel innerhalb einer Liste selektieren und hier dann die rechte Maustaste drücken. Im Normalfall brauchen Sie nur mit der Maus zum gewünschten Element gehen und nur die rechte Maustaste drücken. Eine wenn notwendige Selektion des Elements wird automatisch vorgenommen, ohne dass Sie dies zuvor vorgenommen haben müssen.

Kontextfunktionen finden Sie in SHAREholder praktisch überall. Sie können dies in Charts, in allen Listen, in Eingabefeldern usw. finden.

### Maus-Doppel-Klicks

Überall im Programm sind Aktionen hinter Doppelklicks gelegt insb. in Listen wie in den Depotlisten, Transaktionslisten, Kurslisten usw. Welche Aktion hier jeweils ausgelöst wird, hängt vom Kontext ab. Um nur einige Beispiele zu nennen:

- Innerhalb von Kurslisten wie in Depotlisten, Marktlisten, Watchlisten: Öffnen der zugehörigen Stammdaten für den Titel
- Innerhalb von Watchlisten: Öffnen der selektierten Transaktion zur Nachbearbeitung

# Quick-Check Funktion

[![image-1655627392335.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627392335.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627392335.png)

<div class="table-wrap" id="bkmrk-bereich-erkl%C3%A4rung-ak"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 22.9702%;"></col><col style="width: 77.0291%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Bereich: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Bereich</div></th><th aria-disabled="false" aria-label="Erklärung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Erklärung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">A  
Konten</td><td class="confluenceTd">Prüfung der vorhandenen Einstellungen der für das aktuelle Depot genutzten Konten auf Basis der Transaktionsliste. Folgende Anforderungen werden dabei geprüft:  
- Namen sind nicht numerisch (generiert)
- IBAN hat eine Mindestlänge von 10 Zeichen und BIC eine Mindestlänge von 5
- Es sollten entweder Einzahlungen im Konto vorliegen oder der Bestand angepasst sein in den Kontoeinstellungen für eine realistische Abbildung der Liquidität

*Folgende Assistenten und Hilfsfunktionen sollten genutzt werden:*

- Aufruf der Kontoeinstellungen

</td></tr><tr role="row"><td class="confluenceTd">B  
Titel-Stammdaten</td><td class="confluenceTd">- Prüfung der im Portfolio (offen/geschlossene Positionen) befindlichen unbenannten Aktien-Titel die z.B. durch Imports übernommen worden sind (Titel:\*)
- Für die Internet-Kursaktualisierungen werden Aktualisierungsgruppen benutzt, die selbst eine Währungseinstellung haben. Gleichzeitig hat jeder Titel/Aktie in den Stammdaten eine Standardwährung. Diese beiden sollten übereinstimmen, um keine Währungs-Daten-Verfälschung zu haben. Da es für die meisten Titel mehrere Börsen inkl. Auslandsbörsen und Heimatbörsen gibt, muss hier jeweils das richtige Setup gefunden werden, die auch zu Ihren Transaktionsdaten bzw. Ihrem Konto/Broker passt d.h. werden die Titel in € geführt oder tatsächlich auch in US$ bzw. Auslandswährung?

*Folgende Assistenten und Hilfsfunktionen sollten genutzt werden:*

- Stammdaten korrigieren: Hier würde über das Fundamentaldaten-Addon das Profil "Internet.Fundamental-Data-Autoimport.ini" aufgerufen. Dieses können Sie unter Einstellungen / Fundamentaldaten auch selbst anpassen und erweitern. Im Default werden damit Titel, WKN, ISIN und teilweise Branche, Assetklasse und Währungen korrigiert.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">C  
Titel-Kursdaten</td><td class="confluenceTd" colspan="1">- Die Kursdaten sollten nicht älter als 2 Tage sein gegenüber dem letzten Handelstag (im Normalfall heute) und zudem generell Kursdaten vorliegen haben

*Folgende Assistenten und Hilfsfunktionen sollten genutzt werden:*

- Kursdaten-Einstellungen prüfen: Es wird versucht über ein Dutzend Default-Aktualisierungsgruppen das beste Internet-Aktualisierungsprofil zu finden. Es entscheidet hierbei allein die maximale Anzahl von zurückgegebenen Kursdaten. Die Prüfung erfolgt für alle Aktien mit nicht vorhandenen Kursdaten.
- Aktualisiere Kursdaten: Es wird ein einfaches Komplett-Update der offenen Depot-Positionen vorgenommen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">D  
Depot-Stoppkurse</td><td class="confluenceTd" colspan="1">- Prüfung ob überhaupt Stoppkurse für die offenen Positionen im Depot gesetzt worden sind. Im Default sollten diese definiert sein, damit überhaupt eine Depot-Absicherung vorliegt
- Prüfung ob für die Stoppkurse offene Trigger z.B. erreichte Trailing-Stopps, Break-Even-Stopps erreicht worden sind. Erreichte Zielkurse werden dabei aber ignoriert.

*Folgende Assistenten und Hilfsfunktionen sollten genutzt werden:*

- Stoppkurse-Übersicht: Alle definierten Stoppkurse sind in einer Übersicht dargestellt
- Stoppkurse alle akzeptieren: Alle gesetzten Trigger müssen immer akzeptiert werden d.h. als "gelesen" verstanden werden. Dies kann hier mit einem Klick für alle offfenen Trigger erfolgen. Dies ist insb. für große Depots relevant.
- Stoppkurse initialisieren: Für nicht vorhandene Stoppkurse wird ein Initialwert gesetzt. In der aktuellen Ausbaustufe wird hierfür ein gleitender Durchschnitt entsprechend Ihrer gewünschten Tagesanzahl benutzt, wenn die Kursdatenbasis ausreicht. Wenn Sie einen EMA(200) nutzen und nur 100 Kursdatentage zur Verfügung haben, wird automatisch ein 90er-EMA verwendet (d.h. -10).

</td></tr></tbody></table>

</div><div class="ms-editor-squiggler" id="bkmrk--2">  
</div><div class="ms-editor-squiggler" id="bkmrk--3"></div>

# Depotmanagement

# Grundprinzip Depot-Management

Im Mittelpunkt des Programms steht die Depotansicht. Transaktionen bilden dabei die Grundlage der Depotansicht durch zugehörige Käufe, Verkäufe, Einzahlungen usw. Der zugehörige Hauptreiter "Transaktionen" findet sich entsprechend direkt neben der Depotansicht. Das Depot wird ergänzt um Depotcharts, Tradingmatrixen mit Auswertungen zu Erfolgsverteilungen.

Um ein Depot zu managen, müssen immer wieder neu Entscheidungen getroffen werden. Diese sollen erleichtert werden durch Watchlisten (Beobachtungslisten), Chart-Gallerien, Marktlisten und Newsticker. Für weitergehende Analysen, die auf automatischen Selektionen aufbauen, stehen sowohl ein Filtersystem als ein ergänzende Handelssysteme zur Verfügung. Auch Neuronale Netze können bei der Entscheidungsfindung helfen. Diese dienen der Berechnung von Kursprognosen auf kurzfristiger Basis (Tagesbasis).

Alle Titel, ob im Depot oder in Marktlisten, Watchlisten können jederzeit ergänzt und aktualisiert werden. Die Kursdaten zu Titel werden über die Menüleiste, Shortcuts, übers Kontextmenüs oder dem Hauptmenü aktualisiert. Im aktuellen Releasestand werden freie Kursdatenanbietern (Internet-Adressen wie Yahoo, Consors, OnVista), als auch Tai-Pan EOD und Tai-Pan RT unterstützt. Um insb. Unternehmens-Stammdaten zu aktualisieren, steht zudem ein Import von Börse-Online-Statistiken (online) zur Verfügung.

[![image-1655627408545.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627408545.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627408545.png)

### Portfolio-Ansicht<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Die Portfolio-Ansicht zeigt mit einer gewichteten Durchschnitts-Kurs-Berechnung die Gesamtheit aller Positionen aus allen genutzten Depots/Konten.

[![image-1655627413515.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627413515.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627413515.png)

Dabei kann auch ein Einzel-Konto ausgewählt werden und die Ansicht wird entsprechend gefiltert. Die Auswertungs- und Zwischenbilanzen folgen dabei ebenfalls der Selektion.

[![image-1655627418527.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627418527.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627418527.png)

#### Spalten und deren Deutung und Besonderheiten<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

<div class="css-79elbk" id="bkmrk--8">  
</div><div class="pm-table-container right-shadow" data-layout="full-width" id="bkmrk-spalte-erkl%C3%A4rung-bez"><div class="pm-table-wrapper"><table data-number-column="false" style="width: 100%;"><colgroup><col style="width: 14.575%;"></col><col style="width: 85.4243%;"></col></colgroup><tbody><tr><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="48" rowspan="1">Spalte

</th><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="1752" rowspan="1">Erklärung

</th></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Bezeichnung

</td><td colspan="1" data-colwidth="1752" rowspan="1">Name des Wertpapiers: Erscheint hier ein '-', so existiert in der Datenbasis kein Wertpapier, welches die in der Transaktion verwendeten WKN besitzt. In diesem Fall muß in der Datenbasis ein entsprechender Eintrag erzeugt werden. Erscheint hinter der Bezeichnung in Rotschrift +K (offene Kauforder) oder -V (offene Verkaufsorder), so existiert eine Transaktion in der Transaktionsliste mit der Einstellung "Offener Auftrag".

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Branche

</td><td colspan="1" data-colwidth="1752" rowspan="1">Zuordnung der Gesellschaft zu einer Branche. Die Daten stammen initial aus der BO.Statistik, können aber jederzeit über die Stammdaten gepflegt werden (Doppelklick auf den Titel) des Wertpapieres. Ebenfalls zugeordnet und angezeigt wird die Marktzuordnung. Für die Darstellung wird der jeweils eingerichtete Kurzname (siehe Märkte) verwendet.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Stk

</td><td colspan="1" data-colwidth="1752" rowspan="1">Anzahl der Anteile des Wertpapiers. Die Stücke können wie z.B. bei Fonds auch Fließkommawerte sein.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">KK (Kaufkurs)

</td><td colspan="1" data-colwidth="1752" rowspan="1">Gewichteter Durchschnitt-Kaufkurs: Einfache Durchschnittsberechnung, bei der die Anzahl der einzelnen Posten für die Durchschnittsmengen-Berechnung gewichtet einfließen. Berechnung   
Summe( Anzahl \* Kurs ) / Gesamtanzahl;Werden also 100 Stk a. 20 € und 200 Stk a. 50 € gekauft, so wird ein Durchschnittskurs von D=(100Stk\*20+200Stk\*50) / 300 berechnet.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Candle

</td><td colspan="1" data-colwidth="1752" rowspan="1">Darstellung des "Tageskerze". Die Tageskerze wird dabei um 90° nach rechts gekippt dargestellt. In der Folge wird entsprechend der Semantik der japanischen Kerzen die Bandbreite (High-Low) des Tages als Kerzendocht dargestellt und der Kerzenkörper repräsentiert die Bandbreite/position des Open und Close-Kurses je nach Farbe.

- ROT = Close&lt; Open womit der Open-Kurs den linken Rand der Kerze und der Close-Kurs den rechten Rand bildet
- GRUEN = Close &gt; Open womit der Schluss-Kurs des Tages am rechten Rand und der Open Kurs am linken Rand gezeigt wird.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">AK  
(Aktueller Kurs)

</td><td colspan="1" data-colwidth="1752" rowspan="1">Aktueller Tageskurs zusammen mit Trendinformationen (Trendpfeile) und Tagesentwicklungen.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">%

</td><td colspan="1" data-colwidth="1752" rowspan="1">[![image-1655627435664.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627435664.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627435664.png)

Trendpfeile sind nachfolgendem Schema zuzuordnen, wobei der Trend immer die Kursrichtung der Aktie meint. Intern wird der letzte Tageskurs mit dem vorletzten Tageskurs verglichen. Der Vergleich hat somit nichts mit dem vorherigen Tag zu tun und bildet nur eine Tagestendenz ab! Dahinter folgen die absoluten und relativen Kursveränderungen des Tages, wobei hier in Rot oder Grün die prozentuale Veränderung grafisch dargestellt wird. Der absolute jetzige Kurs ist in der benachbarten Zelle gelistet.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Zeit

</td><td colspan="1" data-colwidth="1752" rowspan="1">Nur Kursaktualisierungen mit vorhandenem Zeitstempel zeigen diesen auch an. Für alle anderen gilt nur die Anzeige des Kurz-Datumformats.

[![image-1655627442411.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627442411.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627442411.png) : Chart des Titels

[![image-1655627452848.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627452848.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627452848.png) : Aufruf der Nachrichtenanzeige - Onlinepanels zum direkten Onlineabruf von Charts, News, Profilen auf Basis von verknüpften Stammdaten und Internet-Webadressen (editierbar)

[![image-1655627459725.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627459725.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627459725.png): Darstellung der Unternehmensbeschreibung

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Stopps

</td><td colspan="1" data-colwidth="1752" rowspan="1">Die Stoppkursinformationen werden immer im folgenden Schema dargestellt:   
&lt;StoppKurs\_Verändert\_Durch z.B. Chart, User&gt; &lt;Stoppkurswert&gt; &lt;Ergebniswert bei Realisierung des Stoppkurses&gt;   
AK &lt;Abstand% zwischen Stoppkurs und aktuellem Kurs&gt; &lt;Abstand absolut zwischen Stoppkurs und aktuellem Kurs&gt;

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Wert

</td><td colspan="1" data-colwidth="1752" rowspan="1">Zeigt den aktuellen Börsenwert des Wertpapieres an. Gebühren werden hierbei nicht herausgerechnet, die eventuell für den Verkauf anfallen.

</td></tr><tr><td colspan="1" data-colwidth="48" rowspan="1">Gewinn

</td><td colspan="1" data-colwidth="1752" rowspan="1">Positive Werte werden immer grün, Negative Werte immer rot dargestellt. Als kleineren oberen Wert wird der Absolutwert dargestellt, darunter der prozentuale. Welcher Gewinn würde bei einer sofortigen Auflösung der Position entstehen. Die Berechnung erfolgt entsprechend der gemachten Einstellung (Einstellungen.Programmeinstellungen."Anzeige und Berechnungen")

- keine Gebühren
- Kaufgebühren
- Kaufgebühren + hochgerechnete Verkaufsgebühren   
    hinein.

</td></tr></tbody></table>

</div></div>#### Letzter Kommentar aus den vorherigen Kauf-Transaktionen

Als Nutzer kann ich in der Depotansicht den letzten Kommentar einer Kauf-Transaktion als eigene Spalte darstellen. Die Pflege erfolgt über die zugehörigen Transaktions-Eingabe. Damit ist es möglich die Ansicht zusätzlich zu kategorisieren bzw. Kauf-Kategorien zu nutzen bzw. einen Hinweis auf die Motivation für den Kauf zu geben und so direkt in der Portfolio-Ansicht auch darzustellen.

[![image-1656080136695.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656080136695.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656080136695.png)

### Depotauswertungen<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

[![image-1655627425416.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627425416.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627425416.png)

Hier bekommen Sie eine Zusammenfassung

- Ihres aktuellen (Buch)Vermögens in der Zwischenbilanz
- Ihrer Gesamtbilanz auf Jahressicht/Gesamtsicht
- sowie Auswertungskennzahlen zu Ihrem System/Kapital
- Money-Management-Hilfstool

Die Daten werden direkt nach der Änderung von Transaktionen oder von Kursdaten aktualisiert. Kleine Pfeile zeigen keine Tendenz an, sondern lediglich die Prozentangaben in vorher festgelegten fixen Zuordnungen der Grafik und des Prozentwertes (-20%,-3%,0%,3%,20%).

#### Zwischenbilanz<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

<div class="css-79elbk" id="bkmrk--12">[![image-1656157109834.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157109834.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157109834.png)</div><div class="pm-table-container right-shadow" data-layout="full-width" id="bkmrk-bezeichnung-beschrei"><div class="pm-table-wrapper"><table data-number-column="false" style="width: 100%;"><colgroup><col style="width: 23.342%;"></col><col style="width: 76.6573%;"></col></colgroup><tbody><tr><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="59" rowspan="1">Bezeichnung

</th><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="1741" rowspan="1">Beschreibung

</th></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Aktueller Wert

</td><td colspan="1" data-colwidth="1741" rowspan="1">Summe der einzelnen Wertpapierpositionen mit dem aktuellen Kurs.

</td></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Kaufsumme

</td><td colspan="1" data-colwidth="1741" rowspan="1">Summe der Kauftransaktionen ohne Gebühren

</td></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Bankgebühren

</td><td colspan="1" data-colwidth="1741" rowspan="1">Gebühren für den Kauf der Wertpapierpositionen. Gebühren für den Verkauf werden auf Basis der eingestellten Provisionstabellen mit eingerechnet (um sich nicht reichzurechnen). Die Verkaufsgebühren werden dabei bei voller Auflösung der gesamten Stückzahl über das letzte verwendete Transaktionskonto berechnet.

</td></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Buchgewinn

</td><td colspan="1" data-colwidth="1741" rowspan="1">Aktueller Wert des Depots korrigiert um die Kaufsumme und um die hochgerechneten Bankgebühren. Dieser Gewinn steht so nur in den "Büchern" und verändert sich mit der nächsten Depotaktualisierung mit Sicherheit auch bei Ihnen ...

- Als Prozentwert in der zweiten Zeile wird der Buchgewinn im Verhältnis zur Kaufsumme gesetzt

</td></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Liquidität

</td><td colspan="1" data-colwidth="1741" rowspan="1">Summe des zur Verfügung stehenden Geldes auf allen Konten (Cash-Reserven) im aktuellen Portfolio.

- Als Prozentwert in der zweiten Zeile wird die Liquidität im Verhältnis zur Gesamtvermögen gesetzt

</td></tr><tr><td colspan="1" data-colwidth="59" rowspan="1">Vermögen

</td><td colspan="1" data-colwidth="1741" rowspan="1">Gesamtvermögen : Aktueller Wert des Depots + Liquidität

</td></tr></tbody></table>

</div></div>#### Gesamtbilanz

[![image-1656157109834.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157109834.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157109834.png)

<table data-number-column="false" id="bkmrk-bezeichnung-beschrei-0"><tbody><tr><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="152.23" rowspan="1">Bezeichnung

</th><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="660.93" rowspan="1">Beschreibung

</th></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Startkapital

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Durch die im Kontenformular und allen vorhandenen Transaktionen zurückgerechneter Startwert an Kapital. Der Startwert wird auf Jahresbasis und Gesamt unterschieden.

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Zeitraum und Anzahl Trades

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Seit der ersten eingetragenen Transaktion berechneter Zeitraum. Für Jahresergebnisse wird hier nach Möglichkeit (Transaktion vorhanden &lt; Aktuelles Jahr) der Neujahrstag als Stichtag verwendet.

In einer zweiten Zeile wird dabei die Anzahl der vorhandenen Trades angezeigt

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Realisierter Gewinn

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Durch Kauf/Verkauf von Wertpapieren realisierte Brutto-Gewinn

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Bankgebühren

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Angefallene Gebühren für Kauf / Verkauf der Wertpapiere. Die Gebühren werden dabei immer pro Transaktion gepflegt.

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Belastungen

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Summe der dem Zeitraum zuzuordnenden Belastungen wie Sollzinsen, Spesen usw.

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Erträge

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Summe der dem Zeitraum zuzuordnenden Erträge wie Habenzinsen.

</td></tr><tr><td colspan="1" data-colwidth="152.23" rowspan="1">Gewinn

</td><td colspan="1" data-colwidth="660.93" rowspan="1">Summe aus realisierten Gewinn - Bankgebühren + Erträge - Belastungen

</td></tr></tbody></table>

#### Kennzahlen<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Systemkennzahlen im Dashboard:

[![image-1656157143527.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157143527.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157143527.png)

<div class="pm-table-container " data-layout="full-width" id="bkmrk-indikator-beschreibu"><div class="pm-table-wrapper"><table data-number-column="false" style="width: 100%;"><colgroup><col style="width: 17.7858%;"></col><col style="width: 82.2135%;"></col></colgroup><tbody><tr><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="144.56" rowspan="1">Indikator

</th><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="1135.37" rowspan="1">Beschreibung

</th></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Verhältnis  
"Pay-Off-Ratio"

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Durchschnittlicher Gewinn / Durchschnittlicher Verlust. Die Häufigkeit spielt hierbei keine Rolle. Hohe Werte werden logischer Weise durch einen hohen durchschnittlichen Gewinn und einem niedrigen durchschnittlichen Verlust erreicht. Natürlich gibt ein Durchschnitt keine Auskunft über die Verteilung der Gewinne/Verluste. Ein hoher Einzelgewinn/-verlust kann hier zu einer Verzerrung führen. Werte &gt; 1 sind hierbei nicht verlustbringenden Systemen zwingend. Werden Gewinne tatsächlich laufen gelassen und Verluste begrenzt, sollten der Faktor bei &gt; 1.5 liegen. Dies ist aber natürlich von der Tradingmethode abhängig, da die Anzahl der Trades nicht beachtet wird und so bei kleinen Gewinnspannen dennoch zu einem hochprofitablen Handelssystem führen kann.

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Erwartungswert pro Trade  
"Profitfaktor"

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Profitfaktor: Stellt eine Erweiterung des Pay-Off-Ratio dar, durch die Einbeziehung der Häufigkeiten der Gewinntrades (cG) und der Verlusttrades (cV). Die Kennzahl ist so zu lesen wie der Wortklang, d.h. wieviel Gewinn ist pro eingesetztem € zu erwarten als Profit. Der Faktor stellt die Beziehung zwischen Gewinntrades und Verlusttrades dar. Profitable Systeme arbeiten mit Faktoren &gt;1. Hohe Profitfaktoren werden entsprechend der Formel durch eine hohe Anzahl von Gewinntrades sowie durch hohe Gewinnsummen /niedrige Verlusttradesummen (hoher Pay-Off-Ratio) erreicht. Der Profitfaktor allein gibt keinen Aufschluss über die Trading-Methode. Die Gewinnmatrix oder die zusätzliche Einzelbetrachtung des Pay-Off-Ratios und der Gewinnwahrscheinlichkeit entzerren die Kennzahl aber zur Analyse des Handelssystems.

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Gewinnwahrscheinlichkeit

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Anteil der Gewinntrades an der Gesamtanzahl von Trades. Die Höhe der Einzelgewinne sowie der Verlusttrades spielt hierbei keine Rolle. Gewinnwahrscheinlichkeiten &lt;50% können profitabel sein, wenn das System beispielsweise darauf ausgelegt sind wenige sehr profitable Trades abzuschließen, unter dem Risiko vieler kleiner Verlusttrades die sich als Fehlsignale herausstellten.

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Gewinntrades/Verlusttrades  
(Anzahl)

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Opportunität: Anderes Wort für Häufigkeit der Trades pro Jahr. Systeme mit kleinen Gewinnwahrscheinlichkeiten aber hohem Pay-Off-Ratio gelangen erst mit einer hohen Anzahl von Trades einen absoluten interessanten Gewinnwert. Diese Kennzahl gehört somit zwingend zu den Systemkennzahlen.

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Max. Verlust /

Closed Drawdown

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Maximaler Verlust für realisierte Trades auf Basis des aktuellen Kapitals

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Min. Verlust /   
Open Drawdown

</td><td colspan="1" data-colwidth="1135.37" rowspan="1">Maximaler Buchverlust auf Basis des aktuellen verfügbaren Kapitals

</td></tr><tr><td colspan="1" data-colwidth="144.56" rowspan="1">Durchschnitt Gewinn/Verlust

</td><td colspan="1" data-colwidth="1135.37" rowspan="1"></td></tr></tbody></table>

</div></div>Weitere Ableitungen, die aber nicht berechnet dargestellt werden:

<div class="pm-table-container " data-layout="wide" id="bkmrk-indikator-beschreibu-0"><div class="pm-table-wrapper"><table data-number-column="false" style="width: 100%;"><colgroup><col style="width: 17.1751%;"></col><col style="width: 82.8242%;"></col></colgroup><tbody><tr><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="143.56" rowspan="1">Indikator

</th><th aria-sort="none" class="ak-renderer-tableHeader-sortable-column" colspan="1" data-colwidth="691.78" rowspan="1">Beschreibung

</th></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">DDRL

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Faktor aus Profitfaktor und dem Verhältnis der Summen aus den Gewinntrades und Verlusttrades. Dieser Wert sollte hohe Beachtung finden, da er alle wichtigen Faktoren eines Handelssystems einschließt.

</td></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">Gewinnerwartung pro Trade/pro Jahr

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Die Gewinnerwartung berechnet sich auf Basis der Gewinnmatrix. Kurz beschreibt Sie den zu erwartenden Gewinn im Verhältnis zum eingegangenen Risiko (Verlust). Die Erwartungen werden daher im als Faktor des Risikos angegeben. Das Risiko wird dabei normiert auf einen Faktor von 100€. Dieser wird in Klammern angegeben. Somit lassen sich auch konkreten Gewinnziele in € ermitteln. In diesem Beispiel sind es 23.4R d.h. 23.4 x 200€ = 4680€ pro Jahr. Weitere Details zu diesem Thema finden SIe unter Gewinnmatrix. Ein Mausklick auf die Kennzahl öffnet dabei automatisch die Gewinnmatrix im Hauptfenster. Eine Prüfung der Details ist effizient möglich.

</td></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">Kapitaleinsatz pro Trade

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Prozentuale Positionsgröße pro Trade im Verhältnis zum verfügbaren Kapital.

</td></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">Volatilität

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Standardabweichung des Depots bzw. Schwankungsbreite = Risikobreite des Depots. Das Depot sollte aus Risikoüberlegungen eine möglichst geringe Volatilität aufweisen. Dies wird durch eine sinnvolle Positionsgrößenbestimmung sowie dem sinnvollen Einsatz von Money Management - Techniken erreicht.

</td></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">Sharpe Ratio

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Gibt die Überschussrendite pro Risikoeinheit an. Als Risiko wird hier die Volatilität betrachtet und somit die Schwankungsbreite der Depotbewegung.

</td></tr><tr><td colspan="1" data-colwidth="143.56" rowspan="1">Compound Return (Jahresrendite)

</td><td colspan="1" data-colwidth="691.78" rowspan="1">Heruntergerechnete Jahresrendite p.a. seit Bestehen des Depots (erste Transaktion). Die Werte erscheinen einem manchmal sehr gering, sind aber durch den Zins-Zinseszins-Effekt entsprechend realistisch zu betrachten. Das Tagesgeldkonto bringt beispielsweise zurzeit (04.2005) 2.6%. Eine gute Erwartungshaltung wäre eine Rendite im Schnitt von ca. 8% p.a.

</td></tr></tbody></table>

</div></div>Es gibt eine Reihe von Möglichkeiten das Depot zusätzlich auszuwerten:

- [Auswertungsgrafiken - und Matrizen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605516 "/wiki/spaces/SHARPUB/pages/1605516")

## Arbeitsschritte<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

- Erstellen eines neuen Portfolios
- Depotkonten einstellen: Sie sollten am Anfang zunächst Ihre Konten hinterlegen bzw. die vorkonfigurierten Kontoeinstellungen aktualisieren. Hierzu finden Sie in der Haupt-Symbolleiste die Funktion "Konten". In der Depotansicht finden Sie Tabs für alle Depotkonten, die mindestens eine ausgezeichnete Transaktion "nachzuweisen" haben. Eine eingerichtete Kontonummer spielt hierbei erstmal keine Rolle im Gegensatz zum Cashbestand. Konten ohne Bestand werden nicht gelistet.
- Verwaltung/ Transaktionseingabe
    
    
    - siehe [Transaktionseingaben](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605505 "/wiki/spaces/SHARPUB/pages/1605505")
    - siehe [Transaktionsliste](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1179517 "/wiki/spaces/SHARPUB/pages/1179517")

## Hinweise<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

### Depot mit aktuellen Kursdaten aktualisieren<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Die Aktualisierung der Kursdaten für die Depotwerte kann, losgelöst von einer filterspezifischen Aktualisierung, jederzeit direkt erfolgen über Tai-Pan® oder Internet. Hierzu sind die Buttons "Tagesdaten" und Historische Daten (EOD) vorhanden. Es wird so in der Handhabung eine schnelle und zielgerichtete Aktualisierung des aktuellen Depotstandes möglich. Eine filterspezifische Aktualisierung (Hauptmenü.Aktualisieren.Internet.Filter) erlaubt daneben, ebenfalls eine Aktualisierungsauswahl beispielsweise auf Depotwerte, Watchlisten und Märkte. Diese Aktualisierungsform hat die Besonderheit, dass diese zeitgesteuert automatisch wiederholte Aktualisierungen vornehmen kann.

Echtzeitkurse wird immer als Button gezeigt, kann aber nur auf Systemen mit Tai-Pan RT genutzt werden.

### Löschen eines vorhandenen Depots<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Unter dem Hauptmenü.Löschen kann ein vorhandenes Depot gelöscht werden. Hierbei wird unter SHAREholder\\Daten das aktuelle Depot (\*.Depot) als Datei gelöscht.

### Bilanzierung von Nicht-Euro-Werten / Auslandswerten<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Das Thema wird dann relevant, wenn Auslandswerte in einer Nicht-Depotwährung gekauft werden und über das Depot verwaltet werden. Die Standarddepotwährung ist Euro. Wird über ein Fremdwährungskonto ein Titel in einer Fremdwährung gekauft so ist folgendes Prinzip vorgesehen:

Auslandstitel (hier CISCO in US$) werden im Kaufkurs, im aktuellen Kurs und im Stoppkurs in der Ursprungswährung angezeigt. Das Währungskürzel wird hierbei nur für Titel ungleich der Depotwährung angezeigt. Das Währungskürzel selbst ist der Kurzname der hinterlegten Währung in den Stammdaten.

Im Depot werden die Wertberechnungen umgerechnet über die Kursdaten der verbundenen Währung, d.h. Währungsschwankungen wirken sich direkt auf den Depotwert aus. Gewinnberechnungen für das Depot werden so realistisch möglich auf Basis eines umgerechneten Kurswertes.

Damit ein Titel als Auslandstitel erkannt wird, muss dieser einem Markt zugeordnet sein, dessen Einstellungen direkt auf eine Auslandswährung zeigen. Hier ein Beispiel für die Nasdaq100 Marktliste. Entscheidend ist die Zuordnung des Marktes in der Auswahlbox "Währung".

Währungen werden wie alle anderen Titel als Stammdatenwerte verwaltet, mit der Besonderheit der Marktzuordnung und dessen Anlagetyp "Devisen". In der Währungsliste stehen genau diese Titel zur Auswahl und können beliebig erweitert werden.

### Besonderheiten für Zertifikate und Optionsscheine<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Werden Zertifikate oder Optionsscheine genutzt, so existieren für diese Titel zugrundeliegende Basistitel. Für ein CALL TecDAX ist dies natürlich der TecDAX selbst. Innerhalb von Depots ist es dann in der Praxis interessant, die Entwicklung des Basistitels ebenfalls wie die Option/Zertifikat "hautnah" zu verfolgen. Dies wird erreicht, indem der Basistitel unterhalb des Depottitels "aufklappbar" eingeblendet wird. Die Funktionen für den Basistitel hierbei entsprechen vollständig den normalen Depotfunktionen:

- Selektive Kursdatenaktualisierung mit Strg-F5
- Direktzugriff auf den Chart (Mausklick auf das Chartsymbol)
- Direktzugriff auf News (Mausklick auf das News-Symbol)
- Direktzugriff auf das Profil (Mausklick auf das Profil-Symbol)
- Anzeige des Tages-Candle
- Anzeige des letzten Kurses
- Zugriff auf die Stammdaten mit Doppelklick auf die Zeile
- Weitere Funktionen über das Kontextmenü

Um die Arbeit mit OS/Zertifikaten weiter zu erleichtern sind kleine Besonderheiten eingearbeitet:

- Depotaktualisierungen berücksichtigen die Basistitel
- In der Spalte "Stk" wird das Bezugsverhältnis ausgegeben (muss natürlich in den Stammdaten der Option gepflegt sein)

Voraussetzungen

- Wird kein Basistitel eingeblendet, muss die notwendige Zuordnung in den Stammdaten (Optionsscheindaten / Basiswert (ISIN))nochmals geprüft werden und evtl. per Hand nachgetragen werden. Um in die Stammdaten zu kommen klicken Sie einfach den OS-Titel doppelt an.

## Einstellungen<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

### Personalisierung<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

- Anpassung der Schriftform/-farbe/-größe über das Hauptmenü Einstellungen / Anzeige
- Anpassung der gezeigten Spalten, sowie deren Reihenfolge/-breite möglich durch
    
    
    - Drag &amp; Drop der Spalten in der Anzeige
    - Rechte Maustaste auf die Spaltenleiste zeigt ein Spalten-Konfigurationsmenü
    - Wird die Maus zwischen zwei Spalten geführt, verändert sich der Mauscursor zu einem |. Es kann dann mit Drücken &amp; Ziehen der linken Maustaste die Spaltenbreite verändert werden.
- Fensterbreiten und Position werden gespeichert

# Kontenverwaltung

## Verwaltung von Depots

In SHAREholder können mehrere User-Depots verwaltet werden. Jedes Depot kann mehrere Depotkonten haben wie Consors, Flatex, DiBa, Sparkasse usw. Alle Anzeigen und Einstellungen beziehen sich immer auf die aktuelle User-Depotdatei. Die Überlagerung von Entwicklungen unterschiedlicher User-Depots ist zum aktuellen Zeitpunkt nicht automatisch möglich.

Um ein neues User-Depot anzulegen, finden Sie im Hauptmenü unter Depot / Neu einen entsprechenden Menüpunkt.

- Depotdateien werden mit der Endung ".Depot2" im Datenverzeichnis von SHAREholder abgelegt. So hat beispielsweise das Musterdepot den Namen "Musterdepot.Depot2".
- Das Depot kann durch ein Passwort geschützt werden und führt dazu, dass bei jedem Laden/Maximieren von SHAREholder das Kennwort abgefragt wird.
- Welches User-Depot beim Programmstart geladen wird, ist über das Hauptmenü.Einstellungen.Standarddepot festzulegen.

## Anzeige und Einstellungen Depotkonten

Sie gelangen zur Kontenverwaltung über die Toolbar "Konten" oder über das Hauptmenü Einstellungen / Konten.

[![image-1655627514043.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627514043.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627514043.png)

### Kontenliste

Um ein weiteres Konto anzulegen muss auf der rechten Seite der Button "Hinzufügen" gewählt werden, danach ist sofort der Name des Kontos erfragt. Anschließend sind die Detaildaten einzupflegen.

[![image-1655627518793.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627518793.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627518793.png)

### Kontobestand

Intern wird ein sogenanntes Startkapital gespeichert. Da dieser Wert vom User aber nur sehr schwer kontrolliert werden kann, ist die Eingabe eines Kontobestandes möglich, der den internen Cashbestand des Kontos widerspiegelt. Der Anfangsbestand wird nach Neueingabe intern neu zurückgerechnet.

[![image-1655627526698.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627526698.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627526698.png)

### Unterstützte Börsenplätze

Um für den Kontenvergleich eine Datenbasis für die unterstützten Börsenplätze zu haben, kann pro Konto eine entsprechende Zuordnungsliste gepflegt werden. Die Börsenplätze selbst werden über Einstellungen / Börsen selbst gepflegt und sind anpassbar.

[![image-1655627535824.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627535824.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627535824.png)

### Unterstützte Fonds und ETF-Anbieter des Brokers

Ebenfalls für den Kontenvergleich kann die Liste der ETFS und der Fonds manuell gepflegt werden. Innerhalb von Detail-Listen kann hierzu ein Titel zugeordnet werden:

[![image-1655627541528.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627541528.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627541528.png)

Durch einen einfachen Match-Vergleich kann so im Kontenvergleich unter Konten angezeigt werden, ob eine vergangener Trade in der Simulation so nicht unterstützt wird.

[![image-1655627546545.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627546545.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627546545.png)

### Währung

Für eine spätere Version ist die Führung von Auslandskonten vorgesehen.

Die Funktion wird in Kürze zur Verfügung stehen. Es können aktuell aber praktisch nur über die Programm-Einstellungen eine Zentral-Währung hinterlegt werden

### Gebührenmodell des Kontos

In SHAREholder werden im Transaktionseingabeformular die Gebühren automatisch nach der Wertsumme, Gebührenmodell und dem Handelsplatz (für die Courtage) berechnet. Um diese Berechnungen durchführen zu können, müssen für das verwendete Konto das Gebührenmodell bekannt sein.

Um sowohl komplizierte Modelle als auch ein Standardmodell abzubilden, gibt es praktisch ein definiertes Standardmodell und die Option auf Basis des Standardmodell vollständig programatische Berechnungen durchzuführen, die praktisch beliebig komplex sein können.

#### Default-Gebühren-Modell (einfaches Stufenmodell)

Die Speicherung des Gebührenmodells erfolgt immer im Staffelgebührenmodell mit Mindestprovision und Grundgebühren. Sollte das eigentlichen Modell davon abweichen, so ist leider eine manuelle Transformation vorzunehmen.

Staffelgebührenmodell bedeutet dabei, dass Wertgruppen (Von-Bis) gebildet werden mit zugehörigem Staffelprozenten. Die Prozentangaben erfolgen dabei mit Prozent/100. Der Wertebereich liegt damit zwischen 0 bis 1.

Bei den Provisionsmodell sind nur die festen Gruppen (FAX, Internet und Telefon) zulässig. Die Eingaben des Provisionsmodells erfolgen fürs Inland und Ausland getrennt. Hierzu die zugehörigen Reiter am oberen Formularrand wählen.

Die Gebührenberechnung erfolgt dabei nach folgendem Modell:

- (Internet|Telefon|Fax).Grundgebühr + Staffelprovision.Prozent
- Prüfung der Mindest/Maximalprovision auf Basis der passenden Staffelprovision
- Prüfung der (Internet|Telefon|Fax).Mindestprovision

[![image-1655627553296.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627553296.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627553296.png)

In diesem Beispiel von DeGiro wird einfach bis 500T€ eine Provision von 0,018 berechnet bei einer Grundgebühr von 2€ für Inlandspositionen.

#### Dynamisches Modell

[![image-1655627558197.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627558197.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627558197.png)

Um die Funktionsweise zu erklären hier einfach mit Kommentaren eine Beispiel-Lösung für DeGiro. Wichtig ist hier für den ersten Überblick, dass das Modell praktisch über programmierbare Funktionen vom Nutzer arbeitet. Dabei wird als Parameter immer ein pDefault-Wert übergeben, der weiterverwendet werden kann und aus dem Default-Gebühren-Modell sich ableitet. Damit ist es nicht eine entweder oder Entscheidung, sondern das einfache Gebührenmodell kann benutzt werden, soweit es SInn macht und dann ergänzt werden.

Bei der Programmierung werden praktisch 4 Kernfunktionen beschrieben:

- function getAccountFeePerYear( pDefault: Double; pAccount: TAccount; pTransactionHistory: TTransactions) : Double;
- function getTransactionFee( pDefault: Double; pAccount: TAccount; pTransaction: TTransaction; pTransactionHistory: TTransactions; pStock: TStock; pAsset: TAsset; pExchange: TStockExchange): Double;
- function getTotalCosts( pDefault: Double; pAccount: TAccount; pTransactionHistory: TTransactions): Double;
- function isSupportedStock( pDefault: Boolean; pStock: TStock; pAsset: TAsset ): Boolean;

Alle Funktionen werden für den automatischen Konto-Vergleich benutzt. Die Funktion "GetTransactionFee" auch in der Transaktionseingabe d.h. auch hier kann vollautomatisch eine saubere Transaktions-Gebühr berechnet werden.

[![image-1655627564848.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627564848.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627564848.png)

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="d34e4432-ad11-49bf-951b-9b7e425a2ef2" data-macro-name="code" id="bkmrk--17"><div class="syntaxhighlighter sh-confluence nogutter  delphi">  
</div></div>```PASCAL
(* DeGiro Basis-Daten
 
- Keine Depotführungsgebühren
- DE: Xetra: 2€ + 0,018% (Aktien)
- DE: Frankfurt: 7,5 + 0,09% (Aktien)
- US-Aktien handeln für 0,50 EURO + 0,004 USD je Aktie (Aktien)
- ETFs weltweit: 2€ + 0,03%
- U.a. Aktien, Futures, Anleihen und Optionen handelbar
*)
 
(* Berechnung der Depotgebühren. Wird der pDefault-Wert übernommen, dann wird 0 zurückgegeben *)
function getAccountFeePerYear( pDefault: Double; pAccount: TAccount;
pTransactionHistory: TTransactions) : Double;
begin
  Result:=pDefault;
end;
 
(* Berechnung der Depotgebühren. Wird der pDefault-Wert übernommen, dann werden die Einstellungen aus
   dem Inland/Ausland- Reiter verwendet *)
 
function getTransactionFee( pDefault: Double; pAccount: TAccount; pTransaction: TTransaction;
pTransactionHistory: TTransactions; pStock: TStock; pAsset: TAsset; pExchange: TStockExchange): Double;
begin
  // Default für Deutsche Aktien über den Default berechnen (Xetra-Modell)
  Result:=pDefault;
 
  if (pExchange.Name='D:Frankfurt') and (pStock.AssetType='Aktien') then
    Result:=7.5+pTransaction.Amount*pTransaction.Rate*0.09;
 
  // US-Aktien hier gesondert behandeln
  if (pStock.CurrencyShortname='$') and (pStock.Country='USA') and (pStock.AssetType='Aktien') then
    Result:=0.5+0.004*pTransaction.Amount;
 
  if (pStock.AssetType='ETF') then
     Result:=2+pTransaction.Amount*pTransaction.Rate*0.03;
end;
 
(* Berechnung der Gesamtgebühren für ein Jahr. Wird der pDefault-Wert übernommen wird die Summe aus
   allen Einzel-Transaktionskosten plus die Depotgebühr für 1 Jahr zurückgegeben *)
 
function getTotalCosts( pDefault: Double; pAccount: TAccount;
pTransactionHistory: TTransactions): Double;
begin
  Result:=pDefault;
end;
 
(* Nicht alle Broker/Banken unterstützen jeden Titel. Dies kann hier sogar programatisch festgelegt werden und so
   für automatische Filterungen der nutzbaren Konten nach Titelauswahl genutzt werden und für den Kontenvergleich-Simulation,
   um zu prüfen, ob mit dem Konto überhaupt alle Titel der Simulation unterstützt werden können *)
 
function isSupportedStock( pDefault: Boolean; pStock: TStock; pAsset: TAsset ): Boolean;
begin
  Result:=pDefault;
end;
```

#####   


##### Code-Vervollständigung

Während der Eingabe können Sie dabei verschiedene Komfortfunktionen nutzen wie z.B. Code-Vervollständigung. Diese kann mit Strg+Leertaste jederzeit aufgerufen werden. Starten Sie dabei die Eingabe einfach mit p\* und Erhalten so die registrierten Kern-Objekte für die Berechnung z.B. für getAccountFeePerYear:

<div class="table-wrap" id="bkmrk-objekt-beschreibung-"><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Objekt: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Objekt</div></th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">pAccount: TAccount</td><td class="confluenceTd">Zugriff auf die Stammdaten des aktuellen Kontos, um daraus Berechnungen abzuleiten</td></tr><tr role="row"><td class="confluenceTd">pDefault</td><td class="confluenceTd">Standard-Wert für die Gebühr</td></tr><tr role="row"><td class="confluenceTd" colspan="1">pTransactionHistory: TTransaction</td><td class="confluenceTd" colspan="1">Liste aller Transaktionen des Kontos. Es liegt hier noch keine Vorfilterung für das Jahr vor, so dass dies separat gefiltert werden sollte.</td></tr></tbody></table>

</div></div>[![image-1655627575030.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627575030.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627575030.png)

# Broker und Konten-Vergleich

[![image-1655627593657.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627593657.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627593657.png)

Es gibt im Netz sehr schön Broker und Kontenvergleichs-Listen. SHAREholder kann hier einen deutlichen Mehrwert liefern durch tatsächlich simulierte Kosten-Darstellungen auf Basis aller bisherigen Transaktionen des aktuellen Portfolios und durch die Simulation der Transaktionsausführung auf den anderen Brokern. Daneben ist der Kontovergleich von Ihnen selbst pflegbar und erweiterbar und nicht durch Marketing und Vertrieb motiviert. Es soll ein echter objektiver Vergleich mit nachvollziehbaren Informationen durchführen.

Für einen Vergleich müssen verschiedene Themen berücksichtigt werden. Die Anforderung und die zugehörige Umsetzung sind nachfolgend dargestellt:

<div class="table-wrap" id="bkmrk-anforderung-berechnu"><table class="relative-table confluenceTable" style="width: 100%; height: 2087.39px;"><tbody><tr style="height: 29.7869px;"><th class="confluenceTh" style="width: 29.1246%; height: 29.7869px;">Anforderung</th><th class="confluenceTh" style="width: 23.5111%; height: 29.7869px;">Berechnungsgrundlage</th><th class="confluenceTh" style="width: 47.2415%; height: 29.7869px;">Darstellung</th></tr><tr style="height: 46.5909px;"><th class="confluenceTh" colspan="1" style="width: 29.1246%; height: 46.5909px;">Dynamische Berechnungen auf Basis einer Simulation</th><th class="confluenceTh" colspan="1" style="width: 23.5111%; height: 46.5909px;">  
</th><th class="confluenceTh" colspan="1" style="width: 47.2415%; height: 46.5909px;">  
</th></tr><tr style="height: 612.358px;"><td class="confluenceTd" style="width: 29.1246%; height: 612.358px;">Gesamt-Gebühren pro Jahr

</td><td class="confluenceTd" style="width: 23.5111%; height: 612.358px;">Simulation auf Basis der im aktuellen Portfolio vorhandenen Transaktionen und Gesamt-Gebührenberechnung</td><td class="confluenceTd" rowspan="2" style="width: 47.2415%; height: 737.344px;">[![image-1655627600602.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627600602.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627600602.png)

</td></tr><tr style="height: 124.986px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 124.986px;">Gesamt-Kostenstruktur bei Beachtung von zeitlich begrenzten "Rabattierungen" und auch Sparplan-Angeboten für bestimmte Titel/Anbieter

</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 124.986px;">Simulation auf Basis der im aktuellen Portfolio vorhandenen Transaktionen und Einzel-Gebührenberechnung</td></tr><tr style="height: 385.412px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 385.412px;">Kann das Konto überhaupt alle Titel handelbar abdecken, die bisher gehandelt werden sind</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 385.412px;">Simulation auf Basis der im aktuellen Portfolio vorhandenen Transaktionen.</td><td class="confluenceTd" colspan="1" style="width: 47.2415%; height: 385.412px;">[![image-1655627605572.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627605572.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627605572.png)

Es erscheint eine rote Hand, wenn nicht alle Positionen auf dem Konto abgebildet werden können. Die Prüfung erfolgt hier über die eingestellten unterstützen Asset-Klassen sowie der dynamischen Berechnungsfunktion "isSupportedTitle"

</td></tr><tr style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="width: 29.1246%; height: 29.7869px;">Hinterlegte Stammdaten</th><th class="confluenceTh" colspan="1" style="width: 23.5111%; height: 29.7869px;">  
</th><th class="confluenceTh" colspan="1" style="width: 47.2415%; height: 29.7869px;">  
</th></tr><tr style="height: 328.011px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 328.011px;">Angebot und Umfang von sparplanfähigen Titeln

</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 328.011px;">Stammdaten-Einstellungen des Kontos</td><td class="confluenceTd" colspan="1" style="width: 47.2415%; height: 328.011px;">[![image-1655627610833.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627610833.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627610833.png)

Die Daten werden aus den Konfigurationseinstellungen der Konto-Stammdaten ausgewertet und hier aufbereitet.

</td></tr><tr style="height: 102.585px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 102.585px;">Einlagen-Sicherung, um die Absicherung der eigenen Anlage sicherzustellen

</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 102.585px;">Stammdaten-Einstellungen des Kontos</td><td class="confluenceTd" colspan="1" style="width: 47.2415%; height: 102.585px;">[![image-1655627616867.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627616867.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627616867.png)

Die Information wird als Wert aus den Kontoeinstellungen übernommen.

</td></tr><tr style="height: 46.5909px;"><th class="confluenceTh" colspan="1" style="width: 29.1246%; height: 46.5909px;">Weitere spezielle Konto-Infos aus Sicht der Nutzung in ShareHolder</th><th class="confluenceTh" colspan="1" style="width: 23.5111%; height: 46.5909px;">  
</th><th class="confluenceTh" colspan="1" style="width: 47.2415%; height: 46.5909px;">  
</th></tr><tr style="height: 80.1847px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 80.1847px;">Daten-Import von Konto/Transaktionsbewegungen in SHAREholder möglich

</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 80.1847px;">Stammdaten-Einstellungen des Kontos</td><td class="confluenceTd" rowspan="3" style="width: 47.2415%; height: 209.702px;">[![image-1655627622041.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627622041.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627622041.png)

</td></tr><tr style="height: 49.3182px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 49.3182px;">Konto aktuell benutzt

</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 49.3182px;">Prüfung der aktuell offenen Positionen</td></tr><tr style="height: 80.1989px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 80.1989px;">Info-Weblink vorhanden</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 80.1989px;">Weitere Informationen per Klick abrufbar konfiguriert über die Stammdaten des Kontos</td></tr><tr style="height: 46.5909px;"><th class="confluenceTh" colspan="1" style="width: 29.1246%; height: 46.5909px;">Weitere Anforderungen und Hinweise</th><th class="confluenceTh" colspan="1" style="width: 23.5111%; height: 46.5909px;">  
</th><th class="confluenceTh" colspan="1" style="width: 47.2415%; height: 46.5909px;">  
</th></tr><tr style="height: 124.986px;"><td class="confluenceTd" colspan="1" style="width: 29.1246%; height: 124.986px;">Die Darstellung in der Vergleichsliste erfolgt dabei gruppiert nach Art des Kontos, damit die Lesbarkeit erhalten bleibt.</td><td class="confluenceTd" colspan="1" style="width: 23.5111%; height: 124.986px;">-</td><td class="confluenceTd" colspan="1" style="width: 47.2415%; height: 124.986px;">Die Gruppierungs-Spalte wird in den Details für den Kontenvergleich festgelegt pro Konto:

[![image-1655627628226.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627628226.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627628226.png)

</td></tr></tbody></table>

</div>Die Ausgangsdaten werden unregelmäßig pro Quartal von mir gepflegt, erheben aber keinen Anspruch auf Vollständigkeit und Richtigkeit. Bitte prüfen und hinterfragen Sie die Initial-Werte sorgfältig!

# Transaktionsliste

## Anzeige

Die Transaktionliste / Auftragsliste bildet die Grundlage für die komplette Depotverwaltung. Die Einteilung der Transaktionen erfolgt hierbei unter

- einer zeitlichen und
- inhaltlichen Gruppierung.

Zunächst erfolgt die Zuordnung jeder Transaktion in zeitliche Jahr/Monat-Gruppen, danach die Einteilung in die Gruppen Transaktionen, Erträge und Belastungen sowie Vermögensumsätze (Ein/Auszahlungen).

Die Transaktionsliste zeigt auch den durch die Transaktionen realisierten Gewinn/Verlust an insb. des zu versteuernden Gewinns. Hierbei gilt jedoch die Besonderheit, dass aus Performancegründen diese Angaben erst nach Verlassen der Liste oder durch eine manuell erzwungene Depotberechnung (Hauptmenüpunkt "Depot Aktualisieren" oder gleich Funktionstaste &lt;F5&gt;) aktualisiert werden.

### Filtermöglichkeit

[![image-1655627653859.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627653859.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627653859.png)

Über die Headline kann mittels Klicks auf die "Punkte ..." eine Filtereingabe aktiviert werden. Diese steht z.B. für die Bezeichnung, ISIN, Typ, Depot, Börse zur Verfügung. Die Eingabe muss anschließend mit &lt;Enter&gt; abgeschlossen werden. Der Filter wird durch Entfernen der Eingabe (nochmals über Punkte das Eingabefeld aktivieren) wieder deaktiviert. Es können dabei mehrere Filter parallel genutzt werden.

### Kommentare/Entscheidungsgrundlagen

Jede Transaktion kann mit einer Entscheidungsgrundlage und einem Kommentar in der Transaktionsmaske versehen werden. Beide Felder werden in der Transaktionsübersicht angezeigt und können helfen Entscheidungen zum Zeitpunkt der Entscheidung und auch nachträglich zu überprüfen. Das eigene Handelssystem kann so systematisch mit Orderklassifizierungen (Entscheidungsgrundlage + Notiz) jederzeit geprüft werden.

[![image-1655627658659.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627658659.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627658659.png)

Die Entscheidungen und die zugehörigen Auswertungen können dabei auch separat in der Entscheidungsmatrix gegenübergestellt werden:

[![image-1655627663426.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627663426.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627663426.png)

## Arbeitsschritte

### Hinzufügen von Transaktionen oder Kontobewegungen

Das Programm unterscheidet grundsätzlich zwischen Transaktionen, Erträgen (z.B. Dividenen), Belastungen (z.B. Steuerzahlungen) und Vermögensumsätzen als Kontobewegungen. Damit wird auch eine feste Struktur in der Transaktionsliste genutzt, die pro Jahr / Monat jeweils aufgelistet wird.

[![image-1655627668845.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627668845.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627668845.png)

Neue Einträge werden über das Kontextmenü "Kaufen/Verkaufen" hinzugefügt. Dabei ist es entscheidend an welcher Position sich die Markierung innerhalb der Baumstruktur befindet d.h. auf Transaktionen, Erträge etc. Die Zeitebene (Jahr/Monat) ist dabei nachgelagert für neue Einträge, da dies in der Transaktionseingabe ohnehin angepasst wird. Um neue Erträge oder Belastungen in die Liste aufnehmen zu können, muß die Markierung auf dem zugehörigen Knotenpunkt "Erträge" bzw. "Belastungen" stehen.  
  
Da Kauf/Verkaufsentscheidungen oftmals in einem Kontext stehen zu geöffneten Ansichten, ist der Kauf/Verkauf von Positionen ebenfalls aus der Depotansicht, Watchliste oder in den Detail-Listen mit Hilfe des Kontextmenüs möglich. Dabei sind auch entsprechende Tastatur-Abkürzungen abgebildet, um die Eingaben zu beschleunigen.

[![image-1655627673452.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627673452.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627673452.png)

Alternativ kann auch einfach über die Toolbar Kauf/Verkaufen gewählt werden:

[![image-1655627678213.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627678213.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627678213.png)

### Ändern von Einträgen

Um Änderungen an einem bereits vorgenommenen Eintrag vorzunehmen, ist lediglich ein **Doppelklick** auf die zugehörige Position zu machen. Danach wird das Eingabeformular für Transaktionen geöffnet.

### Löschen von Transaktionen und Kontobewegungen

Hierzu **ein oder mehrere Eintrag mit gedrückter STRG-Taste** innerhalb der Transaktionsliste markieren und danach das Kontextmenü öffen (Tastenkürzel : "Strg-Entf").  
Wenn Sie dabei systematisch Einträge löschen wollen z.B. alle zu einem Konto, dann können Sie einfach die Filterungsfunktion nutzen:

[![image-1655627683297.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627683297.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627683297.png)

### Teilausführungen von Transaktionen verdichten

Die Verdichtungsfunktion erlaubt bei Teilausführungen von Aufträgen eine Zusammenfassung dieser zu einer Transaktion. Verdichtet werden hierbei die Gebühren, Anzahl und der Kaufkurs (als gewichteter Durchschnittskurs). Zur Verdichtung müssen die entsprechenden Transaktionen im Baum NICHT markiert werden, da alle möglichen Verdichtungen hintereinander hinterfragt werden. Die Verdichtung kann ohne weiteren Rückfragen nach der ersten Rückfarge mit "Alle Ja" ausgeführt werden.

### Neuzuordnung einer ISIN

Da über Jahrzehnte durch Kapitalerhöhungen, Fusionen usw. Werte neue ISIN zugeteilt bekommen können, ist es möglich Papiere in Ihren Zuordnungen zu einer WKN neu zu strukturieren. Bei der Neuzuordnung werden alle vorhandenen Transaktionen mit einer Zuordnung zur alten ISIN auf die neue ISIN zugeordnet. Eine vorhergehende Markierung der betroffenen Titel ist nicht notwendig.

# Transaktionseingaben

## Grundsätze

Im den Eingabemasken sind einige Felder automatisch berechnet auf Basis von Money Management, Depotkonten-Daten usw. Diese automatische Belegung wird jedoch verhindert, wenn bereits eine manuelle Eingabe erfolgte. Die Felder werden dann in Hellblau hinterlegt.

## Arbeitsschritte

### Auswahl eines Titels

siehe auch [Transaktionsliste](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Transaktionsliste&linkCreation=true&fromPageId=1605505)

[![image-1655627709701.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627709701.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627709701.png)

Sie können sich in den nachfolgenden Arbeitsschritten die Auswahl des Titels ersparen, wenn Sie in bereits zuvor geöffneten Listen z.B. innerhalb von Watchlisten, über das Kontextmenü (r.Maustaste nach Selektion des Titels) die Funktion "Kaufen" wählen.

Sollten Sie keine vorherige Selektion vornehmen können, so müssen Sie nun zunächst ein Titel suchen insb. mittels ISIN, WKN, Marktsegment oder Name.  
Hierbei wird eine automatische intelligente Suche verwendet d.h. es wird in allen Titeln nach (Teil-)Übereinstimmung gesucht. Die Ergebnisse werden mit Highlighting aufbereitet. Sie müssen dann nur noch den gewünschten Titel auswählen.

[![image-1655627715745.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627715745.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627715745.png)

Hierzu kann im Titel-Feld der Name oder die ISIN eingegeben werden und mitbestätigt werden. Es wird in der Ergebnisliste eine Liste der passenden Titel gezeigt. Kann nur ein Titel identifiziert werden, wird dieser für alle nachfolgenden Schritte automatisch selektiert. In allen anderen Fällen muss manuell auf der Suchergebnisliste der passende Titel selektiert werden.

Auszuwählende Titel sollten bereits existieren innerhalb der Stammdaten / Marktlisten, bevor ein Auftrag für diesen Titel eingegeben werden sollte. Hierzu ist in den Marktlisten in der Symbolleiste "Neuer Titel" auszuwählen. Es gibt als Alternative einen automatischen Import von Titeln über Onvista/Tai-Pan EOD/Tai-Pan RT. Dieser funktioniert für OnVista allerdings zur Zeit insb. für Fonds nicht immer. Bitte geben Sie daher im Standard die Titel zuvor ein!

[![image-1655627724513.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627724513.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627724513.png)

<div class="table-wrap" id="bkmrk-feld-beschreibung-is"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 12.3575%;"></col><col style="width: 87.6418%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Feld

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">ISIN/WKN oder Name</td><td class="confluenceTd" colspan="1">Geben Sie hier die eindeutige ISIN, WKN oder Name ein und schließe diese mit &lt;Tab&gt; oder &lt;Enter&gt; ab. Insb. bei der Namenseingabe wird nicht immer sofort eine eindeutige Zuordnung möglich sein. Bitte in diesem Fall aus der dann angezeigten Auswahlliste den passenden Titel auswählen. Bitte beachten Sie, dass die Titel z.B. Daimler´F für den Titel in Frankfurt steht. Andere gültige Abkürzungen sind: `N: Nasdaq, ´B: Berlin, `X: Xetra; `F: Frankfurt, `S: Stuttgart. Ist die Zuordnung sofort eindeutig, so muss keine gesonderte Auswahl aus der Auswahlliste getroffen werden und es können umgehend alle weiteren Eingaben vorgenommen werden.</td></tr><tr role="row"><td class="confluenceTd">Datum

</td><td class="confluenceTd">Bitte geben Sie hier den Kauf/Verkaufszeitpunkt ein. Das Datum wird intern für die Sortierung der Ausführung von Aufträgen genutzt. Achten Sie bitte daher bei taggleichen Aufträgen daher auf die Uhrzeit, so dass die Verkaufszeitpunkte nach den zugehörigen Kaufzeitpunkten aufgenommen werden!

</td></tr><tr role="row"><td class="confluenceTd">Kursupdate

</td><td class="confluenceTd">Nur wenn die Checkbox aktiviert wird, wird versucht ein Kurswert für die angegebene Datumswert zu suchen.

</td></tr><tr role="row"><td class="confluenceTd">Transaktions-Kurs

</td><td class="confluenceTd">Konkreter Kurswert für den Kauf/Verkauf des Titels

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Ausgeführt/Offen</td><td class="confluenceTd" colspan="1">Da insb. für Stopp-Buy/Sell-Aufträge die Daten nur vorläufig sind, kann hier gesondert die Kennzeichnung erfolgen mit Offen oder Ausgeführt. Offene Aufträge werden auch im Depot gezeigt, diese fließen aber nicht in Gewinnberechnungen ein und werden auch als vorläufig gekennzeichnet. Zusammen mit der Ordernummer, kann damit ein Tracking aller Aufträge erfolgen</td></tr><tr role="row"><td class="confluenceTd">Börse

</td><td class="confluenceTd">Für die Gebührenberechnung (siehe Einstellungen / Börse) kann die Courtage berücksichtigt werden. Hierzu ist die entsprechende Eingabe der Börse notwendig. Eine Veränderung des Felder bewirkt somit eine Aktualisierung des Gebührensfeldes.

</td></tr><tr role="row"><td class="confluenceTd">Depot

</td><td class="confluenceTd">Auswahl des zu verwendenden Depots. In Klammern wird die vorhandene Liqudität beschrieben. Diese kann über Einzahlungen aus der Transaktionsliste (Kontextmenü - Einzahlung) oder über Einstellungen / Konten direkt verändert werden. Die Auswahl hat direkte Auswirkungen auf die vorgeschlagene Stückanzahl für den Trade. Vorraussetzung hierfür ist natürlich, dass der Wert für Stücke noch nicht überschrieben worden ist. Auch das Gebührenfeld wird durch die Auswahl natürlich verändert.

In Klammern (hier 270€) wird der aktuell noch vorhandene Liquidität angezeigt.  
  
Es werden dabei nur Konten angezeigt, die auch "aktiviert" sind in der Kontenverwaltung:

[![image-1655627743800.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627743800.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627743800.png)

</td></tr><tr role="row"><td class="confluenceTd">Empfohlene Anzahl

</td><td class="confluenceTd">Durch die Verbindung mit Money-Management-Funktionen wird hier automatisch ein Wert für die empfohlene Stückzahl gesetzt und kann dann manuell natürlich frei überschrieben werden.  
  
Die empfohlene Stückzahl berechnet sich auf Basis der vorhandenen Liquidät des gewählten Depotkontos, Maximales Kapitalrisiko, Stopkurs zum Titel und Kaufkurs des Titels.   
  
**Konkret: Min( Liquidität, Maximales Kapitalrisiko) / (Kapitalrisiko pro Titel mit Aktueller Kurs - Stoppkurs)**

<div>  
</div></td></tr><tr role="row"><td class="confluenceTd" colspan="1">Anzahl</td><td class="confluenceTd" colspan="1">Eingabe der gewünschten Stücke zum Kauf oder Verkauf. Dabei bitte beachten:

- Einfache Transaktionen als Long-Positionen (Standard): Kauf mit positiver Stückzahl z.B. +10. Verkauf entsprechend invers mit negativer Stückzahl z.B. -10
- Short-Positionen: Kauf mit negativer Stückzahl z.B. -10 und Verkauf dann durch Auflösung wieder mit +10.

Für Fonds werden often nicht ganzzahlige Anteile erworben insb. bei Sparplänen. Dies ist mit 0,000 Werten erlaubt. Achten Sie bitte bei Käufen/Verkäufen auf die genaue Stückzahl um nach Verkauf tatsächlich eine Stückzahl von einem rechnerischen Wert von 0,000 zu erhalten!

Bitte beachten Sie, dass ein fließender Wechsel zwischen Long/Short erlaubt ist, d.h. Sie können +1 Long kaufen und -2 Short verkaufen. Sie haben damit automatisch eine -1 Position Short im Depot und Ihre Gesamtposition damit direkt gewechselt von Long auf Short. Warnhinweise erfolgen in diesem Moment nicht!

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kontraktgröße (CFD's)</td><td class="confluenceTd" colspan="1">Bei CFD's wird nicht nur die Anzahl der Kontrakte benötigt, sondern auch die Kontraktgröße auf den Basistitel, d.h. ein DAX 5€ Kontrakt wird mit 1x Anzahl gekauft und hat eine Kontraktgröße von 5€ zu einer Veränderung von 1P im DAX. Damit kann dann bei der Berechnung sofort umgesetzt werden, wenn sich der DAX Future um 2 Punkte verändert, dass hier eine Veränderung des Wertes um 1xAnzahl x 5€xKontraktgröße x 2 Punkte = 10€ vorzunehmen ist.</td></tr><tr role="row"><td class="confluenceTd">Provisionsmodell

</td><td class="confluenceTd">Der Wert steht automatisch auf Internetmodell. Das Modell beeinflusst über das Depotkonto die Gebührenberechnung. Bitte passen Sie unter Einstellungen / Konten das Gebührenmodell an, sollte sich die vorgeschlagenen Werte für die Gebühren nicht korrekt errechnen. Mögliche Alternativen sind immer nur Telefon und lassen sich nicht erweitern durch den Anwender. Siehe für weitere Details auch unter Gebühren!

</td></tr><tr role="row"><td class="confluenceTd">Gebühren

</td><td class="confluenceTd">Die Berechnung errechnet sich aus:  
 Maximum ( % Gebührenprovision des Depotkontos, Minimale Gebührenprovision )  
\+ Maximum ( % Courtage des Börsenplatzes, Minimale Courtagegebühr )

Die Gebühren können auch manuell eingegeben werden.

Durch Erweiterungen in der Gebühren-Struktur-Abbildung ist praktisch jede Kombination von Gebühren abbildbar, da hier programmatisch dynamischer Berechnungen definiert werden können z.B. nach Börsenplatz, Anzahl etc.

[![image-1655627762946.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627762946.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627762946.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spread in Punkten</td><td class="confluenceTd" colspan="1">Für die Gesamtbetrachtung können hier versteckte "Gebühren" berücksichtigt werden, d.h. je nach Titel , nach Uhrzeit, nach Markt werden bestimmte Spreads vom Broker beim Kauf/Verkauf aufgeschlagen. Spreads sind dabei sofort verrechnete Aufschläge/Abschläge zum eigentlichen festgestellten Kurs. Das Tracking dieser Daten ist sekundär und fließt in keine weitere Berechnung ein. Die Daten werden nur in der Transaktionsliste angezeigt und dienen der Prüfung von "Spread-Ausgaben"</td></tr><tr role="row"><td class="confluenceTd">Summe

</td><td class="confluenceTd">Die Summe aus Anzahl \* Kurs +/- Gebühren. Eine einfache Gebühren-Rückrechnung ist jederzeit möglich, wenn der Endwert direkt eingegeben wird und mitabgeschlossen wird. Die Differenz auf Kauf/Verkauswert und Gesamtsumme ergibt dann die zugehörigen Gebühren. Der Wert dient somit der Kontrolle als auch der möglichen Eingabe.

Erfolgt eine manuelle Eingabe, so wird die Differenz zwischen theoretischer Summe und der Eingabesumme durch das passende Setzen von Gebühren ausgeglichen, d.h. die Gebühren werden automatisch berechnet.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">GuV / \[\] berechnen</td><td class="confluenceTd" colspan="1">Der Gewinn/Verlust wird automatisch berechnet. Die Berechnung erfolgt aber nur einmalig aus Performancegründen. Bitte daher manuell die "berechnen"-Checkbox setzen, sollten eine Neuberechnung notwendig sein. Der Gewinn/Verlust-Betrag kann auch manuell überschrieben werden und wird nicht überschrieben. Diese Methodik ist jedoch in der Hauptsache für die Massenimports aus Day-Trading-Daten vom Broker eingeführt worden und nicht für Depots mit wenigen Transaktionsdaten (&lt;100).</td></tr></tbody></table>

</div>### Short/Long-Positionen

Siehe hierzu die Anmerkungen unter "Anzahl". Das Programm erlaubt die Verwendung von Short- als auch Longpositionen. Welche Position gerade eingenommen wurde, bestimmt faktisch das Vorzeichen der Anzahl der gekauften Positionen, d.h. Anzahl &lt; 0 ist Short, Anzahl &gt; 0 ist Long. Positionen werden aufgelöst durch Drehen des Vorzeichens der Position.

### Eingabe Geld / Positionsmanagement

[![image-1655627775087.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627775087.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627775087.png)

Features:

- Bei OS können Risiko/Chance - Einstellungen über die Stoppkurse sowohl am Basistitel, als auch am OS direkt vorgenommen werden. Die Umschaltung erfolgt per Chartklick.
- Der Stopp-Kurse wird nun direkt oder per Drag&amp;Move im Chart festgelegt. Es kann hierbei ein interner Chart oder das normale Chartfenster (Doppelklick auf das interne Chart) geöffnet werden.
- Gleich dem Stopp-Kurs-Prinzip gilt auch hier das Drag&amp;Move - Prinzip für den Zielkurs
- Stopp-und Zielkursänderungen führen zu automatischen Anpassungen im Chart, Risiko-und Chanceberechnung als auch in der automatisch Festlegung von CRV (Chance-Risiko-Verhältnissen) und der empfohlenen Stückzahl
- In den Programmeinstellungen sind nun definierbar: Maximales Kapitalrisiko pro Trade und insg. über alle Handelspositionen, Target-Kurs-Initialisierung, Stopp-Kurs-Initialisierung
- Die Risikogröße kann grafisch an einem Risikobalken frei eingestellt werden. Zudem ist nicht nur die relative Größe eingebbar, sondern auch eine absolute Risikogröße z.B. max. 1000€ Verlust.
- Der max. empfohlene Hebel für Basistitel wird sowohl für Short als auch Long-Engagements berechnet und angezeigt.
- Statusänderungen werden als Queue-Message transparent eingeblendet. Bitte achten Sie auf diese Meldungen sorgfältig, da diese einige scheinbare Unstimmigkeiten erklären sollten.

Die nachfolgend beschriebene Eingaben sollten noch vor der Eingabe der Basisdaten wie Stückzahl und Kurs vorgenommen werden. Im wesentlichen geht es dabei um die Festlegung eines möglichen Verlustrisikos, d.h. des Stopp-Kurses und des max. Verlustrisikos auf das Kapital.

<div class="table-wrap" id="bkmrk-feld-beschreibung-ge"><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 16.5547%;"></col><col style="width: 83.4446%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Feld

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Gesamtkapital

</td><td class="confluenceTd">Darstellung des zur Verfügung stehenden Kapitals über alle Depotkonten. Der Wert dient der Kontrolle.

</td></tr><tr role="row"><td class="confluenceTd">Max. proz. Kapitalrisiko

</td><td class="confluenceTd">Für die Berechnung des max. Stückzahls wird ein Wert im Sinne des Money-Managements benötigt, der auf Basis des vorhandenen Kapitals einen internen max. Risikowert berechnen kann. Hierüber ist über Kurs-Stoppkurs eine max. Stückzahl sehr einfach berechenbar. Durchs Ausstoppen wird somit maximal das so gesetzte Kapital riskiert

</td></tr><tr role="row"><td class="confluenceTd">Stoppkurs

</td><td class="confluenceTd">Direkte manuelle Eingabe des Stopp-Kurses zum Titel. Das Feld ist automatisch gefüllt, wenn zuvor für den Titel ein Stopp-Kurs festgelegt worden ist. Dies kann jederzeit z.B. in Charts oder in Watchlisten in den Stopp-Kurs-Feldern erfolgen. Neben dem Eingabefeld kann über "..." eine Berechnungshilfe des Stopp-Kurses aufgerufen werden.

</td></tr><tr role="row"><td class="confluenceTd">Liquidität

</td><td class="confluenceTd">Aktuell zur Verfügung stehende Liqudität des ausgewählten Depotkontos. Es ist nicht die Gesamtliquidität über alle Konten!

</td></tr><tr role="row"><td class="confluenceTd">Aktuelles Kapitalrisiko

</td><td class="confluenceTd">Der Wert verändert 1:1 das max. prozentuale Kapitalrisiko. Die direkte Eingabe von gewünschten 1000€ Kapitalrisiko ist hiermit möglich. Der relative Wert wird gleichzeitig verändert.

</td></tr><tr role="row"><td class="confluenceTd">Kapitalrisiko als Trackbar

</td><td class="confluenceTd">Hiermit kann mit der Maus das Risiko, d.h. die max. absolutes Kapitalrisiko verändert werden. Gleichzeitig zeigt es aber auch das aktuelle Risiko auf Basis des Kurs, Stopp-Kurses und der Liquidität an. Der Zeiger wird automatisch justiert auf das aktuell tatsächliche Risiko. Wird z.B. 100% Kapitalrisiko mit 5000€ eingestellt, es ist aber nur 1000€ Liquidität vorhanden, so wird automatisch auf die Liquidität zurückgestellt.

</td></tr><tr role="row"><td class="confluenceTd">Risiko

</td><td class="confluenceTd">Es zeigt nochmals als Zahl das aktuelle Kapitalrisiko für den aktuellen Trade. Es soll direkt mit der Chance verglichen werden können, die nachfolgend aufgeführt ist. Die Berechnung erfolgt auf Basis Anzahl, Differenz Aktueller Kurs und Stoppkurs. Es ist daher hier entscheidend den Stoppkurs festzulegen.

</td></tr><tr role="row"><td class="confluenceTd">Risiko-Hebel

</td><td class="confluenceTd">Um eine schnelle Auswahl an geeigneten Hebelpapieren zu erlauben, wird unterhalb des Risikos der max. Hebel für Long- und für Shortpositionen gezeigt. Die Berechnung erfolgt auf Basis des Abstandes zwischen Aktuellem Kurs und Stopp-Zielkurs sowie der eingestellten max. Kapitalrisikogrösse.

</td></tr><tr role="row"><td class="confluenceTd">Chance

</td><td class="confluenceTd">Es zeigt die Chance für den Trade an und soll so den Vergleich zum Risiko zeigen. Die Berechnung erfolgt hier auf Basis Anzahl, Differenz Aktueller Kurs und Zielkurs. Es ist daher wichtig hier den Zielkurs eingegeben zu haben.

</td></tr><tr role="row"><td class="confluenceTd">Chance-Risiko-Verhältnis (CRV)

</td><td class="confluenceTd">Das einfache Verhältnis zwischen Chance und Risiko wird hier nochmals gezeigt. Die Anzeige verfärbt sich wenn die Chance &lt; Risiko ist und damit &lt;1. Im normalen Fall sollte die Anzeige grün sein.

</td></tr><tr role="row"><td class="confluenceTd">Chart

</td><td class="confluenceTd">Der Chart zeigt nochmals visuell die Chance und das Risiko. Beides wird über die Stopp-und die Zielkurslinie grafisch sichtbar gemacht. Beide Linien lassen sich per Maus mit ziehen. Mit einem Doppelklick gelangt man in das normale Chartfenster. Bevor dieses geöffnet wird, werden alle Stopp-Kurs-Marken gespeichert und übergeben. Nach dem Verlassen des geöffneten Charts, werden eventl. Veränderungen an diesen wieder übernommen.

</td></tr><tr role="row"><td class="confluenceTd">... Titel

</td><td class="confluenceTd">siehe oben. Es gibt im unteren Teil eine Checkbox mit der eine automatische Umrechnung in den Basistitel gesetzt werden kann. Änderungen am Stopp-oder Zielkurs führen somit zu automatischen Veränderungen im Basistitel z.B. dem DAX, wenn aktuell ein Optionsschein für den DAX selektiert ist.

</td></tr><tr role="row"><td class="confluenceTd">... Basistitel

</td><td class="confluenceTd">siehe oben. Auch Linienveränderungen vom Basistitel z.B. dem DAX können in die zugehörigen Optionsscheine übernommen werden. Der Basistitel-Chart wird nur gezeigt, wenn ein Titel einen "Basistitel" eingestellt hat in den Stammdaten. Ist dies nicht der Fall, wird der Tab einfach ausgeblendet.

</td></tr></tbody></table>

</div></div>### Trading-Tagebuch

[![image-1655627782890.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627782890.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627782890.png)

<div class="table-wrap" id="bkmrk-feld-beschreibung-pe"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 18.7732%;"></col><col style="width: 81.2261%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Feld

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Persönlicher Kommentar

</td><td class="confluenceTd">Hier wird ein Trading-Kommentar hinterlegt als Freitext. Es wird dabei versucht eine automatischen Vorschlag zu zeigen auf Basis aller bisherigen Kommentare. Die angezeigten Kommentare werden zusammen mit der Gesamtliste unter Hauptmenü.Einstellungen.Entscheidungen eingestellt. Ebenfalls zur Anwendung kommen diese in Deportreport - Druck. Hier werden sowohl die Entscheidungsgrundlage als auch der Kommentar ausgegeben.

</td></tr><tr role="row"><td class="confluenceTd">Entscheidungsgrundlage

</td><td class="confluenceTd">Grundsätzlicher Stereotyp für die Entscheidungsgrundlage. Die Liste kann frei konfiguriert werden unter Einstellungen / Entscheidungen. Die Auswahl hat nur statistischen und kontrollierenden Charakter, um nachträglich die emotionale Situtation der Entscheidung nachvollziehen zu können. Die Entscheidungsgrundlage ist daher auch bei der Eingabe ein emfohlenes Eingabefeld, dass bei Nichteingabe konsequent angemahnt wird. Es ist allerdings kein Mussfeld.

</td></tr><tr role="row"><td class="confluenceTd">Tradingauswertung

</td><td class="confluenceTd">Über dieses Eingabefeld können ausgeführte Aufträge nachträglich nochmals bewertet werden mit einer freien Auswertungsliste. Die Transaktionsbewertungen erlauben eine nachträgliche Bewertung von Transaktionsentscheidungen. Dies erlaubt eine saubere nachträgliche Bewertung von Entscheidungen. Diese Entscheidungen werden so zwangsläufig in Entscheidungsgruppen eingeordnet und können anschließend optimiert werden. Die Bewertungen können sofort mit einer Transaktion eingegeben werden, was allerdings so keinen Sinn macht. Die Eingabe sollte in einem vernünftigen Abstand regelmäßig nachgepflegt werden. Entscheidungen werden so bewusst nachträglich bewertet. Die Grundlage zur Optimierung von Entscheidungsgrundlagen ist somit gegeben.

</td></tr><tr role="row"><td class="confluenceTd">Ordernummer

</td><td class="confluenceTd">Zur Nachverfolgung ist die Eingabe von Ordernummern möglich vom Konto

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Ausstiegs-Strategie</td><td class="confluenceTd" colspan="1">Neben der Einstiegs-Strategie bei Kauf eines Titels, kann hier eine Ausstiegs-Strategie festgelegt werden.</td></tr></tbody></table>

</div>## Hinweise

### Nachbearbeitung von bereits eingegebenen Aufträgen

[![image-1655627789126.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627789126.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627789126.png)

Aufträge werden innerhalb der Transaktionsliste gezeigt einsortiert nach Jahr / Monat. Sie können jederzeit eine Transaktion nachbearbeiten über ein Doppelklick auf den zugehörigen Listeneintrag.

# Nutzung fremdlaendischer Depot-Titel

[![image-1655627806524.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627806524.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627806524.png)

<table class="wrapped confluenceTable tablesorter tablesorter-default" id="bkmrk-schritt-details-1-es" role="grid" style="width: 100%;"><colgroup><col style="width: 9.51103%;"></col><col style="width: 90.4883%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Schritt: No sort applied, activate to apply an ascending sort" aria-sort="none" class="numberingColumn confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Schritt</div></th><th aria-disabled="false" aria-label="Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="numberingColumn confluenceTd">1</td><td class="confluenceTd">Es wird aktuell in ShareHolder eine Gesamtwährung durch die Programm-Einstellungen festgelegt, welche immer als Zielwährung benutzt wird z.B. EURO. Diese Zielwährung wird praktisch in allen Auswertungen, Ansichten und schließlich der Portfolio-Ansicht genutzt. Aktuell ist eine Währungseinstellung auch am Konto möglich, diese hat aktuell aber lediglich für die Berücksichtigung der Cash-Reserven eine Rolle.

Beachte

Auch gibt es keine Währung pro Portfolio, sondern nur eine Gesamtwährung des Programms. Das Setup soll in Kürze umgestellt werden auf eine Portfolio-Währung (Q3/2020).

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">2</td><td class="confluenceTd" colspan="1">Jeder Titel besitzt eigene Währungseinstellungen z.B. in USD. Diese werden in den Stammdaten pro Titel gesetzt. Die Anpassung erfolgt per Doppelklick auf den Titel. Sollen mehrere Titel gleichzeitig geändert werden, kann dies in den Detail-Listen über das Kontextmenü erfolgen.

Beachte

Es gibt Währungseinstellungen auch an den konfigurierbaren Märkten. Diese sind jedoch nur für die Default-Setzung von neuen Titeln relevant. Entscheidend ist die Währungs-Einstellung pro Titel, die in den Stammdaten steht.

Jeder Titel kann mehrere Kursdaten für verschiedene Währungen haben. Aktuell wird in ShareHolder dennoch immer nur die eingestellte Titel-Währung angezeigt. Aktualisierungsgruppen verwenden ebenfalls eine eigene Währungseinstellung, um die korrekte Speicherung der ausgelesenen Kursdaten der konfigurierten Kursdatenquelle vorzunehmen insb. wenn verschiedene Börsenplätze angegeben werden können. Es werden dabei keine automatische Umrechnungen vorgenommen zu einer Zielwährung. Es geht nur um die korrekte Zuordnung der Währung zu den Daten.

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">3</td><td class="confluenceTd" colspan="1">Währungsumrechnungen werden in den Transaktionseingaben eingeblendet, wenn die Währung des Titels ungleich der Programm-Währungs-Einstellung ist d.h. ein Fremdwährungstitel ist. Sie benötigen hier dann nur dem zu dem Zeitpunkt gültige Währungsumrechnung. Sie wird vorbelegt auf Basis der tagesgültigen Währung, muss und kann aber überschrieben werden mit dem tatsächlichen Buchungskurs der Bank/Brokers. </td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">4</td><td class="confluenceTd" colspan="1">Die Umrechnungskurse können insb. in der Portfolio-Depotübersicht über die Spalteneinstellungen eingeblendet werden, für den Kaufkurs und aktuellen Währungsumrechnungskurs. Dies soll die Kontrolle und Nachvollziehbarkeit erleichtern.</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">5</td><td class="confluenceTd" colspan="1">Portfolio-Statistiken und alle Portfolio-Ansichten verwenden immer die hinterlegten Transaktions-Umrechnungskurse und den aktuellen Währungsumrechnungs-Kurs um gegen die Zielwährung aus den Programm-Einstellungen die korrekte Umrechnung vorzunehmen. </td></tr></tbody></table>

# Auswertungsgrafiken - und Matrizen

## Hauptreiter "Tradingmatrix"

### Übersicht realisierte Positionen

[![image-1655627832528.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627832528.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627832528.png)

<div class="table-wrap" id="bkmrk-spalte-erkl%C3%A4rung-bez"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 14.4517%;"></col><col style="width: 85.5476%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Spalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Spalte

</th><th aria-disabled="false" aria-label="Erklärung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Erklärung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Bezeichnung

</td><td class="confluenceTd">Name des Wertpapiers: Erscheint hier ein '-' so existiert in der Datenbasis kein Wertpapier, welches die in der Transaktion verwendeten WKN besitzt. Daher muß in der Datenbasis ein entsprechender Eintrag erzeugt werden. Hinter dem Namen können in Rotschrift +K (offene Kauforder) oder -V (offene Verkaufsorder) erscheinen. Dazu muß eine Transaktion in der Transaktionsliste vorhanden sein mit der Einstellung "Nur Auftrag".

</td></tr><tr role="row"><td class="confluenceTd">Anz

</td><td class="confluenceTd">Summe der jemals verkauften Stücke ohne Beachtung eines Abrechnungszeitraumes

</td></tr><tr role="row"><td class="confluenceTd">Kaufkurs

</td><td class="confluenceTd">Gewichteter Durchschnitts-Kaufkurs. Berücksichtigt werden in dieser Berechnung alle Käufe.

</td></tr><tr role="row"><td class="confluenceTd">Verkaufskurs

</td><td class="confluenceTd">Gewichteter Durchschnitts-Verkaufskurs. Berücksichtigt werden in dieser Berechnung alle Verkäufe

</td></tr><tr role="row"><td class="confluenceTd">Verschenkt

</td><td class="confluenceTd">Wären die bereits verkauften Stücke bis heute gehalten worden und zum aktuellen Kurs verkauft, so würde sich der hier angegebene Gewinn oder Verlust ergeben. Die Berechnung erfolgt einfach über Anz \* ( Kurs - Gewichteter-Verkaufskurs )

</td></tr><tr role="row"><td class="confluenceTd">Wert

</td><td class="confluenceTd">Aktuelle Kurs des Papiers

</td></tr><tr role="row"><td class="confluenceTd">Gebühren

</td><td class="confluenceTd">Summe der angefallenden Gebühren für alle Transaktionen die dieser Position zugeordnet werden können. Es werden damit sowohl Käufe wie auch Verkäufe berücksichtigt.

</td></tr><tr role="row"><td class="confluenceTd">Steuern

</td><td class="confluenceTd">Höhe des zu versteuernden Gewinns. Die Summe wird für alle Verkaufstransaktionen berechnet

</td></tr><tr role="row"><td class="confluenceTd">Gewinn

</td><td class="confluenceTd">Höhe des bis diesem Papier erzielten Gewinns ( Kumulierte Gesamtsumme ). Die Gewinnsumme ist dabei bereinigt um die Gesamtsumme der Gebühren.

</td></tr></tbody></table>

</div>### Gewinnerwartungsmatrix

[![image-1655627839404.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627839404.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627839404.png)

Hier finden Sie die Aufbereitung der bisherigen abgeschlossen Transaktionen in eine Gewinnmatrix, die genutzt wird zur Berechnung einer wahrscheinlichen Gewinnerwartung. Die Auswertung gehört zum Thema des Moneymanagements.

Dargestellt sind maximal 15 absolute Ergebnisbereiche, d.h. der größte Verlust/Gewinn wird zur Bildung einer angemessenen Risikoeinheit R genutzt. Im Minimum ist diese Größe 100€ groß. Diese Risikoeinheit unterteilt in einer Matrix nun alle Trades in die entsprechenden Bereiche. Im Ergebnis stehen sich die Gewinntrades und Verlusttrades mit Ihrer Häufigkeit und Wahrscheinlichkeit gegenüber.

Hier am Beispiel ist eine Risikoeinheit 200€ groß. In der Range 1..200€ und damit für 1xR werden 10 Gewinntrades abgeschlossen und 16 Verlusttrades. In der größten gemachten Risikoeinheit 23R und damit zwischen 4401 und 4600€ wurde nur ein Trade abgeschlossen.

Die Matrix hilft einen Überblick über das eigene Handelssystem zu bekommen und Fragen wie:

- Häufigkeit von Verlusttrades/Gewinntrades
- Effizienz von Stopmechanismen
- Effizienz der Positionsgrößen
- Opportunität/Anzahl von Gewinntrades/Verlusttrades in welchem Bereich
- Balance zwischen Häufigkeit und Höhe von R in den einzelnen Trades
- und vor allem und letztlich die wahrscheinliche Gewinnerwartung pro Trade sowie pro Jahr  
    zu ermitteln.

Die Gewinnerwartung pro Trade sagt dabei in diesem Beispiel mit 1.48R, dass bei jedem Trade zur Zeit im Schnitt für 1R  
1.48xR als Gewinn erwartet werden kann. Warum diese Bezug zur Risikogröße? Mit jedem Trade wird ein definierbares (im Zweifel - aber selten praktisch - 100% der Einsatzgröße) Risiko eingegangen. Dieses tatsächlich umgesetzte Risiko (Verlust) drückt sich mit der Anzahl der Trades als Summe der Verlusttrades aus, die der Summe der Gewinntrades gegenübersteht. Symbolisch stehen so dem Risiko R der Gewinn G gegenüber. Mit 1.48 Gewinnerwartung steht so 1R = 1.48G gegenüber. Da R und G die gleiche Größeneinheit (hier 200€) besitzen kann die verkürzte Schreibweise 1.48R genutzt werden.

Handelssysteme arbeiten sehr unterschiedlich. Eine Pauschalaussage ist so für die Matrix nur schwer möglich. Eine Interpreation erfordert Kenntnisse vom System. Folgende Prüfungen können jedoch fast immer sinnvoll vorgenommen werden:

- Gewinntrades werden regelmäßig mit &gt;1R abgeschlossen (werde Gewinne tatsächlich effizient laufen gelassen)
- Verlusttrades gehören zum Trading, da nicht jede Position in die gewünschte Richtung laufen wird. Zu prüfen ist jedoch ob die Verlusttrades möglichst in der Mehrzahl = 1R sind. Andernfalls wurden Stopkurse nicht gesetzt, nicht eingehalten oder beispielsweise auch die Tradeposition zu hoch gehalten (Positionsgröße zu hoch)
- Ein Idealbild wäre beinahe erreicht, wenn auf der Verlustseite lediglich mit 1xR Trades abgeschlossen werden. Die Gewinnseite werden über die am oberen Ende der Bandbreite liegenden mit 4R,5R usw. xR abgeschlossen. Höhere xR's sind hier natürlich wünschenswert.

Nach den Ausführungen sollte klar sein, dass Gewinnerwartungen immer über &gt;1R liegen sollten, da nur dann am Ende ein positiver Abschluß auf Ihrem Konto stattgefunden hat. Werte &lt;=1R sollten schleunigst zur Prüfung Ihrer Strategie führen. Die Matrix kann helfen hier grundsätzliche Schwächen Ihres Systemes zu finden.

### Auswertung Entscheidungen bzw. Entscheidungsmatrix

[![image-1655627845519.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627845519.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627845519.png)

Die Transaktionsauswertung erlaubt eine Auswertung der Einstiegs- und Ausstiegsgründe. Die Gründe werden in Kategorien (frei konfigurierbar) mit Freitext innerhalb der Transaktionsmasken eingegeben. Der Vergleich erfolgt dabei zweistufig.

- Die erste Stufe sind die direkten Gründe für den Einstieg.
- Die zweite Stufe sind die Bewertungen der Gründe, die immer nur nachfolgend erfolgen kann mit zeitlichen Abstand.  
    Die reine Bewertung anhand des Tradeergebnisses erscheint in der Analyse zu oberflächlich. Für eine vollständige Analyse müssen für alle Trades (Kauf/Verkauf) entsprechende Gründe und Freitext-Notizen eingetragen werden. Ohne diese ist nur eine einfache Sortierfunktion nach Transaktionsergebnis und Datum möglich. Eine kritische Analyse des eignen Anlageverhaltens ist dann unmöglich.

Mögliche Aussagen

- Durch die Sortiermöglichkeit nach Tradeergebnis (Transaktion) sind auf den Zeitebenen Monat, Jahr, seit Depotstart die erfolgreichsten und verlustreichsten Trades sehr schnell in einer Übersicht zu erkennen. Durch Gegenüberstellung der Einstiegs-und Ausstiegsgründe ist eine nachträgliche Analyse des eigenen Anlageverhaltens und eventuelle Korrekturen möglich.  
    Wird nur die Zeitebene (Monat) verwendet durch Auswahl des unteren Tabreiters "Monat", so können gezielt alle Monatstransaktionen nochmals kritisch geprüft werden.

## Hauptreiter "Depotcharts"

[![image-1655627862971.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627862971.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627862971.png)

Die Aktualisierung der Grafiken erfolgt im Hintergrund (Threadprozess) nach dem Laden eines Depots bzw. nach der Aktualisierung der Kursdaten. Die Grafiken werden beim Berichtsdruck 1:1 verwendet. Sollen im Bericht andere Zeiträume verwendet werden, so sind zuvor die Einstellungen der Grafiken zu ändern (3D Ansicht, Zeitraum usw.)

### Positionierung

[![image-1655627868482.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627868482.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627868482.png)

Die Positionierung hat als Hauptaufgabe, die Darstellung der Diversifikation und damit der Streuung des Depots aus verschiedenen Blickwinkeln darstellung. Rechts wird dabei der Liquiditätsgrad sehr prominent dargestellt und links diverse Auswertungen zur Diversifikation. Da die Erklärungen beinahe inhaltlich selbsterklärend sind, sollte noch erklärt werden, wie Anpassungen vorgenommen werden können:

<div class="table-wrap" id="bkmrk-darstellung-nach-..."><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 14.8256%;"></col><col style="width: 85.1737%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Darstellung nach ...: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Darstellung nach ...</div></th><th aria-disabled="false" aria-label="Anpassung durch: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Anpassung durch</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Einzelpositionen</td><td class="confluenceTd">Diese bestimmt sich allein durch das Anlagevolumen pro Einzelposition. Als Grafik-Markierung wird dabei der prozentuale Wert mit und ohne Liquidität angegeben. Die Visualisierung ist dabei natürlich ohne Liquidität einfach auf Basis der Verteilung des gesamten investierten Anlagevolumens.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Assetklassen</td><td class="confluenceTd" colspan="1">Die Zuordnung erfolgt über Einzel-Titel-Zuweisungen in den Detaillisten. Markieren Sie hierzu einelne oder mehrere Titel (STRG+) und öffnen das Kontextmenü mit der rechten Maustaste. Sie können dann die Zuweisungen vornehmen.

[![image-1655627874378.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627874378.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627874378.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Tätigkeitsbereich</td><td class="confluenceTd" colspan="1">Sie können als Freitext-Feld dies in den Stammdaten eines Titels anpassen. Sie kommen hier durch Doppelklick auf den Titel in den Dialog. Die Daten werden durch diverse Stammdaten-Importe wie Tai-Pan oder Internet-Fundamentaldaten-Portale aktualisiert.

[![image-1655627883370.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627883370.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627883370.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Branche</td><td class="confluenceTd" colspan="1">Analog Tätigkeitsbereich wird ein eigenes Textfeld hierfür zur Pflege genutzt.</td></tr></tbody></table>

</div></div>### Gewinnentwicklung

[![image-1655627888675.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627888675.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627888675.png)

Die Gewinnentwicklung berechnet rückwirkend bis zum festgelegten Stichtag die Entwicklung des Depots. Für die Berechnung sind korrekte historische Kursdaten für die Transaktionswerte zwingend. Dargestellt sind hierbei im Einzelnen:

<div class="table-wrap" id="bkmrk-chartlinie-beschreib"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Chartlinie: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Chartlinie

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Offene Gewinne

</td><td class="confluenceTd">Gewinne im aktuellen Depot

</td></tr><tr role="row"><td class="confluenceTd">Realisierte Gewinne

</td><td class="confluenceTd">Bereits realisierte im Depot verbuchte Gewinne

</td></tr><tr role="row"><td class="confluenceTd">Ein-und Auszahlungen

</td><td class="confluenceTd">Die Darstellung zeigt die gemachten Ein-und Auszahlungen im gewählten Zeitraum in einem nicht deaktivierbaren Bereich als Einzelchart (hier gelb)

Ein Klick auf die Punkte auf der Ein-und Auszahlungslinie, erlaubt das direkte Springen zur betroffenen Transaktion. Diese kann anschließend direkt verändert werden.

</td></tr><tr role="row"><td class="confluenceTd">Gesamtgewinne

</td><td class="confluenceTd">Gesamtgewinn-Verlauf durch Summierung der realisierten und offenen Gewinne

</td></tr><tr role="row"><td class="confluenceTd">Anlagewert

</td><td class="confluenceTd">Im Depot befindlicher Kapitaleinsatz zum Stichtag.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Gesamtvermögen</td><td class="confluenceTd" colspan="1">Aktuelles investiertes Vermögen + Liquidität</td></tr><tr role="row"><td class="confluenceTd">1 und 2. Benchmarkwert

</td><td class="confluenceTd">Die Vergleichswerte sind die in der Statusleiste genutzten Werte. Diese werden in den Kurslisten über das Kontextmenü "Statusleiste.Links", "Statusleiste.Rechts" festgelegt.

</td></tr></tbody></table>

</div>### Tradingergebnisse

[![image-1655627894819.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627894819.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627894819.png)

Die Tradingergebnisse zeigen auf einer Zeitachse mit monatlicher und wöchentlicher Einteilung realisierte Gewinne/Verluste. Gerade bei aktivem Trading zeigen die Wochencharts zusätzliche Vergleichswerte über die Zeitachse. Die Monatsansichten kummulieren diese Tradingergebnisse. Diese können beispielsweise genutzt werden, um einen Summenwert pro Monat in einem anderen System wie z.B. MS Money zu übernehmen. Die vollständige Übernahme aller Transaktionen in das zweite System und damit die Doppelpflege wird so vermieden. SHAREholder wird dann natürlich als führendes System betrachtet mit Detailaufstellungen.

### Day-Trading

[![image-1655627899615.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627899615.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627899615.png)

Hier werden wesentliche Kennzahlen für das eigene Trading zusammengeführt und einem historischen Verlauf gezeigt. Die Zeitachse richtet sich nach den Datums-Einschränkungen in der Ribbon-Bar unter "Depotcharts".

### Day-Trading-Analyse nach Verkaufs-Zeitpunkt

[![image-1655627935344.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627935344.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627935344.png)

Mit dieser Grafik werden die Verkaufszeitpunkte der vergangenen Tage analysiert. Dabei ist das Stundenraster auf der X-Achse und das Datum auf der Y-Achse. IN den Felder ist farblich kodiert das Trading-Ergebnis. Ziel ist es hierbei "unwirtschaftliche" Trading-Phasen herauszufinden und auf dieser Basis weitere Analysen zu fahren. Hauptaugenmerk liegt dabei auf Phasen, die extrem volatil sind bzw. mit dem eigenen System weniger harmonieren und daher umgehend zu Verlusten führen (Ausstopp-Positionen). Es wird daher aktuell keine Analyse vom Kauf-Zeitpunkt vorgenommen, sondern nur vom Verkaufs-Zeitpunkt.

# Sparpläne

Wiederholte Zahlungen auf Basis von Sparplänen lassen sich in SHAREholder als solche erfassen. Hierfür werden alle notwendigen Daten im Hauptmenü unter "Einstellungen / Sparpläne / Einstellungen" vorgenommen.

Sparpläne werden intern als termingebundene Kauftransaktionen verstanden, die in einem festgelegten Zeit- und Budgetrahmen stattfinden.

## Ausführung

Die Prüfung, ob ein Sparplan ausgeführt werden soll, erfolgt nur beim Start von SHAREholder für aktivierte Sparpläne (siehe Checkbox: "Aktiv"). Beachtet werden hierbei die Einstellungen für den Starttermin, die letzte Ausführung, dem Endtermin und dem Kaufintervall. Da nicht davon ausgegangen wird, dass SHAREholder jeden Tag gestartet wird, ist beim Vergleich insb. die letzte Ausführung entscheidend. So wird bei einem Sparplan mit Start 01.03.2005 und einer letzten Ausführung am 01.03.2004 bei einem monatlichen Einzahlungsplan der Sparplan ausgeführt. Der Sparplan wird hier allerdings genau einmal ausgeführt und die letzte Ausführung auf das aktuelle Datum gesetzt.

## Definition der Kaufposition

Die Zuordnung einer Kaufposition erfolgt über die ISIN des Titels. Es kann somit pro Sparplan nur eine Position definiert werden. Handelt es sich um einen komplexeren Sparplan mit mehreren Teilpositionen muss eine Aufteilung der Einzelposition vorgenommen werden.

Die ISIN zu einer Position/einem Titel muss zwingend korrekt vorliegen. Da ein Sparplan als eine normale Transaktion eingestuft wird, kann zu jedem Sparplan eine Entscheidungsgrundlage hinterlegt werden.

Einzahlungen können automatisch verbucht werden. Verfälschungen der Kontobilanz/Cashbestandes werden so vermieden. Neben der eigentlichen Kauftransaktion wird so eine Bareinzahlung als Transaktion hinterlegt. Wird dies nicht aktiviert führt die Position lediglich zu einer negativen Belastung des Depots.

## Einmalzahlungen

Um eventuelle Sonderzahlungen vornehmen zu können und die Aufschlagsberechnung nicht selber durchführen zu müssen, sind Sonderzahlungen möglich. Die Sonderzahlungen bleiben bei der Betrachtung der Kaufintervallen unberücksichtigt, verwenden aber die komplette Verrechnungslogik einer normal eingezahlten Sparplanposition.

# Import und Export Transaktions- und Kontodaten

# Grundidee für Daten-Abgleiche

Shareholder ist bei den meisten Anwendern selten das Erstprogramm. In den meisten Fällen wurden andere Börsenprogramme oder eigene Excellisten zuvor gepflegt. Um hier einen reibungslosen Übergang zu realisieren und eine manuelle Datenerfassung zu vermeiden, wurde eine Export/Import-Schnittstelle realisiert die einfach (Keep-It-Simple) über ein CSV-Textformat funktioniert, dass insb. von Excel sehr gut verarbeitet werden kann.

Weiteres:

- [Depot-Export in CSV-Dateien](https://www.shareholder24.com/wiki/books/boersensoftware/page/depot-export-in-csv-dateien)
- [Depot-Import aus CSV-Dateien - Import Assistent](https://www.shareholder24.com/wiki/books/boersensoftware/page/depot-import-aus-csv-dateien-import-assistent)
- [XTB-Trades und XTB-Kataloge](https://www.shareholder24.com/wiki/books/boersensoftware/page/xtb-trades-und-xtb-kataloge)
- [OnVista-Abgleich](https://www.shareholder24.com/wiki/books/boersensoftware/page/onvista-abgleich)

Um den Export- und Import nicht nur für den einmaligen Abgleich nutzen zu können, sind die Funktionen so geschrieben, dass hiermit folgende Sonderaufgaben realisiert werden können:

- **Zusammenführung oder Trennung** von Transaktionen aus/in Einzeldepots. Hierzu kann eine Kombination aus Exports/Imports der Einzeldepots in der Umsetzung helfen.
- **Manueller Abgleich eines kompletten Portfolios über Excel**, um Eingaben und die Kontrolle der Transaktionen zu vereinfachen. Anschließender Re-Import der Daten.
- Eine **Pflege der Transaktionsdaten** kann so theoretisch komplett nach Excel verlagert werden, wenn man sich den Im- und Exportfunktionen bedient. Neben Updates und Neuanlagen für Transaktionen können neue Aktientitel, neue Konten, neue Börsen und neue Entscheidungstypen automatisch angelegt werden.

# Depot-Export in CSV-Dateien

## Funktionsweise

[![image-1655627984749.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655627984749.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655627984749.png)

Der Export erfolgt in einem Standardformat , welches nicht veränderbar ist. Kontobewegungen werden dabei ebenso exportiert, wie Depotumsätze. Der Export kann in dieser Form nach gewünschten Änderungen 1:1 wieder über den Import übernommen werden. Neue Einträge werden dabei hinzugenommen und geänderte in SHAREholder aktualisiert. Wenn es nicht möglich ist. die Ordernummer zu verwenden, wird die ISIN und der Zeitstempel herangezogen für den Abgleich.   
  
Weitere Hinweise für den Re-Import finden Sie beim [Depot-Import aus CSV-Dateien - Import Assistent](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/18579496/Depot-Import+aus+CSV-Dateien+-+Import+Assistent).

Das Standard-Export-Format ist aktuell dabei definiert über:

```PHP
ciCheck.DefaultColumnSeparator = ";" 

ciName=0 
ciOrdernummer=1 
ciDepot=2 
ciBoerse=3 
ciISIN=4
ciTyp=5 

ciDatum=6
# ciDatum.shortdateformat='dd.mm.yyyy'

ciZeit=7
# ciZeit.shorttimeformat='hh:mm:ss'

ciKurs=8
ciWert=9
ciStk=10
ciGewinn=11 
ciGeb=12
ciEntscheidung=13
ciBewertung=14
ciNotiz=15

# ciOrdervolumen=16
# ciWertDatum=17
# ciStatus=18
```

# Depot-Import aus CSV-Dateien - Import Assistent

Der Import Import-Assistent erlaubt es unterschiedlichste Formate manuell oder voll automatisch zu importieren, ohne die einzelnen Daten von Hand einpflegen zu müssen. Der Import erfolgt hierbei direkt in das aktuell geöffnete Portfolio oder kann innerhalb der Depot-Importdatei definiert werden über eine angegebene Depotnummer &amp; Kontonummer.

Während des Imports werden bisher nicht vorhandene Titel und Aktien automatisch angelegt. Damit muss immer eine WKN, ISIN und Name beim Import definiert sein.

## Formatbeschreibung für Import-Profile

Um die Arbeit zu erleichtern, werden die wichtigsten Importprofile z.B. für Comdirect, Flatex, Consors etc. vordefiniert bereitgestellt. Sie können dabei als Template genutzt werden und durch Kopieren und Verändern angepasst werden.

Weitere Details unter:

- [CSV-Portfolioimport-Formatbeschreibung](https://www.shareholder24.com/wiki/books/boersensoftware/page/csv-portfolioimport-formatbeschreibung)

## Dialog-Aufbau 

[![image-1655628005056.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628005056.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628005056.png)

<div class="table-wrap" id="bkmrk-element-beschreibung"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 14.0801%;"></col><col style="width: 85.9192%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Element: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Element</div></th><th aria-disabled="false" aria-label="Beschreibung: Ascending sort applied, activate to apply a descending sort" aria-sort="ascending" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerAsc tablesorter-headerSortUp" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A)</td><td class="confluenceTd">Alle vorhandenen Broker/Depot-Import-Profile werden in diesem Bereich dargestellt und können durch "Anklicken" aktiviert werden.  
Es gibt dabei Profile um verschiedene Inhalte zu importieren:

- - Trades
    - Transaktionsbewegungen und Kontobewegungen
    - Stopp-Limits und
    - Depotbestände

Die Liste generiert sich dabei automatisch auf Basis vorhandener Import-Konfigurations-Profile die im Datenverzeichnis des Programms unter \\Daten\\Import liegen und die Dateiendung \*.ini haben.

Dabei werden Import-Dateien die den gleichen Prefix wie das Profil haben, als "Kinder-Einträge" hinterlegt. Dies wird genutzt um insb. Beispiel-Dateien dort abzulegen. Sie können aber auch eigene Dateien dort hinterlegen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(B)</td><td class="confluenceTd" colspan="1">Auf der linken Pannel-Seite wird nach Auswahl eine Vorschau die für das Profil zu nutzende Webseite des Brokers/Bank als Beispiel angezeigt. Dies soll helfen den korrekten Export-Punkt bei Ihrer Bank und Broker zu finden. Über einen linken Tab-Bereich finden Sie einen Preview und Editor-Bereich. Diese Vorschau wird durch eine gleichnamige JPG-Datei zum zugehörigen Importprofil (INI-Datei) angelegt.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(C)</td><td class="confluenceTd" colspan="1">Der Import wird automatisch gestartet sobald eine Datei links unten manuell per "Drag &amp; Drop" auf den Erfassungsbereich gezogen wird.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D)</td><td class="confluenceTd" colspan="1">Tab-Wechsel um in das Importprofil zu wechseln d.h. Profil-Konfiguration</td></tr></tbody></table>

</div>## Vorgehen für den Import

- Auswahl des gewünschten Konto-Profils d.h. Auftragsübersicht/Kontobewegung etc. im rechten Baum (A)
- Drag &amp; Drop (einfach auf (B) bzw. (C) oder manuelle Auswahl der Importdatei
- Prüfung des Importvorschlags inkl. Importprofil-Konfiguration

[![image-1655628013091.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628013091.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628013091.png)

- Prüfen Sie hier die Positions-Nummern und die Positionsangaben im Profil
- Wenn alle Einstellungen überprüft und vorgenommen worden sind, bitte den "Import starten", womit die Daten eingelesen werden
- Nach Abschluss erscheint eine Statistik und über den Reiter "Log-Ausgaben" wählbare Detail-Ansicht nach dem Import

[![image-1655628017873.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628017873.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628017873.png)

### Vorschau-Funktion

Da die Importfunktion eine sehr hohe Relevanz für die effektive Nutzung der Software hat, wurde eine Preview-Funktion implementiert. Diese nutzt exakt die gleichen Zuordnungen und internen Logiken. Es wird dabei lediglich die finale Gewinnberechnung unter Brutto-Gewinn nicht ausgewiesen, da diese erst mit einer Gesamtberechnung des Portfolios machbar ist. Diese wird daher nur als "Vorschau" ausgewiesen.

Sie können und sollten dabei auch die Log-Daten nutzen, sollte die Vorschau unerwartete Ergebnisse zeigen.

[![image-1656079307760.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656079307760.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656079307760.png)

## Import-Setup mit allen beteiligten Schritten am Beispiel eines Smartbroker-Imports

[![image-1655628023167.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628023167.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628023167.png)

Während des Imports werden Titel automatisch angelegt. Leider ist in der Importdatei nur Lang &amp; Schwarz hinterlegt, womit Sie mit Doppelklick auf die importierten Titel die Titelnamen nochmals anpassen sollten!

Bitte konfigurieren Sie danach einfach mit folgenden Schritten in lediglich zwei Minuten abschließen das Depot:

<div class="table-wrap" id="bkmrk-schritt-details-%28a%29-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Schritt: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Schritt</div></th><th aria-disabled="false" aria-label="Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A)</td><td class="confluenceTd">Wenn beim Import Titel über die ISIN bisher nicht in der Stammdatenbank enthalten waren, werden diese automatisch angelegt. Sie sollten dabei versuchen direkt beim ersten Setup den richtigen Markt auszuwählen, da dadurch nachfolgende Kursaktualisierungsgruppen-Einstellungen vermieden werden können.

Hier im Beispiel (siehe Screenshot) werden Wikifolios d.h. Zertifikate importiert. Diese sollten direkt auf "Zertifikate/OS" oder "Wikifolio" als Markt importiert werden bei den Rückfragen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(B)</td><td class="confluenceTd" colspan="1">Sie sehen nach dem Import zunächst eine korrekte aber nicht schöne Depot-Liste. Insb. die Kursdaten sind noch nicht aktuell und die Depottitel sind dabei zunächst fehlerhaft beschriftet.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(C)</td><td class="confluenceTd" colspan="1">Wählen Sie zunächst die Titel mit &lt;Shift&gt;+Auswahl der Titel mehrfach aus. Über die Toolbar „Stamm-und Kursdaten“ setzen Sie die Kursaktualisierung auf eine geeignete Kursaktualisierungsgruppe. In diesem Fall für die Zertifkate z.B. auf Ariva-Lang&amp;Schwarz.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D)</td><td class="confluenceTd" colspan="1">Über die Toolbar starten Sie einen Aktualisierungslauf über „Internet-Kursdaten“

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(E)</td><td class="confluenceTd" colspan="1">Sie warten das Ende der Aktualisierung kurz ab …

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(F)</td><td class="confluenceTd" colspan="1">Sie wählen wieder mit &lt;Shift&gt;+Auswahl der Titel die zugehörigen Titel und wählen im Kontextmenü unter Fundamentaldaten den Punkt „Import-Fundamentaldaten-Autoimport“ . Danach werden die Titel insb. der Zertifikate automatisch korrigiert.  
  
Das wars ![(Lächeln)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/smile.png)

</td></tr></tbody></table>

</div>## Weitere Importmöglichkeiten

### Manuell automatischer Import aller bisher nicht importierten CSV-Dateien als Autoimport\*.CSV

- Öffnen des Import-Verzeichnisses unter *.\\Daten\\Import* oder über die Quick-Icons wie im Bild dargestellt. Legen Sie dort alle aus Ihrer Sicht automatisch zu importierende Dateien ab. Bitte beachten Sie, dass Sie zuvor \*Demo\*.CSV entfernen sollten!
- Bitte wählen Sie hierzu folgenden Menüpunkt "Import Depot/Trade-Dateien". Bitte beachten Sie, dass Sie den oberen Reiter "Transaktionen" (siehe nachfolgenden Screenshot) nur innerhalb der Hauptauswahl Transaktionen sehen und NICHT innerhalb des Reiters "Depotansicht".
- Es werden automatisch nach "Starten" alle noch vorhandenen Importdateien, die jeweils eine Konfigurationsdatei (INI) besitzen importiert: 
    - Automimport.Aktienlisten.\*
    - Automimport.Depotbestand.\*
    - Autoimport.Stoplimits.\*
    - Autoimport.Trades.\*

[![image-1655628031193.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628031193.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628031193.png)

### Automatisiert bei Programmstart

Ein automatisiertes Einlesen macht Sinn, wenn viele Depots und damit viele verschiedene Kauf- / Verkauf und Depots vorliegen und direkt beim Programmstart die Konto/Transaktionsbewegungen eingelesen werden. Hierzu müssen die Dateien lediglich wie gehabt uner \\Daten\\Imports abgelegt werden. Beim Programmstart werden diese automatisiert eingelesen und Sie sehen sofort den aktuellsten Stand.

Vorgehen:

- Einmaliges Aktivieren des Auto-Imports in den Programmeinstellungen

[![image-1655628035604.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628035604.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628035604.png)

- Speichern der zu importierenden Files im Ordner: \\Daten\\Imports
- Anpassen des Dateinamen-Präfix mit dem von der gewünschten Import-Konfiguration erwarteten Datei Präfix. Eine Import-Konfiguration wird immer als INI-Datei beschrieben.  
    z.B. für einen Comdirect-Import muss die Datei: mit **Autoimport-Aktienliste-comdirect-** entsprechend der INI-Datei als Prefix starten z.B. als "Autoimport-Aktienliste-comdirect-Musterdepot-DEMO-Musterdepot.csv". Über den Dateinamen wird die Zuordnung zwischen Konfiguration und Importdatei erreicht.

[![image-1655628040178.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628040178.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628040178.png)

## Erstellung eines eigenen Import-Profils

- Die Import-Routinen müssen zuvor in dem Verzeichnis SH24\\\\Daten\\Imports gespeichert worden sein damit diese rechts sichtbar werden. Sie können dabei ein bestehende Import-Konfiguration einfach als Quelle nutzen und im Verzeichnis kopieren. Eine neue Import-Routine entsteht damit durch Kopieren und Anpassen. Einfacher können Sie auch ein Profil im Assistenten markieren und danach mit Hinzufügen den Kopiervorgang durchführen.
- Pro Import-Routine kann eine gleichnamige Bild-Datei im JPG-Format als Vorschaubild angezeigt werden (opt. 920x720 Pixel). Dies zeigt an, wie das Import-File aussehen muss um korrekt importiert zu werden. (Liegt kein individuelles Bild vor, wird ein Default-Bild verwendet).
- Nutzen Sie für den Import für das Import-Format die Konfigurationsbeschreibung unter: [CSV-Portfolioimport-Formatbeschreibung](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/51478382/CSV-Portfolioimport-Formatbeschreibung). Sie können im Editor zudem mit &lt;Strg&gt;&lt;Leertaste&gt; eine Autovervollständigung aufrufen. Die Felder beginnen immer mit "ci" z.B. ciStk ...

[![image-1655628044998.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628044998.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628044998.png)

### Automatische Generierung eines Import-Profils auf Basis einer Beispiel-Datei

Die Importprofile erlaube eine komplette Beschreibung über Inhalt, Position der Transaktions- oder Kontodaten. Dabei sind auch bei manueller Einstellung praktisch immer bestimmte Schlüsselfelder relevant, die so auch automatisch zugeordnet werden können.

Daher ist es möglich einfach eine Beispiel-Datei zu öffnen in der Vorschau und dann automatisch ein Importprofil anzulegen. Dies funktioniert dabei nicht immer zu 100%, deckt aber bereits sehr viele Anwendungsfälle mit ab.

[![image-1656079319802.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656079319802.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656079319802.png)

Wenn Sie dabei einen Broker/Bank verwenden, die so noch nicht vorkonfiguriert ist, starten Sie optimalerweise mit Anlage eines zunächst neuen leeren Profils über "Hinzufügen" auf der rechten Seite. Danach öffnen Sie per Drag &amp; Drop oder manueller Dateiauswahl eine Beispieldatei. Danach können Sie es bereits mit "Erzeuge Basis-Konfiguration aus Beispiel-Kopfzeile" probieren. Es sollte dabei eine Kopfzeile und mind. eine ausgefüllte Datenzeile vorhanden sein.

# CSV-Portfolioimport-Formatbeschreibung

## Allgemeine Hinweise

Die Konfigurationen erfolgen innerhalb der INI-Dateien. Dabei gelten folgende Grundansätze:

- Normalisierung aller Zeilen, so dass Leerzeichen am Anfang und Ende ignoriert werden
- " oder ' für die Werte können genutzt werden, werden aber praktisch ignoriert. Die Zeichen sind damit jedoch als Sonderzeichen zu betrachten
- Zeilen mit # am Anfang werden ignoriert und können daher als Kommentar-Zeilen verwendet werden

Die INI-Konfiguration nutzt praktisch einen Transformationsalgorithmus, der ein Zielformat beschreibt für den Trade-Import. Die INI-Konfiguration nutzt daher alle Felder aus dem Trade-Import, die hier dann in der Position oder Default-Werten etc. zu beschreiben sind.

## Nutzbare Import-Felder

<div class="table-wrap" id="bkmrk-schl%C3%BCssel-typ-ben%C3%B6ti"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 101.481%;"><colgroup><col style="width: 17.058%;"></col><col style="width: 8.03455%;"></col><col style="width: 11.0012%;"></col><col style="width: 14.9566%;"></col><col style="width: 48.949%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Schlüssel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Schlüssel</div></th><th aria-disabled="false" aria-label="Typ: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Typ</div></th><th aria-disabled="false" aria-label="Benötigt (MUSS-Feld): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Benötigt (MUSS-Feld)</div></th><th aria-disabled="false" aria-label="AutomatischerAbgleich mit den gleichnamigen Listen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Automatischer  
Abgleich mit den gleichnamigen Listen</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">ciName

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd">Empfohlen</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd">Titel für die Transaktion d.h. z.B. Aktienname. Der Name wird nur verwendet, wenn mit der ISIN der zugehörige Titel nicht gefunden werden kann. Der Name wird dann für die automatische Neuanlage genutzt.  
  
Sonderfall:

- Soll ein Datensatz gelöscht werden, so muss hier "DELETE" eingetragen werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciOrdernummer

</td><td class="confluenceTd" colspan="1">Ganzzahlige Nummer</td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="cb17d19d-62ea-46a2-9164-9a98e105bd60" data-macro-name="status">TRANSAKTIONSLISTEN</span>

</td><td class="confluenceTd" colspan="1">Eindeutige Transaktionsnummer. Diese wird benötigt, um Dopplungen zu vermeiden und bei einem erneuten Reimport diese Transaktion zu überspringen. Die Order-Nummer sollte eineindeutig für ein Konto sein.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciDepot

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Notwendig

</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="469d916a-6689-45f1-ae10-8329d5627163" data-macro-name="status">KONTEN</span>

</td><td class="confluenceTd" colspan="1">Es wird praktisch der Name oder die Konto-Nummer des Kontos angegeben. Dabei erfolgt automatisch ein Vergleich auf einen möglichen Match mit allen vorhandenen Konten.  
  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciBoerse

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="137ae3b4-ad27-4189-b4b7-ec8713410ebd" data-macro-name="status">BÖRSEN</span>

</td><td class="confluenceTd" colspan="1">Zuordnung zur genutzten Börse für die Transaktion. Es wird dabei der Name der Börsen entsprechend Einstellungen / Börsen verwendet.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciISIN

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Notwendig

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Wenn nur eine WKN vorhanden sein, so kann das Feld auch auf das WKN-Feld gesetzt werden. Dies sollte nur im Daten-Notfall erfolgen!

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciTyp

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Notwendig

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Erlaubte Typen sind:

- 'Kauf',
- 'Verkauf'
- 'Dividende'
- 'Haben/Zinsen'
- 'Kupon'
- 'Verkauf/Bezugsrechte'
- 'Soll/Zinsen'
- 'Spesen'
- 'Einzahlung'
- 'Auszahlung'
- 'Steuern/Allgemein'
- 'Steuern/Zinsabschlag'
- 'Steuern/Soli'
- 'Steuern/Abgeltungssteuer'
- 'Steuern/Kirchensteuer'
- 'Steuern/Erstattung'

Ist diese Zuordnung so nicht im Import-Format vorhanden muss mittels CiCheck.Pattern (s.u.) ein entsprechender Austausch automatisch vorgenommen werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciDatum

</td><td class="confluenceTd" colspan="1">Datum</td><td class="confluenceTd" colspan="1">Notwendig

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Transaktionsdatum im Format: DD.MM.YYYY (wenn nicht durch Spezialattribute umgeschrieben)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciZeit

</td><td class="confluenceTd" colspan="1">Zweit</td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Transaktionsdatum im Format: hh:nn (wenn nicht durch Spezialattribute umgeschrieben)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciKurs

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Transaktionskurs z.B. Kaufkurs. Als Währung wird dabei immer Euro angenommen. Ein Wechsel ist aktuell noch nicht möglich!

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciKursWährung</td><td class="confluenceTd" colspan="1">Zeichenkette </td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="3003a43f-cbd6-42e7-9a54-16138afd044f" data-macro-name="status">WÄHRUNGEN</span>

</td><td class="confluenceTd" colspan="1">Währungskürzel für den importierten Transaktionskurs z.B. €, $ oder EUR, USD, GPD, NOK etc..

Alle Kurs, Volumen, Wert-Angaben werden dann in dieser Währung angenommen. Wird das Feld "ciKurswährungsumrechnung" angegeben, wird automatisch der zugehörige Umrechnungskurs zugeordnet.

</td></tr><tr role="row"><td class="confluenceTd">ciKurswährungsumrechnung

</td><td class="confluenceTd">Gleitkommawert</td><td class="confluenceTd">Empfohlen</td><td class="confluenceTd">  
</td><td class="confluenceTd">Wird hier ein Umrechnungskurs von der hinterlegten Währung zur Hauptwährung angegeben. Bitte beachten Sie, dass hier nur der Umrechnungskurs zur Portfolio-Währung hinterlegt werden kann z.B. EUR/USD, wenn EUR die Portfolio-Währung ist.

[![image-1655628082610.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628082610.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628082610.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciKurswährungsumrechnungInvert</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Analog ciKurswährungsumrechnung allerdings mit 1/X ausgewertet. Am Beispiel von EURUSD, wird häufig USD-EUR angegeben d.h. 0.88. Sie müssen dann hier diesen Spalten-Wert nutzen!

[![image-1655628087943.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628087943.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628087943.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciWertWährung</td><td class="confluenceTd" colspan="1">Zeichenkette </td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="8ecc8401-b4f4-437d-bea5-ab474863db88" data-macro-name="status">WÄHRUNGEN</span>

</td><td class="confluenceTd" colspan="1">Währungskürzel für den importierten Wertkurs z.B. €, $ oder EUR, USD, GPD, NOK etc..</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciWert

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Aktueller Gesamtwert der Position

</td></tr><tr role="row"><td class="confluenceTd">ciWertDatum

</td><td class="confluenceTd">Datum</td><td class="confluenceTd">Optional</td><td class="confluenceTd">  
</td><td class="confluenceTd">Datum für den aktuellen Kurs</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciStk

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Notwendig

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Anzahl der Stücke für die Transaktion als Gleitkommawert</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciGewinn

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Vorberechneter Gewinn der Transaktion für Verkaufstransaktionen</td></tr><tr role="row"><td class="confluenceTd">ciGewinnWährung</td><td class="confluenceTd">Zeichenkette </td><td class="confluenceTd">Empfohlen</td><td class="confluenceTd"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="3013e653-a655-4d51-894a-81df55376206" data-macro-name="status">WÄHRUNGEN</span>

</td><td class="confluenceTd">Währungskürzel für den importierten Gewinnwährungskurs z.B. €, $ oder EUR, USD, GPD, NOK etc..</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciGeb

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Empfohlen</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Höhe der Gebühren für die Transaktion. Ist keine Gebühr angegeben, wird über das Ordervolumen und den Kurs x Stück versucht eine Rückrechnung auf die Gebühr vorgenommen</td></tr><tr role="row"><td class="confluenceTd">ciGebWährung</td><td class="confluenceTd">Zeichenkette </td><td class="confluenceTd">Empfohlen</td><td class="confluenceTd"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="98d5cc1f-5af9-4af0-bb6f-aa34897ba27c" data-macro-name="status">WÄHRUNGEN</span>

</td><td class="confluenceTd">Währungskürzel für den importierten Gebührenkurs z.B. €, $ oder EUR, USD, GPD, NOK etc..</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciEntscheidung

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="e09bd57f-e2fa-419a-952d-3cd30b6c3c11" data-macro-name="status">ENTSCHEIDUNGEN</span>

</td><td class="confluenceTd" colspan="1">Legt den Einscheidungsantrag an ("Name" als Zuordnungsfeld) oder ordnet einen bestehenden zu</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciBewertung

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="e4a61deb-d01a-44c6-bcc6-af578fa1a277" data-macro-name="status">BEWERTUNGEN</span>

</td><td class="confluenceTd" colspan="1">Legt den Bewertungsantrag an ("Name" als Zuordnungsfeld) oder ordnet einen bestehenden zu</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciNotiz

</td><td class="confluenceTd" colspan="1">Zeichenkette</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Freies Textfeld, was als Kommentar für die Transaktion hinterlegt wird</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciOrdervolumen

</td><td class="confluenceTd" colspan="1">Gleitkommawert</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Transaktionsvolumen inkl. Gebühren

</td></tr><tr role="row"><td class="confluenceTd">ciOrdervolumenWährung</td><td class="confluenceTd">Zeichenkette </td><td class="confluenceTd">Optional</td><td class="confluenceTd"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="099f3765-cc8a-4ea2-81a9-d49c94bd8ae5" data-macro-name="status">WÄHRUNGEN</span>

</td><td class="confluenceTd">Währungskürzel für den importierten Ordervolumenkurs z.B. €, $ oder EUR, USD, GPD, NOK etc..</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciStatus</td><td class="confluenceTd" colspan="1">Zeichenkette  
"Offen" oder ""</td><td class="confluenceTd" colspan="1">Optional</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Wenn "Offen" dann wird diese Transaktion als "vorläufig" aufgenommen. Dies ist insb. für offene Verkaufsorder d.h. Stoppkurse interessant. Es gibt nur den Status "Offen" oder leer.</td></tr></tbody></table>

</div>## Nutzbare Spezial-Attribute

Mittels folgender Spezialausprägungen können spezielle Konstellationen festgelegt werden. Die Attribute sind für alle Zuordnungs-Schlüssel technisch nutzbar. Logisch gibt es nicht in allen  
Fällen eine Verwendung z.B. das .shorttimeformat macht nur für ciDatum.shorttimeformat Sinn, um das genutzte Datumsformat zu beschreiben.

<div class="table-wrap" id="bkmrk-attribut-beispiele-h"><table class="wrapped relative-table confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 19.2829%;"></col><col style="width: 22.986%;"></col><col style="width: 34.1211%;"></col><col style="width: 23.6092%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Attribut: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Attribut</div></th><th aria-disabled="false" aria-label="Beispiele: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beispiele</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th><th aria-disabled="false" aria-label="Interpretations-Vorrang-Regel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Interpretations-Vorrang-Regel</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">ciXXX.Wert

</td><td class="confluenceTd" colspan="1">= XXXXX

</td><td class="confluenceTd">Konstanter Wert wird festgelegt unabhängig von den Werten in der auszulesenden Datei z.B. ciBoerse.Wert = 'Frankfurt'

</td><td class="confluenceTd">Wenn ein ".wert" vorgegeben wird, dann sticht dieser Wert d.h. wird immer verwendet

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.decimalseparator</td><td class="confluenceTd" colspan="1">="."  
=","

Konkrete Beispiele:

- ciStk.decimalseparator = '.'

</td><td class="confluenceTd" colspan="1">Um zwischen europäischen und amerikanischen Zahlenformaten wechseln zu können, ist es möglich für einzelne Positionen das Dezimal-Trennzeichen separat festzulegen.</td><td class="confluenceTd" colspan="1">Der festgelegte Wert wird immer verwendet für den Wert. Im Default wird das deutsche Dezimaltrennzeichen mit "," verwendet.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.Standard

</td><td class="confluenceTd" colspan="1">= XXXXX

</td><td class="confluenceTd" colspan="1">Wenn im Datensatz kein Wert gefunden werden kann, wird stattdessen dieser Wert als "Rückfall-Wert" verwendet

</td><td class="confluenceTd" colspan="1">Wenn ein ".standard" vorgegeben wird, dann wird dieser verwendet, wenn keine Position zugeordnet wurde oder der Standardwert aus dem Datensatz leer ist

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.shortdateformat

</td><td class="confluenceTd" colspan="1">= yyyymmdd  
= dd.mm.yyyy

Konkrete Beispiele:

- ciDatum.shortdateformat='[dd.mm](http://dd.mm/).yyyy'
- ciDatum.shortdateformat='ddmmyyyy'

</td><td class="confluenceTd" colspan="1">Datumsformat entspricht hier 4stellige Jahreszahl, 2stelliger-Monat und 2stelliger-Tag  
  
Siehe auch  
[https://docwiki.embarcadero.com/Libraries/Berlin/de/System.SysUtils.FormatDateTime](https://docwiki.embarcadero.com/Libraries/Berlin/de/System.SysUtils.FormatDateTime)

</td><td class="confluenceTd" colspan="1">Wenn ein ".shortdateformat" vorgegeben ist, dann wird hiermit der aktuelle Wert in das Standard-Datums-Format des lokalen Anwenders übersetzt nachdem aller vorherigen Regeln angewendet worden sind

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.shorttimeformat

</td><td class="confluenceTd" colspan="1">= hh:nn:ss  
= hh:nn

Konkrete Beispiele:

- ciZeit.shorttimeformat='hh:mm:ss'

</td><td class="confluenceTd" colspan="1">Zeitformat entspricht hier Stunden, Minuten, Sekunden  
  
Siehe auch  
[https://docwiki.embarcadero.com/Libraries/Berlin/de/System.SysUtils.FormatDateTime](https://docwiki.embarcadero.com/Libraries/Berlin/de/System.SysUtils.FormatDateTime)

</td><td class="confluenceTd" colspan="1">Wenn ein ".shorttimeformat" vorgegeben ist, dann wird hiermit der aktuelle Wert in das Standard-Datums-Format des lokalen Anwenders übersetzt nachdem aller vorherigen Regeln angewendet worden sind

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.Pattern

</td><td class="confluenceTd" colspan="1">= '(.\*) STK'  
= '(.\*) EUR'

Konkrete Beispiele:

- ciKurs.Pattern='(.\*) EUR'
- ciTyp=7   
    ciTyp.Pattern='ORDER.(Kauf|Verkauf).'

</td><td class="confluenceTd" colspan="1">Der eigentliche Wert muss erst ermittelt werden mittels eines Pattern insb. wenn Zusatz-Daten im Feld verwendet werden wie EUR oder STK. Es sind hier für Perl-Reguläre-Ausdrücke zu verwenden mit einer Group-Match-Logik. Es wird dabei immer der Wert der 1. Match-Gruppe verwendet.  
Dies ist immer der 1. geklammerte Wert d.h. bei 1200 STK und (.\*) STK ergibt dies 1200.

Siehe auch  
[https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular\_Expressions](https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular_Expressions)

</td><td class="confluenceTd" colspan="1">Wenn ein ".pattern" vorgegeben ist, dann wird dieser am Ende angewendet. Wenn dies nicht möglich ist, wird der vorherige Ergebniswert beibehalten

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciXXX.FilenamePattern

</td><td class="confluenceTd" colspan="1">= '.\*(????????).csv'

Konkrete Beispiele:

- ciDepot.filenamepattern = 'Verrechnungskonto-(\[0-9\]\*)\_.\*\\.csv'

</td><td class="confluenceTd" colspan="1">Im Dateinamen wird nach dem Wert mit dem angegebenen Pattern gesucht, wobei der gesuchte Wert in runden Klammern steht (regex-Logik).  
Damit lassen sich beliebige Werte auch im Dateinamen verschlüsseln und anwenden  
  
Siehe auch  
[https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular\_Expressions](https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular_Expressions)

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciCheck.minimumfields</td><td class="confluenceTd" colspan="1">= 5</td><td class="confluenceTd" colspan="1">Hiermit können bewusst unvollständige Datensätze ausgeschlossen werden. Die angegebene Anzahl sind die erwartete Anzahl von Datensätze (mit Semikolon getrennt)</td><td class="confluenceTd" colspan="1">Wenn vorhanden wird dieser Wert initial ausgelesen, um nicht geeignete Datensätze zu ignorieren.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciCheck.pattern.&lt;nummer&gt;  
ciCheck.replacement.&lt;nummer&gt;

</td><td class="confluenceTd" colspan="1">.pattern.1 = '&amp;#3\[8|9\];'

.replacement.1=  
' &amp; '

Konkrete Beispiele:

- ciCheck.pattern.1 = 'Gutschrift:.\*'
- ciCheck.replacement.1 = 'Einzahlung'

oder

- ciCheck.pattern.2 = 'Zinsabschluss (.\*)(\\d){2}\\.(\\d){2}\\.(\\d){4}'
- ciCheck.replacement.2 = 'Soll/Zinsen'

oder auch komplexe Varianten mit Austausch der Wert-Gruppen durch \\1 \\2 etc.

- ciCheck.pattern.1 = '\\ WKN\\ (\[A-Z,0-9\]\*)\\ /\\ (\[A-Z,0-9\]\*)\\ (\[A-Z,0-9,\\ ,\\.,\\-\]\*) DEPOTNR.:\\ (\[0-9\]\*)'
- ciCheck.replacement.1 = ';\\1;\\2;\\3;\\4;'

</td><td class="confluenceTd" colspan="1">Hiermit ist der Austausch von kompletten Stringketten möglich. Dabei wird die Zuordnung zwischen Pattern und Replacement über reguläre Ausdrücke gemacht. Die Nummer sollte eindeutig sein und bei 1 beginnen. Sie wird solange fortgesetzt, bis kein Eintrag mehr in der INI zu finden ist. Das Ersetzen erfolgt dabei priorisiert VOR allen anderen Schritten und kann daher zur Standardisierung von bestimmten Zeichenketten am Anfang der Verarbeitung genutzt werden.

Beispiel-Gruppe für drei automatische Ersetzen-Regeln:

ciCheck.pattern.1 = '&amp;#3\[8|9\];'  
ciCheck.replacement.1 = ' &amp; '

ciCheck.pattern.2 = '9-997/7713'  
ciCheck.replacement.2 = ''

ciCheck.pattern.3 = 'manuell'  
ciCheck.replacement.3 = ''

Siehe auch  
[https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular\_Expressions](https://docwiki.embarcadero.com/RADStudio/Seattle/en/Regular_Expressions)

</td><td class="confluenceTd" colspan="1">Die Regel werden startet bei 1 ...X durchgeführt. Der Abbruch erfolgt, wenn zur vorgehenden Nummer kein Nachfolgereintrag mehr gefunden wird.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciCheck.DefaultColumnSeparator</td><td class="confluenceTd" colspan="1">- ciCheck.DefaultColumnSeparator = ";"

</td><td class="confluenceTd" colspan="1">Standard-Trennzeichen zwischen den Spalten, wenn es nicht ";" sein soll</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>## Konkrete Beispiele

- Im \\Daten\\Import-Verzeichnis finden Sie eine "Autoimport-Trades-Template.ini". Diese wird auch beim Hinzufügen eines neuen Profils im Editor verwendet. Es kann aber auch manuell zum Kopieren genutzt werden.
- Alle im \\Daten\\Import-Verzeichnis liegende Dateien mit ... können für eigene Tests verwendet werden 
    - Autoimport-Trades-\*.ini
    - Autoimport-Depotbestand-\*.ini
    - Autoimport-Aktienliste-\*.ini

# Inkrementelle Transaktionsdaten und Sonderfälle

Als ein Spezialfall für den Import von Transaktions-/Kontobewegungen, können die Import-Dateien Zusatzinformationen enthalten, um automatisch zu einem Konto zugeordnet zu werden oder sogar das komplette Portfolio automatisch zurückzusetzen.

## Importprozess

Es ist möglich sein, im Datenverzeichnis (\\Daten\\Import) eine oder mehrere Autoimport-Trades-\*.CSV abzulegen, die automatisch beim Depot-Start importiert werden. Die Dateien sollten im shareHOLDER spezifischen Depot-Importformat vorliegen. Die Order-IDs werden dabei auf bereits vorhandene Einträge geprüft und im Zweifel ignoriert. Quelle der Datei kann ein externes Exportmodul sein wie z.B. ein automatischer Export des IC-Market-cAlgo-Trader-Informationen.

Vorteil ist so, dass praktisch Realtime-Depottransaktionen bereitgestellt werden können, die dann beim Start von shareHOLDER importiert werden.

Im ersten Schritt wird eine Liste der vorhandenen Importdateien aus dem \\Daten\\Import-Verzeichnis erstellt mit dem Namensschema "Autoimport-Trades\*.csv". Diese werden dann schrittweise importiert und eine Log-Datei unter Daten\\Import\\&lt;Import-Filename&gt;.log geschrieben. Importierte Dateien werden anschließend in das \\Daten\\Import\\Archiv-Verzeichnis verschoben.

[![image-1655628124851.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628124851.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628124851.png)

## Konfiguration

Siehe auch

- Autoimport-Deptbestandsdateien (siehe [Depot-Import automatisch aus Depotbestands-Dateien](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Depot-Import%20automatisch%20aus%20Depotbestands-Dateien&linkCreation=true&fromPageId=48037652))
- Autoimport-Aktienlisten-Dateien (siehe [Autoimport von Stammdaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/34635594/Autoimport+von+Stammdaten))
- [Depot-Import aus CSV-Dateien - Import Assistent](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/18579496/Depot-Import+aus+CSV-Dateien+-+Import+Assistent)

Um eine weitere Flexibilität beim Import zu erreichen, können aus der Importdatei die ersten Zeilen mit Konfigurationsparametern belegt werden:

Nachfolgend ein Konfigurationsschema einer beliebigen Autoimport-Trades-\*.CSV. Diese CSV-Datei enthält somit die Basis-Transaktionsdaten und die Konfigurationsdaten

```PHP
# Konfiguration
#
# Konto-Stand kann direkt festgelegt und anschließend so automatisch übernommen werden
Account-Balance=XXX.XX


# Konto-Broker als Name
Account-Brokername=XXXX


# Konto mit Kontonummer
Account-Number=XXXX


# Das angegebene SHAREholder-Depot kann genutzt werden, um ein spezifisches Depot zu laden für den Import. Dies ermöglicht so auch fließende Wechsel der Depotdateien bei Import mehrerer Auto-
# Import-Trade-Dateien aus dem Import-Verzeichnis. Das letzte geladene Depot bleibt dann allerdings für die Session erhalten.
SHAREholder-Depot=<Filename z.B. Standard.DepotR2>


# Für das geladende Depot kann erzwungen werden, dass alle vorherigen Transaktionsdaten gelöscht werden
SHAREholder-Clear-All-Existing-Data=True|False


# Trade-Daten
#
Amazon.Com Inc;;Flatex;Frankfurt;US0231351067;Kauf;25.09.2016;12:27:35;805,750;805,75;1,0000;0,00;7,65;'Undefiniert;';;
SAP SE`X;;Flatex;Frankfurt;DE0007164600;Verkauf;07.12.2015;15:46:34;73,220;-1.464,40;-20,0000;644,40;8,68;'Undefiniert;';;
```

# XTB-Trades und XTB-Kataloge

XTB ist ein eingetragener CFD/Forex-Broker für Forex, Rohstoffe, Indizes, ETFs ([https://www.xtb.com/de](https://www.xtb.com/de)). Technisch kann in ShareHolder sowohl ein Abgleich zu den Katalogen, Stammdaten, Kursdaten bis hin zur Trading-Historie/Offene Positionen erfolgen. Die Aufruf-Funktionen befinden sich unter anderem direkt in der Toolbar bzw. im Hauptmenü.

[![image-1655628143329.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628143329.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628143329.png)

## Voraussetzung

Es muss einmal unter den Programm-Einstellungen der Zugangscode für die XTB-Plattform hinterlegt werden, um die nachfolgenden Funktionen überhaupt aufrufen zu können. Sie können dabei über eine separate Checkbox auch gerne nur einen Demo-Account für die ersten Gehversuche nutzen.

[![image-1655628147874.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628147874.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628147874.png)

## XTB-Katalog-Synchronisation

Es werden praktisch alle vorhandenen XTB-Kataloge ausgelesen und stehen für einen Abgleich zu den internen Markt-Listen zur Verfügung. Während der Synchronisation erfolgt ein Abgleich im folgendem Umfang:

<div class="table-wrap" id="bkmrk-abgleich-details-kur"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Abgleich: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Abgleich</div></th><th aria-disabled="false" aria-label="Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Kursdaten</td><td class="confluenceTd">-13 Monate mit Open, High, Low, Close, Volumen, Datum</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Stammdaten</td><td class="confluenceTd" colspan="1">- ISIN durch das XTB-Symbol
- Nachkommastellen durch die XTB-Precision-Definition
- Name
- Währungseinstellung, wenn USD oder EUR gesetzt worden sind

</td></tr></tbody></table>

</div>Über die Auswahlboxen entscheiden Sie selbst, ob gleichnamige Marktlisten automatisch erstellt werden.

[![image-1655628153070.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628153070.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628153070.png)

## XTB-Kursdaten-Synchronisation

Es werden analog der Tai-Pan und Internet-Aktualisierung auf Basis der aktuellen dargestellten Liste alle Kursdaten abgerufen. Von XTB werden dabei Realtime-Kursdaten geliefert und bis max. 13M zurückgegeben als Historie.

[![image-1655628157386.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628157386.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628157386.png)

## XTB-Trade-Historie-Abgleich

Mittels des direkten Trade-Historie-Abgleichs können per Knopfdruck nativ die Trades übernommen werden. Dabei werden gleichzeitig automatisch die darunterliegenden Symbole/Titel der Trades einmalig mit aktualisiert. Über das Startdatum kann dabei der Umfang der Aktualisierung festgelegt werden. Der Abgleich erfolgt sowohl für Short-als auch Long-Trades. Die Konto-Bilanz (Liquidität) kann dabei mit berücksichtigt werden.

[![image-1655628161804.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628161804.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628161804.png)

# OnVista-Abgleich

OnVista bietet über das Webportal unter <span data-card-url="https://my.onvista.de/" data-inline-card="true"><span class="loader-wrapper">[<span class="css-1p7ax5 e158gagu2"><span class="smart-link-title-wrapper css-0 e158gagu8">my onvista</span></span>](https://my.onvista.de/)</span></span> Möglichkeiten eigene Musterdepots und Watchlisten zu führen. Dabei können pro Titel auch Signale und Benachrichtigen versendet werden. Vor allem existiert eine Mobile-App, die auf den konfigurierten Datenbestand aufsetzt und sowohl eine Bearbeitung als auch Auswertung der eingetragenen Titel zulässt.

ShareHolder bietet aktuell keine eigene Mobile-App an, da hierfür auch die Daten-Provider-Infrastruktur genutzt werden müsste für eine aktuelle Depot-Bestandsanzeige. Es wird daher eine beidseitige Synchronisation der Daten angestrebt. Damit lassen sich Depottitel sowohl in onVista als auch in ShareHolder anlegen und dann per Klick in die andere Richtung synchronisieren.

Die Nutzung von ShareHolder in Kombination hat erhebliche Vorteile:

- Mobile Nutzung mit Echtzeitdaten aus OnVista
- Handelsstrategien zur Bewertung von Kauf-Kandidaten auf Basis von mobil gepflegten Watchlisten in ShareHolder
- Spätere automatische Signale durch Stop/Zielkursmarken die aus ShareHolder kommen
- Tiefenanalyse mittels Web-Recherche-Tools und Detail-Listen in ShareHolder, um insb. die Fundamentaldaten und technische Daten zu vergleichen
- Automatische Massendaten-Imports von den Konten und Brokern über ShareHolder und anschließend Übernahme per Klick in OnVista

Weitere Infos für die Mobile-App:

- ([Android-App-Version](https://play.google.com/store/apps/details?id=de.onvista.ovone "https://play.google.com/store/apps/details?id=de.onvista.ovone"))
- ([iOS-App-Version](https://apps.apple.com/de/app/onvista-b%C3%B6rse-finanzen/id1463977185 "https://apps.apple.com/de/app/onvista-b%C3%B6rse-finanzen/id1463977185"))

## Status der Entwicklung<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Aktuell befindet sich die Entwicklung noch in einer ersten Beta-Version und es sind noch nicht alle Funktionalitäten umgesetzt und verfügbar.

1. **Iteration (Version 21.10.0)**
    
    
    1. Konfigurierte Portfolios, Watchlisten aus onVista auslesen
    2. Watchlisten aus onVista
        
        
        1. Watchlisten-Titel innerhalb einer konfigurierten Watchliste aus onVista auslesen
        2. Watchlisten-Titel übernehmen per Klick auf Einzeltitel-Ebene oder Gesamt aus onVista
        3. Automatischer Vergleich der Bestände zwischen einer ShareHolder-Watchliste und einer onVista-Liste
    3. Portfolio-Übernahme aus onVista
        
        
        1. Portfolio-Transaktionen innerhalb eines konfigurierten Portfolios aus onVista auslesen und darstellen
        2. Automatischer Vergleich der Bestände zwischen einer ShareHolder-Transaktionsliste und einer onVista-Portfolio-Transaktionsliste
2. **Iteration (Version 21.10.1)**
    
    
    1. Portfolio-Transaktionen zu ShareHolder übernehmen
3. **Iteration (Version 21.10.3)**
    
    
    1. Synchronisation in Richtung onVista für Portfolio-Titel
4. **Iteration (in Arbeit)**
    
    
    1. Synchronisation in Richtung onVista für Watchlisten-Titel
5. **Iteration (TBD)**
    
    
    1. Signal-Synchronisation für Stopp-Kurse oder Zielkurse

## Anmeldung und Erstkonfiguration<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Sie können sich bei onVista unter <span data-card-url="https://my.onvista.de/login" data-inline-card="true"><span class="loader-wrapper">[<span class="css-1p7ax5 e158gagu2"><span class="smart-link-title-wrapper css-0 e158gagu8">my onvista</span></span>](https://my.onvista.de/login)</span></span> registrieren bzw. anmelden. Diese Anmeldedaten müssen Sie einmal nutzen, um einen Zugriffs-Code (Token) zu erzeugen in Shareholder. Sie müssen hierzu einmalig unter Einstellungen / Kursdaten - Datenanbieter - API-Keys gehen und dort unter dem Eintrag “onVista” einmalig den Nutzername und Kennwort eingeben und danach “API-Key ermitteln …” aufrufen. Sie erhalten so den Zugriffs-Code der automatisch unter dem Reiter “API-Key” übernommen wird. Dieser ist personalisiert auf Ihren Account und wird in allen nachfolgenden Funktionen benutzt.

[![image-1655628190192.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628190192.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628190192.png)

## Arbeit mit Watchlisten aus onVista<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

<span class="status-lozenge-span" data-color="green" data-node-type="status" role="presentation"><span class="css-3wrbaf"><span class="css-1wsum1f">INITIALVERSION</span></span></span>

Wenn Sie in onVista angemeldet sind in der Weboberfläche (App analog) haben Sie Zugriff auf Watchlisten. Dabei können auch Fremd-Watchlisten abonniert werden von Profi-Anlegern z.B. von Hamalaya Capital Management, Yale Universitry und weitere. ShareHolder kann diese Watchlisten beidseitig synchronisieren. In der aktuellen Iteration können Watchlisten von onVista zu ShareHolder übernommen werden.

[![image-1655628195210.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628195210.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628195210.png)

Sie sehen automatisch alle enthaltenen Titel aus den onVista-Watchlisten. Sie haben auch Zugriff auf alle vorhandene definierten Watchlisten aus OnVista und können direkt zwischen diesen Wechseln. Wenn Sie auf der Ziel-Watchliste “&lt;Neu&gt;” auswählen, wird mit dem Hinzufügen von Titeln automatisch eine gleichnamige Watchliste angelegt. Sie können auch Einzel-Titel hinzufügen und über den Switch filtern, welche Titel bisher nicht lokal vorhanden waren.

[![image-1655628200342.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628200342.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628200342.png)

Besonderheiten und Vorteile bei der Titel-Übernahme

Die Datenübernahme von Watchlisten-Titel umfasst automatisierte weitere Schritte, um die sofortige Arbeit mit den Watchlisten-Titeln zu ermöglichen:

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-vkfh7o" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk-automatische-titel-a"><div class="rich-media-item mediaSingleView-content-wrap image-align-start css-vkfh7o" data-layout="align-start" data-node-type="mediaSingle" data-width="50"><div class="css-1gnie6a"><div data-alt="" data-collection="contentId-171966465" data-context-id="171966465" data-file-mime-type="image/png" data-file-name="image-20211022-151800.png" data-file-size="58121" data-height="600" data-id="cdb3bd77-9833-45ce-81d0-cad8a9cf4df4" data-node-type="media" data-type="file" data-width="1017"><div class="media-card-viewport-anchor">- Automatische Titel-Anlage, wenn ein Titel bisher unbekannt war
- Automatische Aktualisierung der Fundamentaldaten des Titels, um umgehend auch auf die Analyse mit den Fundamentaldaten einsteigen zu können
- Automatische Kursdatenaktualisierung und Zuordnung auf onVista-Profile je nach Market-Quote

</div></div></div></div></div>## Arbeit mit Portfolios aus onVista<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

<span class="status-lozenge-span" data-color="green" data-node-type="status" role="presentation"><span class="css-3wrbaf"><span class="css-1wsum1f">INITIALVERSION</span></span></span>

Nach Anmeldung im Webportal haben Sie neben den Watchlisten auch Zugriff auf die Musterdepots und Echtdepots. Dabei sind die definierten Musterdepots synchronisierungsfähig. Echtzeitdepots sind aktuell nicht angebunden, würden hier auch keine Transaktionsdaten zeigen, sondern nur den aktuellen Depot-Bestand.

[![image-1655628206626.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628206626.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628206626.png)

## Nutzung neuer bisher nicht genutzter Titel<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

Können bei der Übernahme von Watchlisten oder Portfolio-Titel Werte gefunden, die bisher in den Aktienstammdaten nicht vorhanden waren, werden diese automatisch importiert. Dabei wird versucht möglichst wenig Arbeit beim Nutzer zu verursachen:

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-vkfh7o" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk-automatische-anlage-"><div class="css-1gnie6a"><div data-alt="" data-collection="contentId-171966465" data-context-id="171966465" data-file-mime-type="image/png" data-file-name="image-20211022-151800.png" data-file-size="58121" data-height="600" data-id="cdb3bd77-9833-45ce-81d0-cad8a9cf4df4" data-node-type="media" data-type="file" data-width="1017"><div class="media-card-viewport-anchor">- Automatische Anlage des Titels
- Aktualisierung der Fundamentaldaten über das Fundamentaldaten-Autoimport-Profil. Dies übernimmt initial neben Bilanz-Kennzahlen auch Prognosedaten und Kern-Stammdaten für Tätigkeitsbereich, Land, Währung etc.
- Automatische Zuordnung auf eine onVista-Kursaktualisierungsgruppe, da der Titel ja bereits seitens onVista bekannt ist. Der zugehörige Markt wird auf Basis der Marketdaten wiederverwendet
- Aktualisierung der Kurshistorie mit einem ersten Versuch, um direkt mit dem Titel inkl. Chartanalyse starten zu können

  
</div><div class="new-file-experience-wrapper sc-rBLzX ioKVxY" data-testid="media-card-view"><div class="media-file-card-view sc-bMvGRv bGJJtE" data-test-media-name="image-20211022-151800.png" data-test-progress="1" data-test-status="complete" data-testid="media-file-card-view">  
</div></div></div></div></div>

# Money-Management

# Grundlagen Money Management

## Möglichkeiten

Zu dem Thema gibt es eine Menge Bücher aber nur wenige umgesetzte Hilfen. Das Thema kann sehr umfassend behandelt werden. An dieser Stelle soll es zunächst aber nur um vorhandenen Möglichkeiten in SHAREholder zum Money-Management gehen:

[![image-1655628229621.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628229621.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628229621.png)

### Kennzahlen und Auswertungen

- Kennzahlenberechnung zur Prüfung des eigenen Systems
- Aufbereitung der Equity/Kapitalkurve im Depotchart 
    - Berechnung der Gewinnerwartungen über die Trade-Matrix (pro Trade, Opportunität, pro Jahr)

### Positionsgrößenbestimmung und -Überwachung

Stoppkursverwaltung (Setzen) insb. durch

- Per Drag&amp;Drop verschiebbare Chartlinien (Target/Initial-Risk-Stop)
- Gezielte Anwendung von Trailing Stops (automatisch nachgezogene Stops)
- Automatisches Setzen von Stops nach Kauf eines Wertes (siehe Transaktionsmaske, Setzen von Stops)
- Berechnung des Depotrisikos, Warnhinweise, wenn kein Stoppkurs für eine Depotposition festgelegt ist
- Trading-Eingabemaske nutzt Möglichkeiten der automatischen Stop-Kurs-Berechnung, sowie der automatischen Positionsgrößenbestimmung unter Beachtung des einzugehenden maximalen Kapitalrisikos, sowie der vorhandenen Liquidität. Die Eingabe von Positionen wird somit schneller, risikobewusster und einfacher.
- Berechnung des empfohlenen Investitionsgrades auf Basis eines mechanischen ökonomischen Modells (nur Basis)

## Setzen von Stopps in SHAREholder

### Hintergrund

Stoppkurse werden für jede Aktie separat hinterlegt. Die Einstellungen erfolgen über das Kontextmenü in der Depotansicht für eine Depotposition unter dem Menüpunkt "Stoppkurs ...".

[![image-1655628234972.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628234972.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628234972.png)

Hier werden sofern vorhanden, sowohl der Profit-Target-Stop, als auch der Initial-Risk-Stop eingezeichnet als gestrichelte Linien. Die rote Linie (Initial-Risk-Stop) als auch die Profit Target-Stop-Linie (grün) können per Drag &amp; Move per Maus verschoben werden. Die Stops können so genau an wichtigen technischen Marken platziert werden. Beide Werte erlauben so auch die Bewertung eines Investments auf Basis einer CRR (Chance Risiko Relation) (siehe Money-Management). Der berechnete CRR wird im Trading-Studio unter Watchlisten gezeigt. Sind noch keine Stoppkurse vorhanden für ein Titel muss über das Chartmenü Management. Stoppkurs per Mausklick dieser angelegt werden. Die Linien erscheinen anschließend auf Höhe des Initialklicks.

### Manuelles Setzen eines Stoppkurses

[![image-1655628239231.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628239231.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628239231.png)

Das Fenster teilt sich in drei Bereiche :

1. Einstellungen der einzelnen Stoppkursvarianten (Initial Risk Stop, Break Even Stop, Inactivity Stop, Profit Target Stop). Die Stoppkurse werden jeweils über die "..." eingestellt. Die Stoppkurstypen können gleichzeitig aktiviert sein. Hierzu müssen die davor platzierten Checkboxen aktiviert sein. In diesem Beispiel ist lediglich der Break Even Stop aktiviert. Die Erläuterungen zu den Stoppkursvarianten entnehmen Sie bitte direkt den nebenstehenden Hilfetexten im Formular.
2. Informationen zum aktuell aktiven Stoppkurs mit:

- Angaben zur Gutschrift bei Verkauf des Wertes zum aktuellen Stoppkurs
- Aktueller Stoppkurs
- Gesetzt durch
- Aktivierungsdatum  
    Es wird im Programm klar unterschieden zwischen dem aktiviertem und einem modifizierten Stoppkurswert. Jeder aktivierte Stoppkurs ist ein zuvor modifizierter Stoppkurs der vom User akzeptiert wurde.

1. Neuer noch nicht akzeptierte Stoppkurs (manuell/automatisch gesetzt)  
    Manuelle oder automatisch gesetzte Stoppkurse sind zunächst nur modifizierte Stoppkurse. Erst wenn dieser Wert akzeptiert wird, so ist dieser der neue aktivierte Stoppkurs. Hintergrund ist der, dass insb. automatisch gesetzte Stoppkurse zunächst vom User als korrekt modifiziert angenommen werden müssen. Nur so kann der Anwender im realen Depot evtl. auch Stoppkurse nachsetzen.

#### Zielmarkenfestlegung

Besteht die Möglichkeit einer Zielkursangabe so wird neben dem Editierfeld ein "..." Punktfeld dargestellt. Durch Anklicken dieses Bereiches  
wird ein neues Formular "Zielmarke" geöffnet. Alle Eingaben können auch im Editierfeld vorgenommen und durch Enter abgeschlossen werden. Das Formular dient nur der Eingabeerleichterung.

Das Prinzip der Eingabe ist mehrstufig und basiert auf einem Punktesystem, Prozenten oder einem Faktor. Die Zielmarke wird anschließend über oder unter einem Basiskurs (Hoch, Tief, Durchschnitt, Letzter Kurs..) gesetzt. Zur Hilfe wird der resultierende Zielwert im unteren Pannel dargestellt, neben einer anzunehmenden Gutschrift bei Verkauf der Position zum aktuellen Zielwert.

#### Trailing Stops

Die automatisch gesetzten Trailing Stops können aktiviert (siehe Checkbox auf dem Screenshot) und in ihren Einstellungen unter dem hier dargestellten Reiter verändert werden. Trailing Stops werden automatisch gesetzt. In der Depotansicht werden diese so modifizierten Kurse unter dem Kürzel "Trail" (grün) dargestellt. Der Stoppkurs wird jedoch erst übernommen, wenn der neu gesetzte/modifizierte Stoppkurs akzeptiert wird (siehe Beschreibung oben).

Für das Setzen dieses Stoppkurstypes müssen folgende Mindestangaben gemacht werden:

- Methode/Wert (Prozente, Punkte, Faktor). Die Methode "Faktor" wird nur für den Ausgangspunkt "Faktor x Volatilität" genutzt, d.h. von der Standardabweichung (Mittel der Abweichung vom Mittelwert) wird ein Produkt mit dem Faktor gebildet und entsprechend vom Ausgangspunkt hinzu/abgerechnet.
- Ausgangspunkt/Ausgangswert (Hoch, Tief, Durchschnitt, Letzter Kurs)
- Zeitpunkte und Abstand der Prüfung in Wochen

Der Wert wird zum Ausgangspunkt über/unter hinzugerechnet oder abgerechnet. Die Prüfung der Neusetzung erfolgt entsprechend der Zeitpunkte. Zwischen den Prüfungen müssen dann der Mindestabstand X in Wochen eingehalten werden.

## Theorie zum Stopp-Kurs-Management

siehe auch [Stopp-Kurs-Management](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/36667156/Stopp-Kurs-Management)

### Nutzen

Stoppkurse dienen der Gewinnsicherung und der Verlustbegrenzung im Allgemeinen. Im Einzelnen können Sie auch zur Prüfung der erwarteten Kursentwicklung und dem IST Zustand genutzt werden. Stoppkurse sind in einem vernünftigen Depotmanagement nicht wegzudenken. Dies lässt sich damit erklären, dass die Märkte nicht immer der eigenen Logik bei der Anlageentscheidung folgen und oftmals andere Richtungen einschlagen und sich somit schmerzhafte Fehlentscheidungen entwickeln können. Zur dauerhaften Vermögenssicherung ist es daher dringend anzuraten, durch geschickte Wahl der Stoppkurse eine Verlustbegrenzung zu nutzen. Die andere Seite ist der oftmals zu früh gewählte Ausstieg aus einer Position. Auch hier kann durch günstig gewähltes Nachziehen der Stoppkurse eine Möglichkeit gefunden werden die Gewinne laufen zu lassen.

### Varianten und deren Anwendung

- Stoppkurse lassen sich entsprechend der Anwendung in drei Gruppen einteilen :
- Verlustbegrenzung : Initial Risk Stop, Break Even Stop
- Gewinnsicherung : Trailing Stop, Profit Target Stop
- Prüfung der gesteckten Ziele unter Renditeaspekten: Inactivity Stop

### Anwendung in der Praxis

Genauso umstritten wie die Charttechnik oder die Fibonacci-Technik bei den Anlegern ist, werden für Stoppkursmanagement auch immer wieder Pro und Kontra Argumente gebracht. Ich selbst bin ein Verfechter von Stoppkursen mit folgender Begründung :

Was passiert wenn ich keine Stoppkurse nutze ?

1. Keine Prüfung der Kursentwicklung und den eigenen Erwartungen
2. Kein Risiko-Managment, Verluste werden nach dem Bauch behandelt (das geht immer schief) und es entstehen fast immer Depotleichen, bei dem auf die Kaufkurse gewartet wird.
3. Keine Gewinnmaximierung, da Gewinne zu oft zu schnell verkauft werden, schon bei den kleinsten Anzeichen von Gewinnen. Dies gilt umso mehr so länger (Siehe (2)) ein Anleger auf seinen eigenen Kaufkurs bereits warten musste ...
4. Die Kursentwicklung und die Depotentwicklung werden zu direkt abhängigen Größen ohne Grenzwerte, da entweder gar keine oder verspätet Reißleinen gezogen werden.

Das häufigste Kontra-Argument : "Ich halte meine Aktien langfristig und möchte nicht durch kurzzeitige Einbrüche aus dem Markt geworfen werden". Dieses Argument unterstellt die Anlage in eine gesunde Aktiengesellschaft, sowie ein logisches Verhalten der Marktteilnehmer auf Basis von Fundamentaldaten. Diese Annahmen können jedoch nicht immer erfüllt werden und können somit zu hohen Verlustpositionen führen. Zudem wird hier ein Großteil der Gewinnmöglichkeiten verschenkt. Warum sollte ich in eine sehr stark zyklische Position investiert bleiben, die z.B. von Jan-Mar eine Rendite von 50% bringt um dann bis Jul den gewonnen Gewinn komplett abzugeben? In dieser Zeit lassen sich Positionen in andere Papieren aufbauen und gewinnbringend traden.

Bei reiner Langfristanlage wäre auch ein entsprechend weit gesetzter Stoppkurs möglich, der das Depot nur vor grundsätzlichen Trendwechseln schützt. Kurzfristige Marktbewegungen müssen hierbei nicht erfasst sein. Ein gutes System hierfür ist es mittels Kumulationsanalyse Kreuzwiederstände zu finden und kurz unter diesen Stoppkurse festzulegen.

### Stopkursnutzung

Offen ist bei den Überlegungen bisher ob ein reeller Stoppkurs im Depot gesetzt wird oder mit überwachten Limits in SHAREholder ausreichend Schutz vorhanden ist. Die Frage kann nur jeder für sein System, sein Typ beantworten. Das Nichtsetzen von reellen Limits kann bei tragischen Meldungen schnell zu einer tragischen Depotleiche führen. Zudem muss der Anleger die Disziplin haben Stoppkurse nicht nachzuziehen zur Kursentwicklung (also auch nach unten) und bei Erreichen eines Stoppkurses konsequent verkaufen. Klare Vorteile sind dagegen die Ersparnis von Aufwand/Kosten für reell gesetzte Stoppkurse, sowie dass das gezielte Auslösen von Stoppkursen durch Trader nicht möglich ist (mit Marktlevel-Sicht sind Stoppkurse sichtbar). Entscheidend bei den Überlegungen sind die Kosten, sowie die Disziplin des Anlegers. Aus meiner persönlichen Sicht sollte lediglich der Initial-Risk-Stop gesetzt werden. Exit-Points sollten technisch (Charttechnik) gesucht werden und nicht über automatische Trailing Stops. Trailing Stops sind effektiv über Kreuzwiederstände zu setzen (Charttechnik) in SHAREholder. Bei Erreichen dieser Exit-Points wird dann konsequent ein passender Limitkurs am Markt gesetzt. Der Unterschied ist hier eindeutig, es wird bei den Trailing Stops nicht unlimitiert sondern mit Limit seine kostbare Fracht auf den Markt geworfen.

# Stopp-Kurs-Management

## Depotansicht und Stopp-Kurs-Berechnungen

Nachfolgend ein einfaches Depot-Beispiel. Zur Vereinfachung sind es aber vollständig in € erfasste Titel und normale Aktientitel oder Optionsscheine (keine CFDs, womit keine echten Shorts behandelt werden). In SHAREholder erfolgt dabei eine technische Unterscheidung zwischen Long und Shorts, womit Shorts tatsächlich eine negative Stückzahl besitzen und Gewinn machen, wenn der AK kleiner als der KK ist.

<div class="table-wrap" id="bkmrk-ak-wert-ek-wert-stk-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="AK-Wert: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">AK-Wert</div></th><th aria-disabled="false" aria-label="EK-Wert: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">EK-Wert</div></th><th aria-disabled="false" aria-label="Stk: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Stk</div></th><th aria-disabled="false" aria-label="Aktueller Kurs (AK): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Aktueller Kurs (AK)</div></th><th aria-disabled="false" aria-label="Kaufkurs(KK) : No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="5" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Kaufkurs  
(KK) </div></th><th aria-disabled="false" aria-label="Stopp: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="6" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Stopp</div></th><th aria-disabled="false" aria-label="Buchgewinn: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="7" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Buchgewinn</div></th><th aria-disabled="false" aria-label="Erlös per Stop: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="8" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Erlös per Stop</div></th><th aria-disabled="false" aria-label="Risiko/Gewinnabsicherung als (Stopp-KK) * Stk für Long(KK-Stopp) * Stk für Short: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="9" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Risiko/Gewinnabsicherung als  
(Stopp-KK) * Stk für Long  
(KK-Stopp) * Stk für Short</div></th><th aria-disabled="false" aria-label="Hinweise : No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="10" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise </div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">SMI Long</td><td class="confluenceTd">272,00 €</td><td class="confluenceTd">76,50 €</td><td class="confluenceTd"> 50,00 </td><td class="confluenceTd">5,44 €</td><td class="confluenceTd">1,53 €</td><td class="confluenceTd">1,93 €</td><td class="confluenceTd">195,50 €</td><td class="confluenceTd">96,50 €</td><th class="confluenceTh">20,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="f4179274-7036-4a8b-8331-5c92fe239b74" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">EURUSD Short</td><td class="confluenceTd">98,50 €</td><td class="confluenceTd">45,50 €</td><td class="confluenceTd"> 25,00 </td><td class="confluenceTd">3,94 €</td><td class="confluenceTd">1,82 €</td><td class="confluenceTd">1,14 €</td><td class="confluenceTd">53,00 €</td><td class="confluenceTd">28,50 €</td><th class="confluenceTh">-17,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="b418e95b-2555-438e-b59a-53b2f0938190" data-macro-name="status">RISK</span>  
Position durch den gesetzten Stopp nachwievor im Risiko,  
da nur zählt wo die Position mit dem Stopp abgesichert wurde</div></td></tr><tr role="row"><td class="confluenceTd">RTS Long</td><td class="confluenceTd">972,00 €</td><td class="confluenceTd">722,00 €</td><td class="confluenceTd"> 200,00 </td><td class="confluenceTd">4,86 €</td><td class="confluenceTd">3,61 €</td><td class="confluenceTd">3,90 €</td><td class="confluenceTd">250,00 €</td><td class="confluenceTd">780,00 €</td><th class="confluenceTh">58,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="3fa245b2-dfa3-4bf9-9421-e44ad820632b" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">Dax Long</td><td class="confluenceTd">1.232,96 €</td><td class="confluenceTd">968,33 €</td><td class="confluenceTd"> 11,00 </td><td class="confluenceTd">112,09 €</td><td class="confluenceTd">88,03 €</td><td class="confluenceTd">104,13 €</td><td class="confluenceTd">264,63 €</td><td class="confluenceTd">1.145,43 €</td><th class="confluenceTh">177,10 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="d70678e7-41b0-4b39-8257-63eacb5944ad" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">AT&amp;T</td><td class="confluenceTd">1.549,95 €</td><td class="confluenceTd">1.327,50 €</td><td class="confluenceTd"> 50,00 </td><td class="confluenceTd">31,00 €</td><td class="confluenceTd">26,55 €</td><td class="confluenceTd">26,61 €</td><td class="confluenceTd">222,45 €</td><td class="confluenceTd">1.330,50 €</td><th class="confluenceTh">3,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="7243dfe7-1aab-43a8-83a7-73e3e44cd6a8" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">Athex Short</td><td class="confluenceTd">260,00 €</td><td class="confluenceTd">225,00 €</td><td class="confluenceTd"> 500,00 </td><td class="confluenceTd">0,52 €</td><td class="confluenceTd">0,45 €</td><td class="confluenceTd">0,28 €</td><td class="confluenceTd">35,00 €</td><td class="confluenceTd">140,00 €</td><th class="confluenceTh">-85,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="84e4ce38-82db-476f-a1bc-53860dacecc4" data-macro-name="status">RISK</span></div></td></tr><tr role="row"><td class="confluenceTd">EON</td><td class="confluenceTd">1.419,00 €</td><td class="confluenceTd">1.260,00 €</td><td class="confluenceTd"> 100,00 </td><td class="confluenceTd">14,19 €</td><td class="confluenceTd">12,60 €</td><td class="confluenceTd">12,70 €</td><td class="confluenceTd">159,00 €</td><td class="confluenceTd">1.270,00 €</td><th class="confluenceTh">10,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="4077b6e5-61ee-404c-bc33-092820cd32c5" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">Ferratum</td><td class="confluenceTd">1.858,00 €</td><td class="confluenceTd">1.799,00 €</td><td class="confluenceTd"> 100,00 </td><td class="confluenceTd">18,58 €</td><td class="confluenceTd">17,99 €</td><td class="confluenceTd">18,00 €</td><td class="confluenceTd">59,00 €</td><td class="confluenceTd">1.800,00 €</td><th class="confluenceTh">1,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-success conf-macro output-inline" data-hasbody="false" data-macro-id="c5df7af8-ad75-403c-a675-c36d83265122" data-macro-name="status">NO RISK</span>  
Keine Risikoposition mehr</div></td></tr><tr role="row"><td class="confluenceTd">Öl Long</td><td class="confluenceTd">1.320,00 €</td><td class="confluenceTd">1.279,20 €</td><td class="confluenceTd"> 40,00 </td><td class="confluenceTd">33,00 €</td><td class="confluenceTd">31,98 €</td><td class="confluenceTd">0,00 €</td><td class="confluenceTd">40,80 €</td><td class="confluenceTd">0,00 €</td><th class="confluenceTh">-1.279,20 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="1c3744b2-2598-4d49-9f02-e92c4bd95699" data-macro-name="status">FULL RISK / NO STOP</span>  
Risiko=EK-Wert da kein Stoppkurs gesetzt und damit mit 0 angenommen wird</div></td></tr><tr role="row"><td class="confluenceTd">Shell</td><td class="confluenceTd">889,50 €</td><td class="confluenceTd">927,60 €</td><td class="confluenceTd"> 30,00 </td><td class="confluenceTd">29,65 €</td><td class="confluenceTd">30,92 €</td><td class="confluenceTd">25,00 €</td><td class="confluenceTd">-38,10 €</td><td class="confluenceTd">750,00 €</td><th class="confluenceTh">-177,60 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="65200c0f-4cbe-4eed-8eae-77a66e6d3081" data-macro-name="status">RISK</span></div></td></tr><tr role="row"><td class="confluenceTd">Balda</td><td class="confluenceTd">360,00 €</td><td class="confluenceTd">430,00 €</td><td class="confluenceTd"> 1.000,00 </td><td class="confluenceTd">0,36 €</td><td class="confluenceTd">0,43 €</td><td class="confluenceTd">0,33 €</td><td class="confluenceTd">-70,00 €</td><td class="confluenceTd">330,00 €</td><th class="confluenceTh">-100,00 €</th><td class="confluenceTd"><div class="content-wrapper"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="e44f0a25-9ded-4619-b35b-ca31c4f52253" data-macro-name="status">RISK</span></div></td></tr><tr role="row"><th class="confluenceTh">  
</th><th class="confluenceTh">Depotwert:</th><th class="confluenceTh">Einkauf:</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">Buchgewinn:</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th></tr><tr role="row"><td class="confluenceTd">  
</td><td class="confluenceTd">10.231,91 €</td><td class="confluenceTd">9.060,63 €</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">1.171,28 €</td><td class="confluenceTd">  
</td><th class="confluenceTh">  
</th><td class="confluenceTd">  
</td></tr><tr role="row"><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">Depot-Risiko  
(Positionen mit Verlust im Stoppkurs-Fall)</th><th class="confluenceTh">-1.658,80 €</th><th class="confluenceTh">Summe nur der echten Verlustpositionen</th></tr><tr role="row"><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh">Depot-Gewinn/Verlust  
(bei vollst. Stoppauflösung)</th><th class="confluenceTh">-1.389,70 €</th><th class="confluenceTh">Summe der Gewinne/Verluste insgesamt,  
wenn alle Stoppkurse ausgelöst werden</th></tr></tbody></table>

</div>Wichtig ist dabei die Einordnung, dass es nicht darum geht, was der Erlös bei einer Stopp-Auslösung ist, sondern mit welcher Absicherung das Depot aktuell abgebildet ist und welches Risiko auf dem Depot liegt.

Dieses wird durch die Summe der Einzelrisiken d.h. was pro Depotwert an Kapital im Risiko steht bestimmt. Das Einzelrisiko ist immer nur die Differenz zwischen Stopp und Kaufkurs optional unter Einbeziehung der Transaktionskosten. Wenn ich einen Titel für 2x 100€ eingekauft habe und der Stopp bei 80€ steht dann verliere ich bei Stoppauflösung 2x 20€. Das ich dabei wieder 2x 80€ gutgeschrieben bekomme ist unwichtig, sondern nur wieviel steht die Position im Risiko d.h. dass ich 40€ Verlust zu verkraften habe. Die Aufsummierung soll damit zum aktiven Umgang mit den Stoppkursen motivieren.

In diesem Beispiel sind damit 1.171,28€ Gewinn aufgelaufen, das Depot aber "nur" so abgesichert, dass bei z.B. extremen Marktbewegungen die Positionen durch die Stopps nur mit -1.389,70€ aufgelöst werden können.

### Besonderheiten für die Berücksichtigung als Risikoposition

Um in die Risikoberechnung berücksichtigt zu werden, müssen folgenden Bedingungen erfüllt sein:

- Position muss realisiert sein (Checkbox in der Transaktionsmaske, Standard ist jedoch aktiviert)
- Long und Short-Positionen werden unterschieden, so dass für Long: Stopp-KK gilt und für Short: KK-Stopp

Wenn die Positionen aufgerechnet werden erfolgt zusätzlich eine Währungsumrechnung auf die vorhandenen Währungsdaten. In der Depotansicht sollte daher immer vorsichtshalber auch die Währungsspalten angezeigt werden (rechte Maustaste auf den Spaltenköpfen), um hier eventl. Umrechnungsfehler durch fehlende Währungskursdaetn zu vermeiden.

### Besonderheiten in der Berechnung 

Wenn eine Position jetzt bereits im AK unterhalb des Stoppkurses sich bewegt, dann ist die Position natürlich mit der aktuellsten GuV statt dem Stopp-Value berücksichtigt. Es macht kein Sinn das Risiko ideal zu betrachten, wenn praktisch der Stoppkurs bereits gerissen ist und die Position deutlich stärker im Minus ist.

Beispiel siehe unten "Anpassung und Auslösen von Stoppkursen".

## Grundprinzip der Stoppkurse

Stoppkurse werden immer an einem Titel gehalten und nicht an einem einzelnen Depotwert. Dies hat mehrere Nachteile, da beispielsweise nicht mehrere Stoppwerte für Einzelpositionen zu einem Titel (Depot-Pyramidisierungsansätze) gehalten werden können und auch keine unterschiedlichen Stoppkurse pro Konto/Depot gehalten werden. Es ist jedoch bewusste in dieser Form umgesetzt, um sich zu fokussieren auf zentrale Net-Value-Stoppkurse und die Verwaltung der vorhandenen Stoppkurse zu vereinfachen und praktisch von allen Sichten in SHAREholder zugänglich ist wie Chart, Watchlisten, Depotansicht etc.

Komplexe Stoppkurs-Konstellationen sollen und müssen daher direkt beim Broker/auf dem Trading-Investment-Konto erfolgen. In SHAREholder selbst wird hier damit gezielt trivialisiert abgebildet.

Ein einzelnen Stoppkurs hat immer einen akzeptierten Stoppkurs-Wert und einen vorgeschlagenen Stoppkurs-Wert. Idee ist es immer den User die Möglichkeit zu geben, Stoppkurs-Vorschläge zu machen z.B. für einen Break-Even-Stopp. Dieser muss jedoch akzeptiert und angenommen werden um tatsächlich auch ausgelöst werden zu können. Ausgelöst heisst hier, dass eigene Aktivierungsfenster gezeigt werden. Ziel war es dabei zusätzlich bewusst mit dem akzeptieren von Stoppkursen auch in den echten Depots den manuellen Stoppkurs anzupassen.

## Anpassung und Auslösen von Stoppkursen

Zum öffnen der Stoppkurs-Masken für einen Titel diesen markieren und das Kontextmenü mit der rechten Maustaste öffnen und dort "Stopkurs..." wählen. Alternativ kann der Shortcut &lt;Strg&gt;&lt;S&gt; gewählt werden.

[![image-1655628355318.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628355318.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628355318.png)

[![image-1655628362353.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628362353.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628362353.png)

Hier als einfaches Beispiel einmal zusammengefasst:

- Deutsche Bank ist gekauft für 33€, aktuell mit 29,56€ bereits im Minus und gesamt mit einer GuV (ohne Gebühren) bei -310,05€
- Der letzte akzeptierte Stoppkurs ist aber bei 30€ und würde damit nur ein Risiko von 270€ darstellen. Da nicht davon ausgegangen wird, dass die Stoppkurse auch produktiv 1:1 gesetzt sind, wird damit als Risiko im Depot hier die -310€ angenommen
- Mit <span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="c26e6909-1894-4e97-aa9e-fc447721ef64" data-macro-name="status">ACHTUNG:</span> &lt;Stopp-Wert-Quelle&gt; und &lt;Stopp-Wert&gt; wird ein ausgelöster Stopp im Depot angezeigt und es kann entsprechend manuell der Wert verkauft werden, wenn kein echter Depot-Stopp beim Broker hinterlegt worden ist

Ein neuer Stoppkurs kann nun im entsprechenden Feld "Neuer Stoppkurs" gesetzt werden und mit dem "Hammer" oder &lt;Enter&gt; eingegeben werden. Damit ist der Stoppkurs zunächst aber nur modifiziert. Um diesen praktisch zu "aktivieren" muss dieser einmal aktiviert werden über die Checkbox "Akzeptieren". Danach wird dies zum neuen Stoppkurs. Dieser zweistufige Prozess ist notwendig, da Stoppkurse auch automatisch modifziert werden können z.B. einen Break-Even-Stopp (Kaufkurs erreicht) oder Trailing-Stopp, der den aktuellen Kursen nachläuft. Um diese Übernahme bewusst zu machen und auch manuelle Depotanpassungen zu vereinfachen, werden diese automatischen Stopp-Werte (wenn aktiviert) wirklich erst nach Aktivierung übernommen.

[![image-1655628370243.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628370243.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628370243.png)

### Unterscheidung V der Stopps zur Kaufsumme / G/V der Stopps zur Kaufsumme und G/V der Stopps zum Depotwert

Stoppkurse haben unterschiedliche "Komfortzonen" d.h. wenn eine Position eröffnet wird, wird zunächst nur ein Initialkurs gesetzt. Dieser muss praktisch bei LONG-Positionen unterhalb des Kaufkurses sein und ist damit zunächst ein Risiko für das Depot. Das Risiko ist die Differenz zwischen Kaufkurs und Absicherungsniveau (Stopp) multipliziert mit der Anzahl. Danach kann eine Position sich für zwei Richtungen entscheiden, entweder gegen oder für ein. Wenn für ein, läuft die Position ins Plus und der Stopp kann wenn gewollt nachgezogen werden, um auch vorhandene Gewinne abzusichern. Diese Gewinnabsicherung ist aber eine andere Form des Initialrisikos. Um diese Absicherungsniveaus aber nicht vollständig zu ignorieren, werden zwei Werte ausgewiesen. Der Wert des Depot-Risikos enthält nur Einzelrisiken aus Positionen, die aktuell noch unterhalb des Break-Even abgesichert sind und damit bei Auslösung des Stopps noch einen Verlust bedeuten. Daneben ist es jedoch ein Unterschied zwischen Depotwert auf Basis aktuellster Kurse und den durch Stopps insgesamt abgesicherten Wertniveaus. Der Wert Depot G/V bei vollständiger Stoppauslösung soll dies ausdrücken.

Also Kurzform:

- V der Stopps zur Kaufsumme: Summe aller Einzelrisiken der offenen Depotpositionen. Es werden dabei nur Positionen gezählt die mit dem Stopp einen Verlust zur Kaufsumme darstellen.
- G/V der Stopps zur Kaufsumme: Summe der Einzelrisiken / Gewinnsicherungen der Depotpositionen in Differenz zur Kaufsumme
- G/V der Stopps zum Depotwert: Summe der Einzelrisiken / Gewinnsicherungen der Depotpositionen in Differenz zum aktuellen Depotwert d.h. wieviel Depotrisiko ist im Depot enthalten zum jetzigen bereits erreichten Kursniveau. Oder anderes: Differenz aus Depotwert und Summe der Verkaufserlöse nach den Stopps.

## Gesamtüberwachung der vorhandenen Stoppkurse

Hierzu über das Kontextmenü im Depot (r.Maustaste) den Menüpunkt "Stoppkurs(e) ..." wählen. Sie haben von hier die Möglichkeit alle aktivierten und modifzierten Stoppkurse einzusehen. Das Fenster wird wenn unter Einstellungen nicht deaktiviert mindestens beim Unterschreiten von Kursen unterhalb der Stoppkurse angezeigt als Warnfenster und Hinweis für den Nutzer. Zweck der Darstellung ist alle vorhandenen Stoppkurse an einer Stelle zu überwachen. Dabei werden Stoppkurse nicht nur an Depottiteln genutzt, sondern an beliebigen Titeln und können damit für eine Gesamt-Markt-Überwachung mitgenutzt werden.

[![image-1655628377229.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628377229.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628377229.png)

# Sicherungen und Wiederherstellung

# Cloud-Speicher zur Synchronisation persönlicher Einstellungen

## Ziel

Sie können die persönlichen Konfigurationen und die Portfolio-Dateien mit Dropbox und/oder Google-Drive synchronisieren:

[![image-1655628393507.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628393507.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628393507.png)

Ziel ist es dabei die persönlichen Dateien nicht nur sehr einfach und sehr dediziert zu speichern in eigenen persönlich genutzten Cloud-Speichern, sondern vor allem eine smarte Möglichkeit zu haben, über mehrere Rechner hinweg die relevanten persönlichen Daten per Knopfdruck effizient zu synchronisieren. Es werden dabei bewusst nur persönliche Dateien gesichert und keine von ShareHolder-Addons/Modulen ausgelieferte Dateien.

Dies betrifft damit

- Bookmarks
- Alle Portfolio-Dateien
- Programm-Optionen
- alle [Nutzung persönlicher und individualisierter Einträge (Custom-Items)](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/96501525) d.h. alle \*.STMC Dateien z.B. für individuelle Kursaktualisierungsgruppen oder Watchlisten
- Konfigurationen der Länder, Branchen, Tätigkeitsbereiche
- Listen/Spalten-Konfigurationen
- Konfiguration der Marktanalyse-Einstellungen

Inhaltlich arbeitet die Synchronisation mit einem Vergleich auf Datumsebene zwischen der lokalen Variante und der in der Cloud befindlichen Version. Es gewinnt dabei automatisch immer die "neuere" Version.

[![image-1655628398611.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628398611.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628398611.png)

## Notwendige Berechtigungen und Zugriffe

Es erfolgt keine Synchronisation auf einem globalen Server, sondern nur zwischen Ihrer lokalen Installation zu Ihrer freigegebenen Instanz in einem "Sandbox"-Modell d.h. ohne Root-Zugriff.

ShareHolder nutzt dabei nur eine "Sandbox" d.h. konkret für die verschiedenen Speicher-Varianten:

- Dropbox: Folgendes Verzeichnis wird genutzt (mehr Zugriff ist auch nicht vorhanden): Dropbox/Apps/Shareholder
- Google-Drive: Google-Drive/-

Technisch wird bei der ersten Synchronisation versucht einen Freigabe-Token zu erzeugen. Dabei müssen die Login-Daten einmalig eingegeben werden. Der Zugriffs-Token der nur für ShareHolder verwendet werden kann, wird dabei lokal zwischengespeichert. Wiederholte Logindaten-Eingaben sind damit verhindert.

## Vorgehen

Die Synchronisation erfolgt dabei direkt bei Start des Dialogs. Bevor die eigentliche Synchronisation mit "Synchronisation starten" tatsächlich begonnen wird, kann über das Kontextmenü die Art der Aktion noch verändert werden. Es kann dabei zwischen Upload / Download / Keine Aktion unterschieden werden.

Sie können damit bei z.B. fehlerhaften lokalen Löschungen im Portfolio einen Sync durchgeführen und die betroffene Portfolio-Datei manuell zum Download selektiert und damit wiederherstellen. Damit haben Sie mit wenigen Klicks eine Möglichkeit auf das Backup gezielt zuzugreifen.

[![image-1655628411144.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628411144.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628411144.png)

# Relevante Dateien zur Sicherung

## Modul: Stammdaten.MOD

<div class="table-wrap" id="bkmrk-dateiname-inhalte-da"><table class="wrapped confluenceTable"><colgroup><col></col><col></col><col></col><col></col></colgroup><tbody><tr><th class="confluenceTh">Dateiname</th><th class="confluenceTh">Inhalte</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Boersen.stm</td><td class="confluenceTd">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr><th class="confluenceTh" colspan="1">Internet-Konfigurationen</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Entscheidungen.stm</td><td class="confluenceTd">siehe Menü / Einstellungen / Depot: Entscheidungen</td><td class="confluenceTd" rowspan="10">[![image-1655630891932.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630891932.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630891932.png)

</td></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Transaktionsbewertung.stm</td><td class="confluenceTd">siehe Menü / Einstellungen / Depot: Transaktionsbewertungen</td></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Konten.stm</td><td class="confluenceTd">siehe Menü / Einstellungen / Konten</td></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Watchlisten.stm</td><td class="confluenceTd">siehe Menü / Einstellungen / Watchlisten</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Aktualisierungsgruppen.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Einstellungen / Cloud: Aktualisierungsgruppen</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Adresse.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Einstellungen / Cloud: Internetadressen</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Variablen.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Einstellungen / Cloud: Internetvariablen</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Importformate.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Einstellungen / Cloud: Import/Exportformate</td></tr><tr><td class="confluenceTd">Daten\\Stammdaten.Maerkte.stm</td><td class="confluenceTd">siehe Menü / Einstellungen / Märkte</td></tr><tr><td class="confluenceTd">Daten\\Einstellungen.Internet.stm</td><td class="confluenceTd">siehe Menü / Aktualisieren / Cloud: Filter</td></tr><tr><th class="confluenceTh" colspan="1">Dynamische Filter-Systeme und andere technische Spezial-Module</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd">Daten\\Stammdaten.NN.stm</td><td class="confluenceTd">siehe Menü / Kursprognose: Neuronale Netze</td><td class="confluenceTd" rowspan="3">[![image-1655630897665.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630897665.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630897665.png)

</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Dynamic.Filter.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Aktien-Filter-Systeme</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Indikatoren.Gruppen.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Technische Indikatoren</td></tr><tr><th class="confluenceTh" colspan="1">Depot-Spezifische Datendateien</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd">Daten\\Internet.Bookmarks.ini</td><td class="confluenceTd">siehe Menü innerhalb des News-Browsers</td><td class="confluenceTd" rowspan="3">[![image-1655630902670.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630902670.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630902670.png)

</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Standard.DepotR2</td><td class="confluenceTd" colspan="1">Wird immer geladen, wenn keine andere Konfiguration vorhanden ist</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Depots.txt</td><td class="confluenceTd" colspan="1">siehe Menü / Depot / Laden von URL ...</td></tr><tr><th class="confluenceTh" colspan="1">Auto-Import-Dateien d.h. Konfigurationen für den automatischen Datenimport</th><th class="confluenceTh" colspan="1">siehe Menü / Einstellungen / Cloud: Fundamentaldaten</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">Daten\\Import\\Autoimport-Trades-\*.ini z.B.  
Daten\\Import\\Autoimport-Trades-comdirect-Transaktionsliste.ini</td><td class="confluenceTd" colspan="1">Spezielle Konfigurationen für Transaktionslisten</td><td class="confluenceTd" rowspan="6">[![image-1655630907419.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630907419.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630907419.png)

</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Import\\Autoimport-Trades-\*Kontobewegungen.ini z.B.  
Daten\\Import\\Autoimport-Trades-DeGiro-Kontobewegungen.ini</td><td class="confluenceTd" colspan="1">Spezielle Konfigurationen für Kontobewegungen (Ein-Auszahlungen)</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Import\\Autoimport-Aktienliste-\*.ini z.B.  
Daten\\Import\\Autoimport-Aktienliste-comdirect-Demo.ini</td><td class="confluenceTd" colspan="1">Spezielle Konfigurationen für Aktienlisten zur Datenübernahme</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Import\\Autoimport-Depotbestand-\*.ini z.B.  
Daten\\Import\\Autoimport-Depotbestand-Demo-Sparkasse.ini</td><td class="confluenceTd" colspan="1">Spezielle Konfigurationen für Depotbestand-Abgleiche d.h. keine vollständige Transaktionen sondern Depot-Abbildungen</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Import\\Autoimport-StopLimits-\*.ini z.B.  
Daten\\Import\\Autoimport-StopLimits-Demo-CustomFile.ini</td><td class="confluenceTd" colspan="1">Spezielle Konfigurationen für Stop-Limit-Abgleiche z.B. für Comdirect-Watchlisten-Stopplisten</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\autoupdate.ini</td><td class="confluenceTd" colspan="1">Konfigurationsdatei, um automatische Aktionen beim Programmstart auszulösen z.B. automatische Kursaktualisierung, automatische Börse-Online-Statistik-Imports</td></tr><tr><th class="confluenceTh" colspan="1">Auto-Recognize für bisher unbekannte Aktien(-Stammdaten)</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">Daten\\Stammdaten.AutoImport.ini</td><td class="confluenceTd" colspan="1">Bei fehlenden Stammdaten wird entsprechend diesem Profil ein Autoimport versucht</td><td class="confluenceTd" colspan="1">  
</td></tr><tr><th class="confluenceTh" colspan="1">Kursdaten-Importdateien</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">Daten\\Database\\Kursdaten-Migrate-Inc-500.sdb</td><td class="confluenceTd" colspan="1">Delta-Kursdaten für die letzten 500 Tage. Der Import erfolgt automatsich beim Programmstart.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr><th class="confluenceTh" colspan="1">Fundamental-Daten-Import-Konfigurationen</th><th class="confluenceTh" colspan="1">  
</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">Daten\\Internet.Fundamental-Data-\*.ini z.B.  
Daten\\Internet.Fundamental-Data-Ariva.ini</td><td class="confluenceTd" colspan="1">Spezifische Fundamentaldaten-Importdateien die pro Anbieter angelegt werden und dann in Auswahlmenüs im Programm zur Verfügung stehen.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr><td class="confluenceTd" colspan="1">Daten\\Default-Fundamentaldaten-Selektion.Filter.Profile.stm</td><td class="confluenceTd" colspan="1">siehe Menü / Aktualisieren / Cloud: Filter / Spezielles Konfigurations-Profile, was über die Auto-Update-Funktion angesprochen wird</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>## Modul: Aktienstammdaten.MOD

<div class="table-wrap" id="bkmrk-dateiname-inhalte-da-0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Dateiname: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Dateiname</div></th><th aria-disabled="false" aria-label="Inhalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Inhalte</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Daten\\Stammdaten.Aktien.R8.stm</td><td class="confluenceTd">Liste aller Aktien und die jeweils zugehörigen Stammdaten wie Kennzahlen, WKN, ISIN, Marktzuordnungen etc.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>##   
Modul: Systemdateien.MOD

<div class="table-wrap" id="bkmrk-dateiname-inhalte-re"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Dateiname: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Dateiname</div></th><th aria-disabled="false" aria-label="Inhalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Inhalte</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Report\\Report.\*.CSV  
z.B. Report\\Report.Business.xsl </td><td class="confluenceTd">Liste aller Report-Definitionen für den Druck</td><td class="confluenceTd" colspan="1">[![image-1655630914558.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630914558.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630914558.png)

</td></tr></tbody></table>

</div>

# Sicherung und Wiederherstellung

## Interne automatisches Backup- und Wiederherstellungsroutinen

### Backup-Routine: Sicherung von Einstellungen und Daten

[![image-1655630968942.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630968942.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630968942.png)

Über das Hauptmenü / Extras / Sicherung können Sie bequem und schnell Sicherungen Ihrer persönlichen Änderungen vornehmen. Sie wählen hierzu thematische Themen/Gruppen. Das Programm wählt dann für Sie ein oder mehrfach automatisch die zugehörigen Dateien zur Sicherung aus dem Datenverzeichnis aus. Folgende Besonderheiten werden genutzt:

- Depots nutzt Wildcars mit /Daten/\*.DepotR2
- Charteinstellungen nutzt Wildcards mit /Daten/Charts/\*
- Kursdaten erzeugt eine spezielle "Kursdaten-Migrate-Inc.adb" - Datenbankdatei, die dabei nach Wunsch (siehe Kursdaten Von-Bis- Checkboxen ) nur spezielle Kursdaten-Zeiträume berücksichtigt. Damit werden inkrementelle Kursdaten-Updates möglich. So kann beispielsweise eine Gesamt-Archiv-Datei mit 200MB erzeugt werden und ab diesem Zeitpunkt werden über Kursdaten-Von-Einschränkungen nur noch inkrementelle Kursdaten-Sicherungen vorgenommen.

Das Sicherungsmodul erzeugt als interessante Besonderheit ausführbare und unabhängige Sicherungsdateien (EXE-Dateien) z.B. "2020-09-01-

[![image-1655630974491.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630974491.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630974491.png)

Damit soll erreicht werden, dass Sicherungen unabhängig vom Setup/Shareholder jederzeit zurückgeholt werden können. Sollte SHAREholder beispielsweise nicht mehr startbar sein, so ließe sich hierüber ein unabhängiges Recover durchführen und durch Datenfehler verursachte Probleme sogar beseitigen.

Im (Rechner/Neuinstallation) Desaster-Recovery-Fall können folgende einfache Schritte durchgeführt werden für eine komplette Wiederherstellung inkl. aller persönlichen Einstellungen:

- Download des aktuellen Setups: [https://www.shareholder24.de/download/full/setup\_shareholder.exe](https://www.shareholder24.de/download/full/setup_shareholder.exe)
- Start und Installation der aktuellsten Version unter Verwendung der aktuellen Registrierungsdaten
- Start der manuellen Sicherungsdatei und "Wiederherstellung starten"
- ![(Haken)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/check.png) FERTIG

Die Selektion und Auswahl der zu sichernden Objekte werden gespeichert und somit mit dem nächsten Start wieder genutzt.

### Restore-Routine: Wiederherstellen von Einstellungen und Daten

Nach Start der ausführbaren Sicherungsdatei

[![image-1655630981035.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630981035.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630981035.png)

(Name natürlich abhängig vom gewählten Namen) erhalten Sie sofort eine spezielle Wiederherstellungsmaske. In dem Moment sind bereits der

- Kommentar der Sicherung
- Darstellung und Mapping der enthalten Sicherungsdateien (als sprechende Namen, so wie sie in SHAREholder verwendet werden und Datum). In dem Beispiel sind damit Depots, Charteinstellungen und Börsenplätze gesichert.
- Automatische Auswahl des Zielverzeichnis / Datenverzeichnis entsprechend SHAREholder-Installation

<div id="bkmrk-vorkonfiguriert-und-">vorkonfiguriert und ausgelesen.</div>[![image-1655630985929.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630985929.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630985929.png)

Im einfachsten Fall können Sie nun direkt mit "Wiederherstellung starten" die Dateien wiederherstellen. Es verfolgt damit klar das Ziel "One-Click-Recovery".

Nach dem Start erhalten Sie ein "Protokoll" aller tatsächlich wiederhergestellten Dateien.  
Sie können danach "Beenden" und SHAREholder nun starten.

<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-id="3ae8d9eb-2530-4c9c-8601-3df71a289a04" data-macro-name="info" id="bkmrk-da-es-sich-technisch"><div class="confluence-information-macro-body">- Da es sich technisch um ein ZIP-SFX-Archiv handelt, mit einer eigenen Logik, können die Sicherungsdateien auch immer mit geeigneten ZIP-Programmen manuell entpackt werden z.B. WinZIP. Sie sollten hier aber keine Vorteile gewinnen, da Sie das Mapping zwischen den Dateinamen und der Verwendung kennen müssen und zudem die möglichen Mehrfachdateien für Charteinstellungen, Profilinformationen relativ umständlich einzeln markieren und entpacken müssen.
- Für den Start des SFX-Archivs wird kein Zusatzprogramm benötigt.
- Nach dem Start wird der Installationspfad für die aktuelle SHAREholder-Installation geprüft. Kann kein gültiger Pfad gefunden werden, wird das Programm mit einem Warnhinweis automatisch geschlossen.
- Sie sollten vor dem Start der Wiederherstellung evtl. laufende SHAREholder-Instanzen schließen, da es sonst zu unerwünschten Überschreibeffekten kommen kann.

</div></div>### Cloud-Storage (Dropbox, Google-Drive) zur Synchronisation persönlicher Konfigurationen, Einstellungen und Depots

Eine sehr komfortable und zugleich sichere Sicherungsvariante ist die Nutzung der Cloud-Synchronisation. Die Synchronisation erfolgt dabei nach einmaliger Freigabe zu Ihrer genutzten Cloud-Lösung. Diese Freigabe bezieht sich nur auf die lokale auf Ihrem System installierte ShareHolder-Version und nutzt immer eine Differenzanalyse um nur notwendige Up/Downloads durchzuführen. Praktisch gewinnt immer die "neuere" Version.

[![image-1655630992693.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630992693.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630992693.png)

Weitere Details unter:  
[Cloud-Speicher zur Synchronisation persönlicher Einstellungen](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Cloud-Speicher%20zur%20Synchronisation%20pers%C3%B6nlicher%20Einstellungen&linkCreation=true&fromPageId=20414247)

## Weitere Sicherungsmechanismen

### Automatisches Backup beim Speichern auf Dateiebene

Wird eine Datendatei von SHAREholder neu gespeichert, wird automatisch die vorherige Version ins \\Shareholder\\Daten\\Backup - Verzeichnis verschoben. Es existiert somit immer eine Sicherungsdatei der zuletzt verwendeten Version im Backupverzeichnis. Ein Zurückspielen der Datei ist einfach mit dem Dateiexplorer möglich. Die Dateien haben dabei einen sprechenden Dateinamen, so dass die Zuordnung ohne weiteres möglich sein sollte. Um in das geeignete Verzeichnis zu kommen, über Hauptmenü / Hilfe / Infos / Reiter "Infos" / Button "Datenverzeichnis öffnen" nutzen.

### Automatische Sicherungen der Programmversionen und dessen Wiederherstellung

Wenn Sie im Hauptmenü unter Extras / Bereinigungen /Programmverzeichnis gehen, können Sie direkt das gültige aktuelle Verzeichnis für die Programmdateien und -Bibliotheken öffnen.

[![image-1655630997335.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630997335.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630997335.png)

Dort werden Sie alle bisherigen vorherigen Programmversionen finden als Shareholder.BAK-&lt;Datum&gt;&lt;Uhrzeit&gt;. Sie können durch einfaches Umbenennen die vorherigen Versionen zurückholen. Statt BAK\* setzen Sie dann einfach die Dateiendung für ausführbare Dateien (EXE). Die Sicherungen werden bei jeder neuen Programm-Version-Einspielung erzeugt und stehen für einen "Notfall" zur Verfügung.  
  
Da sich über die Zeit etliche Megabytes ansammeln können, sollten Sie gelegentlich die Log-und Sicherungsdateien bereinigen über die gleichnamige Funktion unter Extras / Bereinigungen oder direkt über den Tastaturkürzel: STRG-ALT-C.

[![image-1655631001603.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631001603.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631001603.png)

Bitte beachten Sie, dass mit Start einer Programmversion die Datendateien automatisch "migriert" werden auf den aktuellsten Daten-Versionsstand. Sie sollten daher nur in Ausnahmefällen manuell zurücksetzen.

### Automatische Sicherungen von wichtigen Datendateien

Auch für die Datendateien gibt es einen zweifachen Sicherungsmechanismus. So wird bei jeder Speicherung einer neuen Datendatei eine Sicherung erstellt. Auch hier kann durch manuelles Zurücksetzen die vorherige Version zurückgespielt werden. Optimalerweise nutzen Sie aber auch hier eher die Cloud-Sicherungen (siehe [Cloud-Speicher zur Synchronisation persönlicher Einstellungen](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Cloud-Speicher%20zur%20Synchronisation%20pers%C3%B6nlicher%20Einstellungen&linkCreation=true&fromPageId=20414247)). Als Sicherungsvariante ist dabei einfach die Standard-Datei-Endung mit &lt;Endung&gt;-&lt;Sicherungsdatum&gt; gesetzt. "Handelssystem.Default.stm-2020080921" dann einfach als "Handelssystem.Default.stm" in das darüberliegende \\Daten-Verzeichnis ablegen und die dort bereits liegende Version überschreiben (evtl. diese zuvor nochmals bei Bedarf sichern).

[![image-1655631005913.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631005913.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631005913.png)

# Nutzung persönlicher und individualisierter Einträge

ShareHolder nutzt individuelle Ablageorte für die Einstellungen und Stammdaten im Programm. Dabei hat sich als praktikable Arbeitsweise herausgestellt eine praktische zentrale Stammdaten-Aktualisierung zu nutzen. Dies betrifft Aktien-Titel, Aktien-Fundamentaldaten ebenso wie Internet-Aktualisierungsgruppen für historische Kursdaten oder auch Watchlisten. Die Standardeinstellungen können dabei regelmäßig und per Klick über die AddOn-Aktualisierung eingespielt werden. Da vom Nutzer jedoch eigene Einstellungen vorgenommen werden können, muss eine Art priorisierte Zusammenführung von Standard-und persönlichen Einstellungen ermöglicht werden.

Das Prinzip wird im nachfolgenden Screenshot recht deutlich, da sich die Darstellung und das Prinzip übertragen lässt auf praktisch alle anderen Einstellungen.  
Es ist hier die Konfigurationsmenü für Internet-Aktualisierungsadressen. Dabei kann in der Liste rechts ein Kontextmenü geöffnet werden und ein Eintrag auf individualisiert gesetzt werden und auch wieder zurückgesetzt werden auf den Standard. Wird ein neuer Eintrag von Ihnen erzeugt, wird dabei automatisch die Kennzeichnung "Individualisiert" gesetzt.

Individualisiert bedeutet in diesem Moment, dass dieser Eintrag fortan "maskiert" ist. Beim Verlassen von ShareHolder wird in einer separaten Datei der Eintrag gespeichert. Beim erneuten Laden des Programms werden weiterhin auch die Standardeinstellungen gezogen, dann aber für mit allen individualisierten Einstellungen überlagert.

[![image-1655631146732.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631146732.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631146732.png)

In der Konsequenz sollten Sie bei Vorhandensein einer lebenslangen Lizenz einfach nur Ihre individualisierten Einträge (\*.stmc Dateien) sichern und alle anderen Dateien regelmäßig aus dem Default holen. Sie finden die zugehörigen \*.stmC-Dateien immer im \\Daten-Verzeichnis, welches Sie über das Hauptmenü \\ Extras \\ Öffne Datenverzeichnis öffnen können. Nutzen Sie hierfür auch bevorzugt die Cloud-Speicher-Synchronisationen, die sehr bewusst nur die Portfolio-Dateien und die Custom-Items sichern (siehe [Cloud-Speicher zur Synchronisation persönlicher Einstellungen](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Cloud-Speicher%20zur%20Synchronisation%20pers%C3%B6nlicher%20Einstellungen&linkCreation=true&fromPageId=96501525))

## Besonderheiten für den Umgang mit eigenen Titel (-Stammdaten)

Um Aktien zu individualisieren und für Überschreibungen bei Stammdaten-Updates zu schützen, wechseln Sie zunächst in die Detaillisten und öffnen dort das Kontextmenü innerhalb der Listen. Sie finden dort den Punkt "Setze den Eintrag auf 'Invidualisiert'". Damit werden diese markierten Titel gesondert gespeichert und beim Laden des Systems „nachgeladen“ und überdecken damit die Standard-Einstellungen für diesen einzelnen Titel. Es werden dabei alle vorhandenen Stammdaten übernommen (Adressen, Konfigurationen, Gewinn/Dividenden-Reihen etc.).

[![image-1655631152095.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631152095.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631152095.png)

## Automatische Kennzeichnung von individualisierten Titeln

Da im Depot aufgenommene Depot-Titel fast immer auch leicht modifiziert werden in der Bezeichnung, Verwendung der Aktualisierungsgruppe etc. kann in den Programmeinstellungen eingestellt werden, dass alle Titel im eigenen Portfolio automatisch als individualisiert gekennzeichnet werden. Damit spart sich etwas manuelle Arbeit. Die Einstellung findet sich in den Programmeinstellungen:

[![image-1656079682667.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656079682667.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656079682667.png)

## Checkliste

Bitte prüfen Sie folgende Einstellungen, ob diese von Ihnen angepasst worden sind und setzen Sie jeweils die Individualisierungs-Flags:

- Aktualisierungsgruppen
- Internetadressen
- Internetvariablen
- Märkte
- Importformaten
- Konten
- ![(Warnung)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/warning.png) Aktien
- Watchlisten

Das Flag bei Aktien ist im Besonderen zu beachten und kann über die Marktlisten gesetzt werden. Achten Sie generell darauf, dass Sie wirklich ALLE eigenen Anpassungen immer markieren!

Hier ein Beispiel-Verzeichnis-Auszug vom Datenverzeichnis. Sie sehen hier nur eine individualisierte Anpassung bei den Watchlisten. Alle anderen Konfigurationen sind "Standard".  
Bitte beachten Sie auch, dass noch nicht alle Settings "markiert" werden können! Sie erhalten dann aber eine entsprechende Meldung im Frontend, wenn dies aktuell noch nicht möglich ist.

[![image-1655631157333.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631157333.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631157333.png)

## Einschränkungen

Die Individualisierungsdateien (stmC) sind intern versioniert, ebenso wie die Hauptdateien um jederzeit Programmerweiterungen mit neuen Daten(-feldern) vornehmen zu können und eine Rückwärtskompatibilität zu besitzen. Bitte achten Sie nur darauf, dass eine mit einer aktuelle Programmversion geöffnete Version nicht in älteren Programmversionen geöffnet werden kann. Die Migrationslogiken arbeiten immer nur von einer alten zu einer neuen Version. Haben Sie damit beispielsweise eine interne Version v13 mit der Programmversion 19.4 dann können Sie diese nicht in 19.3 öffnen, wenn diese nur v12 kennt. Sie können aber jederzeit eine v12 aus 19.3 in 19.4 öffnen.

Zwischen den Einstellungen können Abhängigkeiten bestehen z.B. wird von Ihnen eine eigener Fond als Titel angelegt und anschließend in eine Watchliste vermerkt. Konsistent sind Ihre Individualisierungen natürlich nur dann, wenn Sie sowohl den Fonds-Titel als auch die Watchliste markieren, da sonst im Zweifel (ohne Fehlermeldungen) die Watchliste wiederhergestellt wird, allerdings ohne den Fonds!

## Backup-Strategie

Sichern Sie grundsätzlich immer das \\Daten-Verzeichnis mit oder ohne der internen Backup-Funktion. Sichern Sie aber im Besonderen Ihre \*.stmC-Dateien (enthalten Ihre Einstellungen), da alles andere leicht wieder aus den Standard-Auslieferungen hergestellt werden kann.

## Recovery-Strategie

Grundsätzlich werden durch Updates oder Programm-Aktualisierungen keine Dateien gelöscht oder entfernt. Im Rahmen der Default-Dateien (insb. die STM-Dateien im Datenverzeichnis) werden diese aber direkt und unmittelbar überschrieben. Da die persönlichen Dateien aber immer STMC Endungen haben, brauchen Sie eigentlich keine manuellen Schritte unternehmen, wenn Sie keine erneute Komplettinstallation vorgenommen haben!

\#1: Wichtig: Schließen Sie zunächst ShareHolder, da sonst automatische Bereinigungen laufen und Ihre gerade eingespielten Dateien gleich wieder entfernt werden könnten  
\#2: Kopieren Sie einfach Ihre \*.stmC-Dateien in das \\Daten-Verzeichnis zurück  
\#3: Starten Sie ShareHolder erneut!

# Berichte und Reports

# Grundlagen

## Arbeitsschritte

Reports bzw. Berichte werden genutzt um den aktuellen Depotstand zu drucken oder zu publizieren (ins Internet als HTML Bericht). Ein Report wird erstellt über das Hauptmenü "Depot - Berichtsdruck". Über eine Stichtagsabfrage legen Sie den Berichtszeitpunkt fest, d.h. die Kontostände, Transaktionslisten usw. gelten für den Stichtag bzw. bis zum Stichtag.

## Ansicht

Die Reportansicht gliedert sich zum einen in ein Vorschaufenster und einem Einstellungsbereich. Im Einstellungsbereich lassen sich Berichtszeiträume, Inhalte und Layout festlegen. Über die Reportauswahl läßt sich ein vordefiniertes Layout auswählen.

Das Layout wird durch sogenannte XSL Files bestimmt, die bereitgestellte XML Files aufbereiten als HTML Dateien durch eine [XSLT-Transformation](https://de.wikipedia.org/wiki/XSL_Transformation). Zur Anzeige kann so der Standardbrowser verwendet werden (Firefox, Safari, IE, Opera usw.). Die Vorschauansicht erfolgt allerdings mit den Möglichkeiten des installiertem Internet Explorers.

[![image-1655628440624.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628440624.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628440624.png)

In diesem Beispiel sind im SHAREholder\\Report-Verzeichnis drei Report\*.XSL Dateien vorhanden: Report.Default.XSL und Report.Export.CSV.xsl und Report.Musterdepot\*.xsl. Die Export.CSV kann genutzt werden um die Depotdaten nach Excel als CSV-Datei zu exportieren und stellt ein sehr einfaches Beispiels für eine XSL-Format-Datei dar.

## Einstellungen

Werden die Einstellungen zu einem Report geändert, wird nach dem Refresh die neue Ansicht angezeigt.

[![image-1655628446200.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628446200.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628446200.png)

Mit Veränderung der Einstellungen für Zeiträume und Umfang, wird die vorbereitete XML-Datei verändert und damit der mögliche Output auch für die XSL-Datei.  
Weitere Details finden Sie unter [Eigene Berichte und Reports](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2031386/Eigene+Berichte+und+Reports).

## Drucken

Der Ausdruck erfolgt über den Standardexplorer des Systemes. Der Ausdruck ist optimiert für den Hochformat-Druck, wenn Depot-Grafiken verwendet werden.

<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-id="fc5bddd8-5b08-4194-9075-7759e97adcf3" data-macro-name="info" id="bkmrk-bitte-beachten-sie-i"><div class="confluence-information-macro-body">- Bitte beachten Sie in diesem Zusammenhang, dass ein farblicher Ausdruck nur möglich ist, wenn die entsprechenden Einstellungen im Browser gesetzt sind insb. die Einstellung fürs Drucken/Printing mit Druck der Hintergrundbilder und -Farben sollte aktiviert sein.
- Prüfen Sie auch unter Datei.Seiteneinstellungen, ob die Header und Footerdaten entfernt sind, da sonst unnötigerweise die Herkunftsadresse usw. ausgedruckt wird.

</div></div>

# Eigene Berichte und Reports

## Hintergrund

Berichte werden in SHAREholder als HTML Datei abgelegt. Der Ausdruck selbst wird hierbei auch nicht von SHAREholder organisiert, sondern dem installierten Standardbrowser überlassen. Die Berichte selbst werden aufgrund von XML/XSL Vorlagen erzeugt. In diesen Vorlagen wird auf Basis von XSL Steuerkommandos die verbundene XML-Struktur ausgewertet und in HTML Steuerbefehle umgesetzt.

[![image-1655628466819.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628466819.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628466819.png)

- XSL Dateien liegen unter SHAREholder\\Report.

Für die Depotreports sind alle Report.\*.XSL Dateien interessant. Generierte Bilddateien werden unter \\Report\\Temp abgelegt ebenso wie die generierten Reportdateien als XML Files. Sie finden hier übrigens auch die XSL Files für den Chartdruck und für den Depotdruck.

Folgende Zuordnungen gelten zur Zeit:

- Print.Chart.XSL - Transformation beim Chartdruck
- Print.Depotchart.XSL - Transformation beim Reportdruck in den Depotgrafiken
- Print.Liste.XSL - Transformation bei Druck von Kurslisten
- Report.\*.XSL - Transformationdateien für den Depotdruck

## XML Struktur

Alle Daten die für den Druck verwendet werden sind in der Report.XML Datei abgelegt. In dieser Datei werden zunächst alle vorhandenen Daten abgelegt. Die XSL Datei entscheidet dann aufgrund den Eintragungen im XPath (/Depot/Einstellungen) was angezeigt werden kann und soll. Den Möglichkeiten der Berichtgestaltung sind kaum Grenzen gesetzt. Allein die vorhandenen Datenmenge schränkt die Informationsdichte ein. Der nachfolgende Screenshot zeigt die Struktur der Daten.

[![image-1655628471112.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628471112.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628471112.png)

## XSL Files

Die XSL Files enthalten die Umsetzungslogik der XML Daten in HTML Steuercodes. Wenn Sie hier eigene Templates anlegen möchten, finden Sie weitere Informationen unter:

- [https://www.xsl-rp.de/index.php?top=1&amp;sub=2&amp;action=index](https://www.xsl-rp.de/index.php?top=1&sub=2&action=index)
- [https://de.wikipedia.org/wiki/XSL\_Transformation](https://de.wikipedia.org/wiki/XSL_Transformation)

# Berichte-Reporting mit Publishing für Websites

## Anwendung und Ziel

Ziel ist die Möglichkeit automatisiert oder manuell

- Depotdaten
- Watchlisten
- Equity-Charts
- Chartbilder  
    bereitzustellen über einen online-FTP Zugang oder einen lokalen Server. Das Modul ist über den Shortcut "Strg-W" zugänglich und kann so konfiguriert werden, dass nach jeder Kursaktualisierung (manuell/automatisch) die Bereitstellung automatisch erfolgt. Die lokale Bereitstellung macht insb. dann Sinn, wenn ein entsprechender Webserver lokal konfiguriert über Network-Appliance-Geräte, kleinen Linux-Servern oder einfach über einen lokalen Apachen bereitgestellt werden soll. Der direkte FTP Upload ist für die Bereitstellung über Websites vorgesehen.

## Technische Hintergründe

### Voraussetzungen

Die aktuellen Pfade in den Transformationsdateien (XSL) sind so eingestellt, dass auf dem Zielserver folgende Pfade und Dateien vorhanden sein sollten:

- \[Root\]
- Parallel zum Root-Verzeichnis (hier Temp-Verzeichnis) 
    - \\Bilder
    - \\Bilder\\New Age
- Über dem Root-Verzeichnis muss einmalig die format.css Datei sowie die Report.js - JavaScript - Datei abgelegt werden. 
    - ..\\Format.css
    - ..\\Report.js

### Uploadumfang

Die bei einer Bereitstellung zur Verfügung gestellten Dateien werden dabei so gering wie möglich gehalten. Der Upload-Umfang richtet sich nach dem Umfang der gewählten Optionen. Werden Depotreports gewählt, wird zu jedem Depot das entsprechende \*.Depot ebenfalls als Originaldatei geuploaded. Diese kann dann direkt über die Funktion "Lade Depot von URL ... " bereitgestellt werden. Die Datei "Internet.Depots.txt" im Datenverzeichnis enthält hierzu alle notwendigen Einstellungen. Die Datei muss manuell angepasst werden. Per default enthält Sie lediglich folgende Informationen:

```YAML
[Depots]
https://www.shareholder24.de/download/Tradingdepot.2004.Depot
```

Für die Depotdateien wird das in den Formulareinstellungen (siehe oben) definierte Root-Verzeichnis für Depotdateien verwendet, da hier im Normalfall ein spezieller Downloadordner genutzt werden soll.

Werden die Depot/Watchlistencharts bereitgestellt, so werden alle Charts geöffnet und die zugehörigen Chartbilder gespeichert. Die Charts öffnen sich hier wie auch bei manuellem Aufruf, d.h. mit allen individuellen Einstellungsparametern für diesen Chart. So können gezielt auch Kommentare, Unterstützungslinien usw. eingeblendet werden.

## Arbeitsschritte

### Bereitstellungstyp

Je nach technischen Bedürfnissen kann eine XML oder eine bereits transformierte HTML (mittels XSL) online gestellt werden. Reine XML-Dateien können so gezielt mittels Python/PHP/ASP/JSP auf dem Server geparst und ausgewertet werden. Komplexe Auswertungsszenarien sind so für mich vorstellbar. Bei der XML Bereitstellung muss die Bereitstellung der zugehörigen XSL-Dateien und/oder Logiken vom Anwender erfolgen.

Die Default-Anwendung werden allerdings die HTML-Dateien geuploaded. Um den Umfang hierbei gering zu halten, werden lediglich die erstellten Grafiken und HTML-Dateien geuploaded. Eventuell notwendige CSS, JavaScript und Bilddateien müssen manuell bereitgestellt werden.

Folgende Dateien sollten manuell auf dem Zielserver einmalig bereitgestellt werden (alle zu finden unter SHAREholder\\Report):

- Report.js
- Format.css
- Bilder\\GreenPixel.gif (Prozentdarstellung)
- Bilder\\RedPixel.gif (Prozentdarstellung)
- Bilder\\New Age\*.gif (Alle Grafiken)

Die XSL-Dateien sind zur Zeit so konfiguriert, dass ausgehend vom aktuellen Ordner die Bilder/Scripte/CSS-Dateien im übergeordneten Ordner vorliegen,  
d.h. wird in Server\\Temp das Root-Verzeichnis (siehe oben) definiert muss unter Server\\ die Report.js, Format.css liegen und unter Server\\Bilder die Bilddateien.

Als erste Referenz ist unter www.shareholder24.de die Integration des Tradingdepots vorhanden.

## Protokollauswertung

Das Protokoll gibt Auskunft während der Bereitstellung über den Fortschritt und dem Status der Einzelaktionen. Auch bei automatisierten Aufrufen wird das Protokoll aufgebaut und angezeigt.

# Roadmap und aktuelle Konzeptionen

# Themen-Voting durch User

Nicht ohne Relevanz ist für Anwender die Zukunft des eingesetzten Programms. SHAREholder wird in meiner Freizeit vorangetrieben, aus Spaß und Experimentierfreude an der Entwicklung und an der Börse. Hintergrund bei der Arbeit ist immer die eigene persönliche Nutzung des Systems. Dies steht dabei aus meiner Sicht nicht im Widerspruch zur kostenpflichtigen Bereitstellung des Programmpaketes, da Änderungswünsche von Anwendern eingearbeitet, Support geleistet und eine Basisinfrastruktur für Website, Softwarelizenzen und Betrieb finanziert wird. Jede verkaufte Lizenz bestätigt mich dabei, indem was ich tue und motiviert mich weiter zu machen. Einen komplett idealistischen Ansatz fahre ich damit nicht.

Shareholder ist in der Entwicklung vollständig unabhängig von wirtschaftlichen Entwicklungen eines Geschäftsmodells/-betriebes, da es unter dem Motto "Hobby" läuft. Die Entwicklung ist damit allein abhängig von meiner Zeit für das Projekt. Diese besteht jedoch bereits ab 1999, so dass hier eine gewisse Kontinuität auch in der Zukunft vorausgesetzt werden kann.

## Grundsätzliches Projektvorgehen

Als Grundvorgehensmodell nutze ich ein SCRUM-Verfahren mittels JIRA. Dabei werden Stories in einem Themenspeicher (Backlog) organisiert und regelmäßig priorisiert. Die Release-Zyklen sind auf mind. einem wichtigen Release pro Monat geplant, wobei Bug-Fixes, auch auf Tagesbasis jederzeit verfügbar gemacht werden können.

Folgende Links können Sie zudem für die Orientierung nutzen:

- Der aktuellen [laufenden und geplanten Sprints](https://www.shareholder24.de/support/issues/?filter=12061)

## Priorisierungen

Die Weiterentwicklung wird grundsätzlich durch Anwender-Stories bestimmt, d.h. Anfragen, die zu SHAREholder gestellt worden sind. Die hierfür möglichen Klassifizierungen sind immer "Bug" oder "Verbesserung". Die Stories werden in Releases geplant, die so transparent planbar sind. Sie haben in SHAREholder unter Updates / Voting die Möglichkeit für die zukünftig geplanten Aktivitäten Ihre Stimme abzugeben. Bitte nutzen Sie gerne diese Möglichkeit, da dies für mich in der Priorisierung berücksichtigt wird.

[![image-1655628512318.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628512318.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628512318.png)

# Systematisches Depot-Balancing

## Problem und Use-Case

Aktuell wird das Depot ohne die Möglichkeit auf spezifische Ausrichtungen von Ziel-Vektoren aufgebaut. Das Programm fehlt ein echtes variables **Portfolio-Balancing.** Das **Portfolio muss gegen Wunsch-Ziel-Vektoren** z.B. Branchen/Länder/Asset/Risiko/Nachhaltigskeit-Mix ausgerichtet werden können.

Dabei sind drei Hauptthemen zu adressieren:

- Ziel-Vektoren sind zu pflegen und zu priorisieren. Diese sollten dabei konkrete definierbare Ausprägungen erhalten, die dann nachfolgend in den Titel-Stammdaten spezifisch pro Titel belegt werden können.
- Einzel-Titel-Stammdaten müssen die spezifischen Ausprägungen (manuell) hinterlegen können z.B. für den Branchen-Mix eines ETFs oder Fonds. Dabei wird nicht eine einfache 1:1 Zuordnung angestrebt, sondern pro Titel müssen die Anteile der Ausprägungen definiert werden können. Als Beispiel hat ein "DWS German Equities Typ O" einen Branchenmix wie dargestellt:   
    [![image-1655628528678.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628528678.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628528678.png)
    
      
      
    Die Pflege erfolgt dabei im ersten Schritt händisch später automatisiert, wenn möglich.
- Das Portfolio muss so visuell aufbereitet werden, dass eine Optimierung zwischen IST und SOLL-Ausrichtung unterstützt wird. In Ausbaustufen sollte auch der Positionsaufbau selbst in der Titelauswahl als auch in der Anzahl der Stücke für Kauf/Verkaufspositionen assistiert werden.
- Als Nutzer möchte ich Alarmschwellen nutzen können, die ein Rebalancing des Depots durch den Nutzer triggern sollten. Pro Ziel-Vektor sollten die Alarmschwellen individuell festgelegt werden können. Das Alerting sollte in der ersten Stufe primär visuell in der Anzeige erfolgen, wenn Schwellwerte bzw. die Soll-Ausrichtung inkl. Toleranzschwellen überschritten werden. Beispiele für Alerts könnten sein:  
    
    - Zu wenig liquides Kapital
    - Zu hohe Gewichtung in % zu einer Branche
- Das Balancing in der SOLL-Aufteilung kann sich verändern je nach Großwetterlage bzw. Konjunktur- und /oder Börsenphase. Im zweiten/dritten Schritt können daher die Soll-Werte nicht nur fest vom Nutzer hinterlegt werden, sondern systematisch durch Makro-Ökonomische Wertsetzungen beeinflusst werden. Auch die interne [Marktanalyse](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/20414229/Marktanalyse) kann hierfür genutzt werden.

## Balancing-Vektoren

Die Vektoren beschreiben die Einfluss-Vektoren, die für die Ausrichtung eines Depots relevant sind. Die Vektoren verändern sich dabei über die Zeit und sind nicht lebenslang gültig für einen Anleger. Es hängt dabei z.B. von der eigenen Risiko-Neigung und dem Anlagehorizont und Lebenssituation ab, welche Vektoren welchen konkreten Zielwert erhalten. Wird beispielsweise die Assetklasse als Ausrichtungsvektor genommen kann z.B. 60% Aktien, 20% Immobilien und 20% Edelmetalle verwendet werden. Dieser Wert verschiebt sich aber über die Lebenszeit des Anlegers gewöhnlich in Richtung sicherer Assetklassen, da im Alter der Vermögenserhalt im Vordergrund steht.

Grundsätzlich kann jedes Attribut und jede Kennzahl eines Titels als Vektor genutzt werden. Dabei ist zwischen einem frei zu benennenden Vektor und einem Vektor mit einem eindeutigen Funktionsindex aus den Stammdaten zu unterscheiden. So können die Landeszuordnungen aus den bisherigen Stammdaten genutzt werden ohne erneut als Vektor beschrieben werden zu müssen (=Funktionsindex). Ich kann aber beispielsweise die Risikogruppe als eigenen Vektor hinterlegen, der bisher nicht abgebildet wurde. Diese sollte aber dennoch erfassbar und genutzt werden können z.B. mit einem Rating-Ansatz 1..5 Sterne. Als Nutzer muss man damit die gewünschten zu nutzenden Vektoren selbst aufbauen, benennen und priorisieren können. Mindestvoraussetzung ist dabei, dass die Ausprägungen sich tatsächlich gruppieren lassen. Wenn jeder Titel einen eigenen Wert besitzt, ist dieser Vektor sinnlos. Ein Ziel-Vektor nach ISIN wäre ein derartiger unsinniger Fall.

Welche Vektoren sind beispielsweise sinnvoll:

<div class="table-wrap" id="bkmrk-wahrscheinlichsinnvo"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Wahrscheinlich sinnvolle Basis-Priorität und damit auch Hierarchiestufe: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Wahrscheinlich  
sinnvolle Basis-Priorität und  
damit auch Hierarchiestufe</div></th><th aria-disabled="false" aria-label="Name: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Name</div></th><th aria-disabled="false" aria-label="Beispiel-Ausprägungen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beispiel-Ausprägungen</div></th><th aria-disabled="false" aria-label="Details und Ergänzungen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details und Ergänzungen</div></th><th aria-disabled="false" aria-label="Heute Abbildung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Heute Abbildung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">1</td><td class="confluenceTd">Laufzeithorizont</td><td class="confluenceTd" colspan="1">- Trading (z.B. für Optionen, &lt;1 Monat)
- Shortterm (&lt; 1 Jahr)
- Midterm (1 Jahr .. 3 Jahre)
- Longterm (&gt;3 Jahre)

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd">1</td><td class="confluenceTd">Risikogruppe</td><td class="confluenceTd" colspan="1">Ausfall und Verlust-Risiko</td><td class="confluenceTd" colspan="1">Es kann bei Fonds den Ratings entsprechen</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd">1</td><td class="confluenceTd">Assetklassen</td><td class="confluenceTd" colspan="1">- Rohstoffe
- Aktien
- Indizes
- ETFs
- Fonds
- Immobilien
- ...

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Nur mit einer einfachen Zuordnung bisher</td></tr><tr role="row"><td class="confluenceTd">1</td><td class="confluenceTd">Anlagestil</td><td class="confluenceTd">- Subtranz
- Neutral
- Wachstum

</td><td class="confluenceTd">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2</td><td class="confluenceTd" colspan="1">Branche</td><td class="confluenceTd" colspan="1">- Finanzen
- Gesundheit
- Hightech
- Energie
- Handel
- Chemie
- ...

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Nur mit einer einfachen Zuordnung bisher</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2</td><td class="confluenceTd" colspan="1">Region</td><td class="confluenceTd" colspan="1">- USA
- Asien
- ...

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2</td><td class="confluenceTd" colspan="1">Land</td><td class="confluenceTd" colspan="1">- ...

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Nur mit einer einfachen Zuordnung bisher</td></tr><tr role="row"><td class="confluenceTd" colspan="1">3</td><td class="confluenceTd" colspan="1">Marktkapitalisierung d.h.  
Firmengröße</td><td class="confluenceTd" colspan="1">- Small
- Mid
- Large

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Als Marktkapitalisierungsfunktion vorhanden, aber ohne Werte-Bereiche, was ein Small/Mid/Large-Titel ist</td></tr><tr role="row"><td class="confluenceTd" colspan="1">3</td><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>## Anforderungen für die Umsetzung

### Auswahl und Auswertung der Balancing-Vektoren für das aktuelle Portfolio

#### **Auswahl der Ziel-Vektoren**

Die Vektoren sind vom Nutzer in einer gewünschten Reihenfolge in dem Reiter "Portfolio-Balancing" auszuwählen, so dass sich daraus die spätereren Hierarchien ableiten. Es können dabei 1 .. n der Vektoren ausgewählt werden. Die Vektoren wurden dabei zuvor durch den Nutzer selbst definiert (Name, Mögliche Ausprägungen, Soll-Werte).

[![image-1655628536163.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628536163.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628536163.png)

#### **Darstellung der Ziel-Vektoren in einer Hierarchie**

Die Depotwerte werden nachfolgend entsprechend der Reihenfolge in einer Baumhierarchie dargestellt. Die Soll-Balancing-Spalte verfärbt sich dabei mit Farbcodes, je nachdem ob die Zielstruktur erreicht wurde. Bei orangen Werten wird der Zielwert überschritten oder unterschritten, bei grünen Werten liegt es zwischen Min und Max % Wert. Gelbe Werte könnten in einem Toleranzbereich von +-5% liegen.  
  
Hier als angedeutete Mockup-Implementierung:

[![image-1655628540199.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628540199.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628540199.png)

#### **Wertermittlung für die IST-Wert-Betrachtung**

Die IST/SOLL-Balancing-Werte orientieren sich dabei immer am aufsummierten aktuellen Wert-Volumen der Depot-Währung oder am Kaufvolumen in der Depot-Währung.

Die IST-Werte können damit schwanken mit dem tagesaktuellen Kurswert, wenn das Wert-Volumen genutzt wird. Dies würde aber auch dazu führen, dass gut laufende Titel im Balancing "rot" angezeigt werden, was die falsche Wirkung haben kann. Daher soll bewusst auch nur das Kaufvolumen genutzt werden können und somit das Balancing insb. bei Neukauf von Titel unterstützend wirken. Das RE-Balancing kann dann periodisch z.B. alle 6 Monate genutzt werden, um "Wert-Cluster" deutlich über der Norm wieder anzupassen oder abzugleichen.

#### **Justierung im Balancing**

Beim Balancing kann auch bewusst der Einfluss von Faktoren angepasst werden d.h. nicht nur das Depot in Richtung der SOLL-Werte angepasst werden, sondern auch die SOLL-Werte auf Basis der aktuellen Depotentwicklung um insb. gut laufende Titel hier zu justieren.

### Pflege der Balancing-Vektoren

#### **Definition**

Es werden Definitions-Masken benötigt, die festlegen welche Vektoren gewünscht sind und wie diese sich aus den Daten (automatisch) ableiten lassen.   
Dabei können die Werte manuell gesetzt werden, wie hier oder automatisch aus bereits vorhandenen gepflegten Stammdaten z.B. für Assetklassen, Branchen, Länder etc.

[![image-1655628546677.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628546677.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628546677.png)

Wird eine Funktion benutzt, erfolgt die Vorbelegung der möglichen Werte auf Basis der vorhandenen Ausprägungen über alle Titel (Funktions-Ziel-Vektor). Die Min-Soll auf das % zu verteilende Gesamtvolumen der Anlage, ebenso wie der Max-Soll % Wert muss immer hinterlegt werden, unabhängig ob die Werte manuell oder automatisch generiert worden sind.

Es sollte dabei möglich sein eine bewusste selektive Übernahme von Werten aus den Stammdaten vorzunehmen. Eine pauschale Übernahme aller vorhandenen Ausprägungen wird nicht sinnvoll sein ohne gleichzeitig auch die Min/Max-Soll % Werte festlegen zu wollen. Es muss eine selektive Vorauswahl erfolgen.

#### **Sonderposition Sonstiges**

Damit wird am Ende nie eine komplette Funktionsabbildung verwendet, sondern eine automatische "Übernahme" unterstützt. Werte z.B. für Branchen die nicht zugeordnet sind, werden unter "Sonstiges" geführt. Der Wert "Sonstiges" wird automatisch eingetragen und kann auch eigene SOLL-Werte erhalten. Die Funktionsabbildung besitzt in der Ziel-Vektor-Definition damit keine Auflösung zur Laufzeit! Die Funktionsindexe werden nur in der Ausprägung pro Titel nur automatisch aufgelöst.

#### **Gesamtabbildung und Toleranzen**

Die Gesamtsumme der Werte sollte dabei inkl. Toleranz in der Theorie nicht mehr als 100 % umfassen.  
Leider wird ein Depot aber selten vollständig bei hoch differenzierten Abbildungen alle Einzelausprägungen umfassen, daher soll es möglich sein bewusst eine Einzelwert-Sicht zu definieren unabhängig ob damit die Gesamtsumme der % Verteilung mehr als 100% umfasst.

[![image-1655628576261.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628576261.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628576261.png)

Hier in einer optimierten Detail-Ansicht:

[![image-1655628583555.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628583555.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628583555.png)

### Pflege der Ausprägungen pro Titel

Für den ersten Entwurf muss es möglich sein die Ausprägungen pro Titel (Aktie, Fonds ...) festzulegen z.B. die Branchenverteilung mit den IST-Werten zu hinterlegen.  
Nachfolgend wieder am Beispiel der Branchenstruktur.

[![image-1655628631010.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628631010.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628631010.png)

Die Eingabe ist nur dort notwendig, wo Vektoren genutzt werden, die manuelle Werte erfordern und nicht durch die eine einfache "Funktion" berechnet werden kann z.B. durch Übernahme aus den Standard-Stammdaten. Für die Startphase wird das Balancing hohe manuelle Aufwände produzieren, da die Werte manuell zu hinterlegen sind. In späteren Ausbaustufen soll/kann dies automatisch erfolgen. % Werte sollten grafisch visualisiert dargestellt werden.

In der Eingabe sollte zwischen den Einzel-Vektoren mit Tabs (hier noch nicht berücksichtigt) umgeschaltet werden können.

### [![image-1655628608858.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628608858.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628608858.png)

### Überlegungen für die erweiterte Nutzung in Handelsstrategien

Um Handelsstrategien zu nutzen (siehe AddOns für ShareHolder) werden diese mit Parametern gestartet und liefern automatisiert Ergebniswerte mit einer Sortierung nach Ranking. Wird ein Balancing-Setup verwendet, sollte es nun möglich sein, den "Fit" eines Titels in der Zielstruktur des Portfolios einzeln zu bewerten. Dabei wird versucht entsprechend dem Ranking der Titel aus einer Strategie der "Fit-Score" der Reihe nach zu berechnen d.h. verbessert sich das Balancing durch Aufnahme des Titels oder verschlechtert sich das Portfolio entsprechend der Zielstruktur eher.

#### **Beispiel-Prozess zur Abbildung:**

1. Nach Ausführen der Strategie über einen definierten Markt liegt eine Sortierung entsprechend der Strategie vor z.B. nach Ranking-Score-Werten
2. Nun wird geprüft, welche der ersten 20 bis 30 Aktien valide sind d.h. für welche man ein "gutes Gefühl" hat
3. Die Guten wählt man zunächst z.B. über Checkboxen aus für die weitere Betrachtung
4. Es wird nun ein Ziel-Portfolio gewählt, wo entsprechend der Ziel-Balancing-Struktur ein ausbalanciertes Depot gebildet werden soll. Im Default ist es das aktuell gerade aktive Portfolio.
5. Nun vergleicht der Algorithmus, welche sind dazu gekommen und welche kommen nicht mehr vor ebenfalls wird dargestellt, wieviel muss ich von welcher Aktie nachkaufen um eine Target-Verteilung zu haben  
    (z.Bsp.: Gleichverteilt oder nach Sektoren gewichtet wie in meinem Excel oder nach Momentum gewichtet....)

### Anforderungen für interne Berechnungs-Features zum Balancing

Abgeleitet insb. für die Nutzung im Zusammenspiel mit Handelsstrategien ergeben sich einige notwendige Berechnungsfunktionen:

- Funktion: Balancing-Score-BuyVolume: Double + Balancing-Score-MarketVolume: Double  
    Es muss möglich sein für ein Portfolio ein Balancing-Score-Wert zu berechnen. Dabei wird praktisch eine gewichteter Delta-Wert zwischen SOLL-Wert und dem aktuellen IST-Wert berechnet.
- Funktion: Balancing-Score( pStock: TStock; pBuyVolume: Double ): Double  
    Gleichzeitig muss in einer Art Simulation ein Balancing-Score-Wert mit einem simulierten Kauf des Titels berechnet werden können. Dabei wird ein Auftragsvolumen für ein Titel parametisiert angenommen. Konkret: Wie ist der Portfolio-Score nach Kauf von Amazon-Aktien im Wert von 2000€. Wird beispielsweise bereits 40% eCommerce als Branchen-Soll-Mix angegeben und es sind bereits 39% im aktuellen Portfolio vorhanden, kann der Portfolio-Score schlechter als der bisherige Score-Wert werden, weil durch die Delta-Betrachtung zwischen IST und SOLL eine Übergewichtung festgestellt wird.
- Funktion: Balancing-Score-Volume-Recommendation( pStock: TStock ): Double  
    Daraus ergibt sich indirekt auch die Anforderung, dass ich für einen Titel rückwärts eine Empfehlung für das sinnvolle Kaufvolumen bei Aufnahme eines neuen Titels berechnet werden können muss. Die heutige Implementierung macht dies allein auf Basis der vorhandenen Liquidität und berücksichtigt derartige Balancing-Anforderungen nicht. Die Integration muss dabei innerhalb des Transaktionsformulars erfolgen.

# Releasemanagement

Shareholder wird nach festen Regeln im Releasemanagement aktualisiert. Folgende Regeln sind definiert und angewendet. Bei einer angenommenen Release 20.8.3.0 ist folgende Semantik anzuwenden:

&lt;[MajorRelease](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1179445/Major-Releases+auf+Jahresebene)&gt;&lt;ModulReleases&gt;&lt;SecondReleases&gt;&lt;SubRelease&gt;

- Major-Release: Grundsätzliche Änderungen in der Architektur, wie Änderungen des Objektmodells, Speichermodell. Das Release orientiert sich hier immer am Kalenderjahr.
- Modul-Releases: Neue Module wie Dynamic Filter, Neuronale Kursprognose, Handelssystem werden mit einem eigenen ModulRelease hochgezählt. Da pro Monat ein wesentliches Release veröffentlicht wird, orientiert sich auch diese Modul-Release-Nummer grob am Monat.
- Second-Releases: Bedeutende Änderungen an Modulen, Techniken usw. ohne Einführung eines neuen Modules
- Sub-Releases: Bugfixing, Programmpflege

Im Minimum wird das SubRelease aktualisiert mit jeder veröffentlichten Programmversion.

## Veröffentlichung

Neue Versionen werden über die Website: "[Releases](https://www.shareholder24.de/boersensoftware-support/news/releases)" unter [https://www.shareholder24.de/](https://www.shareholder24.de/) veröffentlicht.

Eine einfache Kontrolle der aktuellen Version kann im Programm über das Menü erfolgen über "Prüfe Version". Dies wird auch beim Programmstart automatisch ausgeführt, kann aber auch in den Programmeinstellungen deaktiviert werden.

[![image-1655632960354.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632960354.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632960354.png)

Normale Release-Zyklen für SubReleases sind aktuell 2 Wochen. Für SecondReleases jeden Monat.

# Major-Releases auf Jahresebene

## Entwicklungen auf Jahresebene verdichtet von 1999 bis 2020

<div class="table-wrap" id="bkmrk-jahr-wichtige-entwic"><table class="wrapped relative-table confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 9.89794%;"></col><col style="width: 90.1014%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Jahr: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Jahr

</th><th aria-disabled="false" aria-label="Wichtige Entwicklungen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Wichtige Entwicklungen

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Ende 1999

</td><td class="confluenceTd">Ende 1999 als Videotext-Kursdaten-Depotverwaltung

</td></tr><tr role="row"><td class="confluenceTd">2000

</td><td class="confluenceTd">Kursaktualisierung über **dynamische Internetadressbildung** inkl. Variablennutzung und HTML-Parsing, Umbau des Chartmoduls inkl. OO-Indikatoren(gruppen)system mit Signalbildung und -abbildung

</td></tr><tr role="row"><td class="confluenceTd">2001

</td><td class="confluenceTd">Integration eines **Neuronales Kursprognosenetz** zur Kursprognose als Diplomarbeit

</td></tr><tr role="row"><td class="confluenceTd">2003

</td><td class="confluenceTd">Integration eines Dynamischen **Filtersystems** für Strategiesysteme

</td></tr><tr role="row"><td class="confluenceTd">2004

</td><td class="confluenceTd">Einbindung von Techniken des **Moneymanagement**, Auswertungen zum Monitoring der eigenen Handelstechnik (**Tradingmatrix**, Kapitalkennzahlen, Systemkennzahlen), Integration von BO-Statistiken/Fundamentaldaten, Verbesserung der Anbindung von Tai-Pan®

</td></tr><tr role="row"><td class="confluenceTd">2005

</td><td class="confluenceTd">Ausbau von speziellen Tradingtechniken insb. **Candlestickformationen**, Verwendung und Arbeit mit Watchlisten, Web-Publishing

</td></tr><tr role="row"><td class="confluenceTd">2006

</td><td class="confluenceTd">Ausbau von Money-Management-Funktionen (Transaktionsbewertungen, Automatisches Fortführen, Usability), Mehrsprachenunterstützung insb. Englisch für Website, Installation und Programm, Website-Umzug (3xfache Performance), **MS-Vista**-Support (Nutzung "Eigene Dateien"), Änderung des Hilfesystems (MS WinHelp zu MS HTMLHelp). Einführung der **Listendarstellung von Indikatoren**, um weitere Möglichkeiten zu erschließen, sowie die Erweiterung der vorhandenen Indikatoren.

</td></tr><tr role="row"><td class="confluenceTd">2007

</td><td class="confluenceTd">Anbindung Tai-Pan Realtime bzw. Tai-Pan RT, Automatische **DUnit-Tests** (Integrationstest zur Qualitätssicherung), E**xcel/CSV - Im-und Exportmodul fürs Depot**, Kontenabgleich z.B. für flatex, Optimierungen für die Nutzung von Zertifikaten und Optionsscheinen, Automatischer Titelimport aus Tai-Pan, Tai-Pan RT oder OnVista, Unterstützung für MS Vista, Einführung Aktualisierungsgruppen, Umstellung von WKN zu ISIN als interner Primärschlüssel

</td></tr><tr role="row"><td class="confluenceTd">2008

</td><td class="confluenceTd">**Redesign Oberfläche/Usability** deutlich angehoben durch Ribbon-Bars und Nutzung von Office 2007 Styles, Performanceverbesserungen, Tai-Pan8 Support, VISTA Support

</td></tr><tr role="row"><td class="confluenceTd">2009

</td><td class="confluenceTd">Einführung **JIRA als Bug-Tracking-Tool** und **WIKI als Dokumentationssystem** für die Hilfe, Abarbeitung der 180 offenen Issues auf nunmehr 80 offene. Weitere Verbesserungen in der Usability und Stabilität des Systemes.

</td></tr><tr role="row"><td class="confluenceTd">2010

</td><td class="confluenceTd">Automatische Handelssysteme und Einführung von **Optimierung von Indikatorensystemen mit genetischen Algorithmen**, Verbesserung der **Gesamtperformance, Umstellung Datenbankdesign** mit verbesserter Performance und Aufhebung von Limitierungen.

</td></tr><tr role="row"><td class="confluenceTd">2011

</td><td class="confluenceTd">Verbesserung der kostenlosen Kursdatenversorgung auf aktuell mehr als 10 angebundenen Kursdatenlieferanten

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2012</td><td class="confluenceTd" colspan="1">Reactivate-Börse-Online-Import, Inkrementelle Kursdaten-Updates, Markt-analysemodul ("Oracle") mit eigenem Setting und   
Einstellungen, Personalisierung, Ausführbare autarke Sicherungsdateien (SFX)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2013</td><td class="confluenceTd" colspan="1">FXCM-Broker-Anbindung, Datenbank-Management-Tools, Automatische-Job-Steuerungen</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2014</td><td class="confluenceTd" colspan="1">Fundamentaldaten-Import aus Tai-Pan 14, Refactoring von Eingabe-Masken und UXP, Scripting-Studio</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2015</td><td class="confluenceTd" colspan="1">Anbindung ML-Downloader, Quandl.COM, Bereitstellung eigene EOD-Datenbank + Synchronisation</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2016</td><td class="confluenceTd" colspan="1">Auto-Increment-Updates, Auto-Trade-Imports</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2017</td><td class="confluenceTd" colspan="1">Autoimport für Trades, **Flexibisierung Depot-Daten-Import-Schnittstelle**, Unterstützung weiterer Depots, **Handelsstrategien-Studio mit eigenen Scripten**, Implementierung der **Susan Levermann - Strategie**, **Fundamentaldaten-Imports** mit konfigurierbaren Quellen</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2018</td><td class="confluenceTd" colspan="1">**Fundamentaldaten-Editor**, Konfigurierbarer Fundamentaldaten-Abruf, Integratiom der **Machine-Learning-Plattform H2O**, Einführung einer **64Bit-Version**, Automatische **Kursprognose-Berechnungen auf GBM, DRF-Modellen**</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2019</td><td class="confluenceTd" colspan="1">**Individualisierbare Einträge** für Watchlisten, Aktien etc., Unabhängige **Kursvorhersage-App**, [https://www.ml-algotrader.com](https://www.ml-algotrader.com/), Support-Blog</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2020</td><td class="confluenceTd" colspan="1">**Depot-Import-Assistent**, **Cloud-Synchronisationen**, **Optimierung Fremd-Währungs-Unterstützung**, Umbau Kursdatenbank auf **SQLite**, **Tipp-des-Tages**, **CleanUp**-Funktionen</td></tr></tbody></table>

</div>

# Installation

# Verwendung der aktuellsten Programmversion

## Einleitung

Shareholder wird fortwährend weiterentwickelt. Bei Registrierung des Programmes haben Sie Zugriff auf alle Updates innerhalb eines halben Jahres, wenn Sie keine lebenslange Lizenz erworben haben. Da zur Vermeidung von unnötigen Mails keine Updatemails versendet werden, wird ein passives System genutzt. Hierzu wird auf Anfrage des Anwenders, nach neuen Programmversionen gesucht. Die Installation erfolgt dann nach Bestätigung durch den Nutzer automatisch.

Um die aktuelle Programmversion zu verwenden, haben Sie verschiedene Optionen. Diese sind in der Reihenfolge der einfachsten Nutzung nachfolgend aufgeführt. Bitte versuchen Sie immer eine regelmäßige Aktualisierung der Programmversion und der Module. Nur so haben Sie Zugriff auf die letzten verfügbaren Features und Fehlerbereinigungen.

## Option 1: Aktualisierung über SHAREholder / Hauptmenü / Updates / Aktualisiere Programmversion

[![image-1655628671420.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628671420.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628671420.png)

Gehen Sie hierzu zunächst einfach ins Hauptmenü / Updates. Wenn Sie zuvor den Releasetext prüfen möchten, dann nutzen Sie den Punkt "Prüfe Version ...".

**Notwendige Administrationsrechte**

Damit diese Funktion korrekt arbeiten kann, wird der Schreibzugriff auf das Programmverzeichnis benötigt. In Windows 10 wird ein derartiges Schreibrecht nur gewährt, wenn das Programm in dem Moment mit Administrationsrechten läuft. Hierzu wird automatisch eine entsprechende Berechtigung beim Nutzer abgefragt. Bitte hier die Rückfrage mit "JA" beantworten.

Sollte dies nicht vorliegen, müssen Sie Shareholder einmalig im Startmenü mit dem Kontextmenü "Als Administrator ausführen" mit erweiterten Rechten starten und das Update dann durchführen. Alternativ können Sie direkt auf die Option #2 ausweichen.

Bitte bei der Eingabe der Nutzerdaten darauf achten, dass Sie die zugesandten Kennwörter 1:1 übernehmen inkl. Groß-und Kleinschreibung sowie Sonderzeichen:

[![image-1655628678929.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628678929.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628678929.png)

## Option 2: Aktualisierung über das Setup-Programm

Starten Sie hier das Setup, welches Sie jederzeit auch direkt von der Homepage (siehe [Setup](https://www.shareholder24.de/download/full/setup_shareholder.exe)) und wählen dort nach dem Start den Button "Upgrade zur Vollversion" aus.

[![image-1655628683747.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628683747.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628683747.png)

Geben Sie nun Ihre per Mail zugesandten Zugangsdaten ohne die "-Zeichen ein. Kopieren Sie hier vorzugsweise das Kennwort wirklich über die Zwischenablage und fügen es von dort ein (Copy &amp; Paste).

ACHTUNG: Für den Download benötigen Sie die per Mail zugesandten Zugangsdaten. Diese sind nicht identisch mit den Anmeldedaten des Webshops! Diese sind aus Gründen der Sicherheit voneinander getrennt. Den Webshop benötigen Sie nur für Bestellungen und für den Einblick in die Bestellhistorie. Die Zugangsdaten sind dabei immer identisch zwischen der Hauptversion und allen freigeschalteten Addons.

[![image-1655628692323.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628692323.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628692323.png)

Folgen Sie anschließend nur den Anweisungen und wählen Sie unter dem Reiter "Auswahl" die Programmversion aus, die Sie auch registrierte haben. Je nach Registrierung sehen Sie hier die Standard oder Profiversion. Unter Zusatzpakete sehen Sie zudem zusätzliche bereites freigeschaltete Module.

[![image-1655628697080.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628697080.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628697080.png)

Sie starten die Installation über den gleichnamigen Button. Während der Installation werden bereits vorhandene Dateien unter \\Daten\\Backup-Install gesichert.

## Option 3: Manuelle Aktualisierung

Wenn Sie wünschen können Sie SHAREholder auch selbst manuell aktualisieren. Hierzu je nach Programmversion eines der beiden Vollversionen downloaden. Die dabei abgefragten Zugangscodes entsprechen wieder den per Mail zugesandten Codes.

- [https://www.shareholder24.de/register/shareholder/download/profi/Programmdatei.MOD](https://www.shareholder24.de/register/shareholder/download/profi/Programmdatei.MOD)
- [https://www.shareholder24.de/register/shareholder/download/standard/Programmdatei.MOD](https://www.shareholder24.de/register/shareholder/download/standard/Programmdatei.MOD)

Die Datei anschließend von MOD in ZIP umbenennen und die SHAREholder.exe in das aktuelle Programmverzeichnis kopieren bzw. entpacken. SHAREholder sollte in dem Moment nicht gestartet sein. Unter Windows 10 sollte das ZIP-Programm mit erhöhten Rechten (Administrationslevel) gestartet sein, damit ein Schreiben in die Programmverzeichnisse erlaubt ist bzw. bei Nachfrage das Schreiben erlaubt werden.

Bei einer Standardinstallation findet sich das Programmverzeichnis als Zielordner für die Ablage der Programmversion unter:  
C:\\Program Files (x86)\\proSoft24\\Shareholder

## Mögliche Probleme und Hinweise zur Lösung

<div class="table-wrap" id="bkmrk-fehlermeldung-oder-s"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Fehlermeldung oder Symptome: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Fehlermeldung oder Symptome</div></th><th aria-disabled="false" aria-label="Empfehlung zur Lösung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Empfehlung zur Lösung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Fehlermeldung während der Aktualisierung von AddOns/Vollversion > "Die Aktualisierung war nicht erfolgreich ... Bitte prüfen Sie den Nutzernamen und Kennwort"

</td><td class="confluenceTd">Die Zugangsdaten wurden Ihnen per Mail zugesandt. Kopieren Sie vorsichtshalber sowohl den Nutzernamen als auch das Kennwort aus dieser Mail, um diese in den zugehörigen Registrierungs-Daten-Felder beim Updates / Setup zu nutzen. Achten Sie insb. immer auf die Unterscheidung zwischen dem Umlaut O und einer Null 0.

Die Eingabe erfolgt grundsätzlich immer ohne die Anführungsstriche (").

Bitte beachten Sie zudem, sollten Sie keine "lebenslange" Lizenz besitzen, dass immer unter dem Abschnitt "Updatezyklen-und Berechtigung" in der Registrierungsmail, ein Datum vermerkt ist, wie lange Sie Zugriff auf Updates erhalten. Sie erhalten keine separate Warnungs-Mail (im Normalfall). Nach Ablauf dieses Zeitraums erhalten Sie die erwähnte Fehlermeldung.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Ich habe die Profiversion erworben, um so auch die 64-Bit-Version nutzen zu können. Im Startmenü finde ich allerdings nur die einfache Startversion.</td><td class="confluenceTd" colspan="1">Sollten Sie das Upgrade der Demoversion zur Vollversion genutzt haben, werden nicht automatisch Startmenü-Einträge erzeugt. Wiederholen Sie die Installation einfach mit der Option 2 (siehe oben) d.h. über das Setup. Alternativ finden Sie die 64-Bit-Version auch im Programmverzeichnis im Unterverzeichis \\Win64. Bei einer Standardinstallation damit konkret unter: C:\\Program Files (x86)\\proSoft24\\Shareholder\\Win64 als "Shareholder64b.exe".</td></tr></tbody></table>

</div>## Upgrade einer älteren Programmversion

Wenn Sie bereits eine "ältere" Shareholder-Version besitzen ist auch hier ein Upgrade einfach möglich. Grundsätzlich ist SHAREholder in der Architektur so gebaut, dass Upgrades auf ältere Versionen immer möglich sind. Folgende konkrete Schritte sind empfohlen:

- Sicherung des Datenverzeichnis 
    - Variante 1: Hauptmenü in Shareholder / Extras / Öffne Datenverzeichnis und dann im Explorer kopieren (in diesem Fall als Empfehlung da schneller)
    - Variante 2: Hauptmenü in Shareholder / Extras / Backup und Sicherung der Dateien
- Sicherung Programmverzeichnis (optional)
- Upgrade nur der Programmdatei z.B. über Extras / Update der Vollversion (s.o.)
- Alle Einträge die Sie individuell gemacht haben (Aktien, Märkte, Watchlisten, etc.) einmalig „kennzeichnen“ als individuell (rechte Maustaste im Edit-Dialog). Mit dabei auch an Abhängigkeiten denken d.h. Aktualisierungsgruppen, Internetadressen und Formate kennzeichnen.  
      
    Im Datenverzeichnis werden dabei für alle individualisierten Einträge sogenannten STMC-Dateien erzeugt. Diese Dateien werden immer nach den Default.Einstellungen geladen und führen so zu einer Ergänzung oder Aktualisierung der Standarddateien. Sie können so fortan beide Welten nutzen, die aktuellsten Standard-Auslieferungen/Module und Ihre persönliche Einstellungen.

[![image-1655628705492.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655628705492.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655628705492.png)

- <u>Danach</u> Upgrade der Stammdaten, Aktienstammdaten über AddOns aktualisieren und Auswahl der zugehörigen Module. Die Defaults werden damit korrigiert.
- Prüfung des Setups

## Hinweise zur generellen Aktualisierung von Stammdaten

- Zum aktuellen Zeitpunkt stehen verschiedene Module zu Installation zur Verfügung. Dabei enthalten diese jeweils eigene Konfigurationen und Einstellungen wie Konten, Börsen, Watchlisten etc.  
    Siehe unter: [Relevante Dateien zur Sicherung](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/71597843/Relevante+Dateien+zur+Sicherung)
- ![(Warnung)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/warning.png) Bitte achten Sie darauf folgende Dokumentation intensiv geprüft und gelesen zu haben, um bei Updates nicht unnötig Daten und Einstellungen zu verlieren! Nutzen Sie dabei die aktuellsten Möglichkeiten.   
    Siehe unter: [Nutzung persönlicher und individualisierter Einträge (Custom-Items)](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/96501525)

<div class="ms-editor-squiggler" id="bkmrk--11"></div>

# Einspielung von Addon's

## Einspielung neuer AddON-Versionen

Zunächst gibt es anders als für die Programmversion keinen integrierten Versions-Prüfungs-Mechanismus, der insb. bei neu vorliegenden Versionen automatisch den Nutzer benachrichtigt. Die Aktualisierung und Einspielung erfolgen halbautomatisch. Damit wird kein Aktualisierungshinweis automatisch gegeben, es lässt sich aber ein Vergleich zwischen den aktuellsten und den aktuell vorliegenden Versionen automatisch vornehmen und danach auch vollautomatisch einspielen.  
  
Die Funktion zur Einspielung finden Sie im Hauptmenü unter Updates / Aktualisiere Einzel-Module:

[![image-1655630335675.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630335675.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630335675.png)

Im Dialog finden Sie mit farblicher Markierung ein Hinweis darauf, ob eine neuere Modul-Version vorliegt. Es werden dabei automatisch die zu aktualisierende Module markiert. Dabei ist der grüne Farbcode umso näher das Updatedatum des Moduls/Addons am heutigen Datum liegt. Es zeigt damit nur das Alter an.

[![image-1655630342255.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630342255.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630342255.png)

Sie haben dabei folgende Möglichkeiten:

- Installation mit Einzelbestätigungen d.h. jeder bereits vorhandene Konfiguration und Datei muss vor der Aktualisierung einzeln bestätigt werden. Sie erhalten dabei eine Gegenüberstellung der vorher/nachher Version
- OneClick-Installation d.h. das Programm überschreibt die lokalen Versionen und setzt voraus, dass lokale Konfigurationen mittels den "Custom-Item-Markierungen" kenntlich gemacht sind und so auch nicht überschrieben werden können. Siehe hierzu unter [Nutzung persönlicher und individualisierter Einträge (Custom-Items)](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/96501525).

### Einleitung und Grundinstallation

Es gibt mehrere Arten von Addons d.h. Module die nachträglich registriert und installiert werden können:

- Handelsstrategien-Addon's 
    - [Börsensoftware SHAREholder - AddOn Handelsstrategie - Susan Levermann (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-handelsstrategie-susan-levermann)
    - [Börsensoftware SHAREholder - Ben-Graham Handelsstrategie (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-handelsstrategie-ben-graham)
    - [Börsensoftware SHAREholder - Momentum Handelsstrategie (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-handelsstrategie-momentum-vola)
- Fundamentaldaten-Addon's:  
    [Börsensoftware SHAREholder - AddOn Fundamental-Datenbanken (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/fundamental-datenbanken)
- Reporting und Dashboard-Addon's:   
    [Börsensoftware SHAREholder - AddOn Reporting und Dashboards (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/reporting-und-dashboard-add-ons)
- H2o-Kursprognose-Addon's  
    [Börsensoftware SHAREholder - AddOn KI/ML-Kursprognose-Modelle (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/kursprognose-add-ons)
- Kurs-Prognose-Service-Addon's  
    [Börsensoftware SHAREholder - AddOn Kursprognose-Service und Apps (shareholder24.de)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-kursprognose-service-und-apps)

Um ein gekauftes Addon einzuspielen können Sie über das Hauptmenü in Shareholder über "Updates / Module einspielen" gehen und dort direkt die gekauften AddOn auswählen. Nicht registrierte oder gekaufte Module werden ausgegraut und sind nicht selektierbar. Wenn Sie bereits freigeschaltet worden sind (Sie erhalten eine separate Mail) können Sie das Addon auswählen und mit dem Button "Installieren" einspielen. Die Nutzung ist damit unmittelbar für alle Addons möglich und weitere Schritte sind nicht notwendig. Das zugesandte Kennwort sollte immer identisch zu Ihrem Code für die Programmversion sein, da Sie für die Addons mit dem gleichen Nutzer freigeschaltet werden.

[![image-1655630348196.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630348196.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630348196.png)

## Spezifische AddOn-Hinweise

### Fundamentaldaten-Addon

Nach Einspielung erhalten Sie eine ähnliche Ansicht im Kontextmenü eines beliebigen Titels, wenn die Einspielung erfolgreich war. Ihnen stehen damit neue Fundamentaldaten-Anbieter zur Nutzung zur Verfügung. Sie sollten dabei die Default-RegVersion-Konfiguration als Standard wählen, da diese praktisch die vorhandenen Profile nochmals orchestriert und geeignet pro Stammdatenfeld einbinden kann. Es ist somit die Best-Practice-Konfiguration.

[![image-1655630354382.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630354382.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630354382.png)

Sie haben in jedem Fall die Möglichkeit unter Einstellungen / Fundamentaldaten eigene Konfigurationen zu hinterlegen bzw. die bestehenden auch anzupassen.

[![image-1655630362727.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630362727.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630362727.png)

### Handelsstrategien-Addons

Wenn Sie ShareHolder starten, können unter dem Reiter Handelsstrategien, die Strategien gestartet werden. Hierzu ist lediglich eine Strategie auszuwählen. Die Liste kann sich dabei je nach Freischaltung und Installations-Status unterscheiden. Nach Einspielung eines Strategie-Addons steht die zugehörige Strategie unmittelbar zur Verfügung.

[![image-1655630368590.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630368590.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630368590.png)

  
  
Angezeigt werden immer alle verfügbaren Strategien, die auch physisch als Dateien im \\Daten\\Scripts-Verzeichnis auffindbar sind über die \*.Script-Dateien.

[![image-1655630373604.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630373604.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630373604.png)

#### Anpassung von Handelsstrategien

Sie können im Handelsstrategie-Studio im Code Anpassungen vornehmen und so auch individuelle Erweiterungen oder Anpassungen erstellen, wenn Sie eine Profiversion besitzen. Sie sollten dabei Kommentare für die Historie pflegen für die durchgeführten Anpassungen. Bitte beachten Sie auch dass im \\Daten\\Scripts-Verzeichnis bei jeder Speicherung eine Backup-Datei der vorherigen Version angelegt wird. Damit können Sie im Notfall immer nochmals zurückspringen bzw. den alten Stand wiederherstellen.

Bitte nutzen Sie auch die Möglichkeiten der "Spielwiese". Hier erstellen Sie zunächst Anpassungen in einer nicht produktiven Version.

Weitere Details finden Sie unter :

- [Handelsstrategie-Scripting-Studio](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/30572362/Handelsstrategie-Scripting-Studio)

[![image-1655630379297.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630379297.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630379297.png)

### H2o-Kursprognose-Addon

Die Einspielung des Addons ist zunächst in mehrere kleinere Addon-Pakete aufgeteilt, die dabei bereits im Programm bei Auswahl der Module beschrieben werden. Wie zu vermuten, reicht es zunächst aus, die "H2o-Basisinstallation" zu installieren. Dabei wird die H2o-Programmbibliothek, ein vorkonfiguriertes KI/Netzmodell von ShareHolder und die zugehörigen Indikatoreneinstellungen eingespielt.

Wenn der Modellaufbau/Training nicht komplett von Hand über mind. 1-4h Durchlaufzeit pro nachfolgendes Modell durchgeführt werden soll, dann können Sie hierfür die zugehörigen trainierten Modelle installieren. Diese werden mit allen verfügbaren Daten immer am Samstag neu erstellt und trainiert. Aktuelle Entwicklungen finden sich so in den Trainingsdaten umgehend wieder.

- DE/HDAX (TECDAX+MDAX+DAX)
- US/Nasdaq100
- Indizes
- Rohstoffe

[![image-1655630386490.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630386490.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630386490.png)

Mit den Modulen erhalten Sie jeweils:

- Trainiertes Modell für Binäre-Kursvorhersage, -3..3% Kursvorhersagen für jeweils 5, 10 und 30 Tage  
      
    [![image-1655630391355.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630391355.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630391355.png)

#### Hinweis zum Speicherbedarf und Nutzung

Bitte beachten Sie jedoch, dass die Modelle teilweise erhebliche Größen aufweisen (&gt;1GB). Dies hat nicht nur beim Download Auswirkung, sondern bedeutet auch, dass Sie pro Modell ca. 2GB an freien Speicher einkalkulieren sollten, wenn Sie Modelle hintereinander trainieren. Es ist dabei ein Unterschied zwischen Training und Nutzung eines Modells zu machen. Die 2GB beziehen sich auf das Training eines Modells.

Das Verhalten ist etwas entschärft, dadurch das ShareHolder nicht alle Modelle in H2o automatisch lädt, sondern erst bei Nutzung einer Kursvorhersage. Sie sollten pro Modell ca. 0.5GB einplanen. Modell meint hier Kursvorhersage für X Tage in einem X-Prognosemethode für einen Markt.

Bitte beachten Sie, dass Sie für die Nutzung von H2o eine installierte Java 64-Bit-JDK-Version benötigen.

Siehe hierzu unter:

- [Installationsanleitungen H2o](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/81297183/Installationsanleitungen+H2o)

#### Abhängigkeit zwischen H2o-Version und trainierten Modellen

In H2o gibt es eine explizite Abhängigkeit zwischen der H2o-Version und den damit erstellten Modellen. Dies bedeutet in der Konsequenz, das mit dem Wechsel einer H2o-Version ALLE Modelle neu erstellt oder geladen werden müssen. Ich werde die Addon-Daten damit immer im Zusammenhang neu aktualisieren. Dies betrifft auch die Minor Versionen d.h. bei einem Wechsel zwischen 3.20.0.6 und 3.20.0.7 (Version vom 31.08.2018) müssen die Modelle neu trainiert und erstellt werden.

Aktuell dauert die Gesamtberechnung aller bereitgestellten Varianten und Modelle auf meinem Referenzsystem ca. 6h und ein einfacher erneuter Download sollten für Sie deutlich effizienter sein!

Bitte achten Sie daher bei den Releasenotes, ob hier eine Story zum Upgrade auf eine neue H2o-Version umgesetzt wurde. In diesem Fall können Sie die Basisinstallation und die trainierten Modelle nicht unabhängig voneinander sehen. Sie müssen zusammen eingespielt werden! Wenn Sie ganz sicher gehen wollen, installieren Sie immer die Basisinstallation zusammen mit den gewünschten Modellen!

#### Sofortstart

Sollten Sie direkt die vorhandenen trainierten Modelle verwenden wollen, können Sie dann umgehend mit einer Kursprognose innerhalb /auf Basis von Watchlisten tun. Es öffnet sich dabei ein separater Startprozess für H2o in einer Java-Konsole, während die Modelle geladen werden. Dies erfolgt nur, wenn H2o noch nicht gestartet worden ist. Ist H2o einmal gestartet worden, läuft der Prozess von ShareHolder unabhängig und wird auch nicht automatisch beim Schließen des Programms beendet (absichtlich).

Sie können H2o-Flow nach Start von H2o jederzeit über die lokale URL aufrufen: [https://localhost:54321/flow/index.html](https://localhost:54321/flow/index.html). Für die ersten Schritte rufen Sie hierbei zum Test einmal im H2o-Flow-Menü "Models / List Models" auf. Sie werden dann alle bereits geladenen Modelle sehen. Diese können vollständig inspektiert und bewertet werden. Natürlich können Sie so auch in H2o unabhängig von ShareHolder mit den Modellen arbeiten. Die Modelle werden immer bei einem Training geladen und natürlich bei erstmaliger Nutzung einer Kursprognose. Sie können es mittlerweile auch direkt laden im Kursprognosefenster. Es erscheint dann ein grüner Punkt vor dem Modell!

Machen Sie sich dabei durchaus mit den Konsolenausgaben von H2o vertraut, da hier sehr gut herauszulesen ist, was wirklich aktuell passiert.

Wenn alle Modelle eingespielt sind, sollte es dem nachfolgenden Screenshot ähneln, nachdem Sie die Kursprognose gestartet haben über die Toolbar.

[![image-1655630398570.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630398570.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630398570.png)

[![image-1655630403251.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630403251.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630403251.png)

Bitte beachten Sie, dass für die Kursvorhersage mit dem Button "Kursprognose Starten" folgender rechenaufwändiger Ablauf erfolgt, womit die Einzelberechnung pro Titel ca. 1-4s dauern kann. Dabei werden alle berechneten Werte einzeln hintereinander aufgeführt, wenn die Berechnungen abgeschlossen sind und die Kursprognose vorliegt:

- Berechnung aller für das Modell notwendigen Daten wie Indikatoren, Gleitende Durchschnitte etc.
- Übergabe der Berechnungsdaten an H2o
- Durchführung der Vorhersage in H2o auf Basis der Berechnungsdaten
- Rückgabe und Rückführung in ShareHolder

Der rechenintensivste Teil ist dabei der 1. Schritt. Dieser wird daher gecached d.h. pro Tag wird dieser Schritt nur einmal ausgeführt und wiederholte Kursprognosen werden deutlich beschleunigt. Zusätzlich kann auch hier durch die Job-Steuerung nach einer automatisierten Kursaktualisierung die Vorberechnung der Caches durchgeführt werden. (siehe Automatisierte nächtliche Berechnungen).

Die gezeigten Werte und Daten erscheinen in dem ersten Moment etwas "kryptisch". Bitte lesen Sie daher unbedingt folgende Seiten zur Einführung:

- [Kursprognose-Ansätze und Optimierungen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/82018110)
- [Auswertung von Modellen und Interpretation der Kennzahlen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/83328792/Auswertung+von+Modellen+und+Interpretation+der+Kennzahlen)

Anmerkung: Es ist ist geplant das Vorhersagen der Modelle ohne alle Zwischenschritte genutzt werden können. Dies ist bis Ende Oktober 2018 geplant!

#### UX-Integration

Mittlerweile können die Kursprognosen auch in den Detaillisten genutzt werden. Damit ist die Verwendung innerhalb der Hauptansicht von Depotlisten oder Watchlisten, als auch in den Detaillisten möglich. Während der Berechnung einer Kursvorhersage wird die Ansicht schrittweise aktualisiert. Der Wechsel der Ansichten ist prinzipiell erlaubt, aber eine komplette Thread-Sicherheit ist aktuell nicht sichergestellt, so dass dies vermieden werden sollte.

Innerhalb der Session bleiben die Kursprognose-Werte erhalten. Aktuell führt ein Neustart jedoch zum Verwerfen der Informationen, so dass eine Neuberechnung durchgeführt werden muss. Auch dies ist bereits als Story aufgenommen:

<span class="aui-message aui-message-warning jim-error-message jim-error-message-single conf-macro output-block" data-hasbody="false" data-macro-id="33b1038c-5b1a-4562-838f-c49600cdd2bf" data-macro-name="jira">Für JQL- und Vorgangsschlüsselargumente für dieses Makro ist die Konfiguration mindestens einer Jira-Anwendungsverknüpfung erforderlich.</span>

#### Automatisierte (z.B. nächtliche) Berechnungen

Da die Berechnungen erhebliche Zeit beanspruchen, werden die trainierten Modelle von mir im Rahmen des Addons bereitgestellt. Sie können gleichwohl auch selbst automatisierte Berechnungen der Modelle automatisiert über Windows-Scheduler-Jobs machen bzw. mit Voreinstellungen und dann nach 8h wiederkommen.

Weitere Informationen über Auto-Execute-Optionen finden Sie unter:

[Automatische JOB-Ausführung (Auto-Execute-Möglichkeiten)](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/28409628)

#### Weitere Informationen und Videos

Wie bereits teilweise erwähnt, erhalten Sie weitere Informationen unter:

- [Installationsanleitungen H2o](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/81297183/Installationsanleitungen+H2o)
- [Kursprognose-Ansätze und Optimierungen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/82018110)
- [Auswertung von Modellen und Interpretation der Kennzahlen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/83328792/Auswertung+von+Modellen+und+Interpretation+der+Kennzahlen)
- Videos 
    - Aktueller/ [https://www.shareholder24.de/course/kursprognose-mit-distributed-random-forest-entscheidungsbaeumen.html](https://www.shareholder24.de/course/kursprognose-mit-distributed-random-forest-entscheidungsbaeumen.html)
    - [https://www.shareholder24.de/course/kursprognose-mit-neuronalen-netzen.html](https://www.shareholder24.de/course/kursprognose-mit-neuronalen-netzen.html)

### Reporting und Dashboard-Addon

Nach Einspielung sollten Sie direkt über die Toolbar das Kennzahlen-Datenblatt aufrufen können, wenn Sie zuvor irgendeine Aktie gewählt haben:

[![image-1655630413085.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630413085.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630413085.png)

Das Fenster zeigt dabei eine berechnete Vektor-Grafik (SVG), die in einem größenveränderbaren Fenster gezeigt wird. Somit können Sie die Größe beliebig anpassen. Diese wird dabei auch bewusst gespeichert und bei erneutem Aufruf wiederverwendet. Zugleich wird die Logik für das Rendering durch ein XSLT-Script hergestellt, was durch die Einspielung vorliegt.

[![image-1655630417773.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630417773.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630417773.png)

Die Anzeige und Darstellung kann damit nach eigenen Bedürfnissen komplett angepasst werden, wenn Sie die zugehörige "Report.Watchlist.Quartett-Karten.xsl" anpassen.

[![image-1655630423306.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630423306.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630423306.png)

# Nutzung der Tai-Pan-Database-Engine

## Einordnung der Tai-Pan-Produkte

Es gibt von Lenz&amp;Partner verschiedene Produkte (siehe [https://www.lp-software.de/produkte/tai-pan\_end-of-day.aspx](https://www.lp-software.de/produkte/tai-pan_end-of-day.aspx)) Hierzu gehören insb. Tai-Pan (aktuell 18) als auch die separate Tai-Pan Database Engine. Die Database-Engine ist praktisch nur die auf die Kursaktualisierung reduzierte Programmversion die praktisch nur die Datenbank und kleine Management-Masken umfassen. Diese Version ist insb. für die Nutzung mit Partnerprogrammen sinnvoll, wo die Chart-und Filterfunktionen von Tai-Pan irrelevant sind.

Dadurch dass die Tai-Pan DB-Engine nur eine abgespeckte Version von Tai-Pan ist, sind beide Varianten kompatibel mit ShareHolder. Aktuell ist die Schnittstellen der Database-Engine mit der Version 14 deutlich hinter der aktuellen 18er Version. Dies ändert aber an der Kompatibilität zu ShareHolder nichts. Sie können mit beiden Versionen arbeiten!

## Installation

Bitte installieren Sie die gültige Tai-Pan(-Database-Engine) Version. Sie finden diese im Downloadbereich unter: [https://www.lp-software.de/shareholder/download.html](https://www.lp-software.de/shareholder/download.html). Die Installation ist völlig unabhängig von SHAREholder und muss auch separat gestartet werden. Bei der Installation wird eine Verwaltungsoberfläche und ein Demodatenbank installiert. Die mit Abschluss eines Test-Abos oder von regulären Abo-Katalogen entsprechend aktualisiert werden kann.

Alternativ kann auch eine installierte Tai-Pan Version verwendet werden. Beide nutzen die Database-Engine und stellen entsprechend nutzbare Schnittstellen für Drittsysteme zur Verfügung. SHAREholder nutzt diese. Tai-Pan und SHAREholder können entsprechend parallel genutzt werden.

Bitte beachten Sie, dass der komplette Support nur ab einer 14er Database-Engine / 14er-Tai-Pan-Version gegeben werden kann. Es ist leider nicht möglich alle vorherigen Versionen zu unterstützen.

## Schnittstelle

Es wird ein OLE-Server von Tai-Pan angesprochen um den Onlinemanager für Kursaktualisierungen zu nutzen, oder um die Tai-Pan Datenbankdaten abzurufen. Die SHAREholder-Datenbank ist dabei separat von der Tai-Pan-Datenbank gespeichert, d.h. die Art und der Umfang der Datenbanken können sich unterscheiden.

<div class="table-wrap" id="bkmrk-datenablage-format-s"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Datenablage: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Datenablage</div></th><th aria-disabled="false" aria-label="Format: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Format</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">ShareHolder</td><td class="confluenceTd">&lt;Datenverzeichnis SHAREholder&gt;\\Daten\\Database\\Kursdaten.ADB</td><td class="confluenceTd">Accuracer-SQL-Datenbank als eine Datei</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Tai-Pan</td><td class="confluenceTd" colspan="1">&lt;Data-Verzeichnis Tai-Pan&gt;\\ z.B. C:\\ProgramData\\Lenz + Partner AG\\Tai-Pan DEMO\\13.0\\Daten</td><td class="confluenceTd" colspan="1">Tai-Pan-DAT-Dateien gesplittet nach Inhalt wie ACLOSE.DAT, AHIGH.DAT etc.</td></tr></tbody></table>

</div>Shareholder R13 nutzt eine eigene Datenbank, um verschiedene Kursdaten-Quellen unabhängig nutzen zu können. Tai-Pan ist hier eine mögliche Quelle, neben den dutzenden Internet-Kursdaten oder auch ASCII-File-Imports.

## Testszenarien

Sollten Sie Probleme haben, testen Sie bitte folgende Funktionen aus, die unterschiedliche Schnittstellen der Anbindung nutzen. Gerne referenzieren Sie bei Problemmeldungen an <support@shareholder24.de> auf die Testergebnisse:

<div class="table-wrap" id="bkmrk-test-case-zu-erwarte"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 3.09021%;"></col><col style="width: 19.2829%;"></col><col style="width: 77.6262%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="numberingColumn confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Test-Case: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Test-Case</div></th><th aria-disabled="false" aria-label="Zu erwartendes Ergebnis bei korrekter Installation: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Zu erwartendes Ergebnis bei korrekter Installation</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="numberingColumn confluenceTd">1</td><td class="confluenceTd" colspan="1">Starten Sie den OnlineManager über die Toolbar</td><td class="confluenceTd" colspan="1">[![image-1655630632578.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630632578.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630632578.png)

  
Die aktuellsten Kursdaten werden für Tai-Pan eingelesen über den OnlineManager. Dieser kann direkt über die Oberfläche gestartet werden. Es werden dabei die Registry-Informationen zur aktuellen Installation verwendet.

</td></tr><tr role="row"><td class="numberingColumn confluenceTd">2</td><td class="confluenceTd">Starten Sie Tai-Pan-EOD in der Toolbar</td><td class="confluenceTd">Die aktuelle Liste wird aktualisiert mit den neuesten Kursdaten, die auch in Tai-Pan vorhanden sind</td></tr><tr role="row"><td class="numberingColumn confluenceTd">3</td><td class="confluenceTd">Starten Sie die Katalog-Synchronisation</td><td class="confluenceTd">[![image-1655630638079.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630638079.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630638079.png)

  
Sie sollten anschließend eine Liste der vorhandenen Kataloge aus Tai-Pan erhalten.

[![image-1655630645245.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630645245.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630645245.png)

Sollten Fehler erst nach Start der konkreten Synchronisation erscheinen, so liegt eher ein ShareHolder-Fehler vor, als ein Schnittstellen-Fehler.

</td></tr></tbody></table>

</div>## Mögliche Lösungen bei Problemen

Wenn die Installation nicht vollständig oder korrekt vorgenommen wurde oder auch Inkompatibilitäten zur genutzten Version auftauchen, erhalten Sie Fehlermeldungen in der Form "Klasse nicht registriert, ClassID: ...."

### Tai-Pan Database-Engine 13/14 &amp; Tai-Pan EOD 17/18/19

<div class="table-wrap" id="bkmrk-classid-schl%C3%BCssel-ko"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="ClassID-Schlüssel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">ClassID-Schlüssel</div></th><th aria-disabled="false" aria-label="Komponente: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Komponente</div></th><th aria-disabled="false" aria-label="Hintergrundinformationen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hintergrundinformationen</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">IID\_ITaiPan: TGUID = '{72528DFC-4CED-45D3-9AD6-A95E0948FCDB}'

und

LIBID\_TPACC20: TGUID = '{D23EF800-345D-4452-93D0-D923E5479C38}';

</td><td class="confluenceTd">Tai-Pan-Server</td><td class="confluenceTd">Es fehlt hier die Registrierung der TPACC20.DLL-Typbibliothek. Versuchen Sie hier die Tai-Pan-Oberfläche zu öffnen und dort in das RegUtil zu gehen. Suchen Sie hier nach TPACC20.Taipan. Registrieren Sie diese Komponenten nochmals nach!</td></tr></tbody></table>

</div>Prüfen Sie hierbei über die Tai-Pan-Oberfläche: Menü RegUtil die vorhandenen Einträge.

[![image-1655630651516.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630651516.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630651516.png)

- Unter TypeLib sollten dabei mehrere TPACC20.\* Einträge mit der ID: {D23EF800-345D-4452-93D0-D923E5479C38} verzeichnet sein und vor allem in der Spalte "Vorhanden" mit JA d.h. registriert sein.
- Wenn nicht, sollte die "REG-Alles-Button" nochmals genutzt werden zur Nachregistrierung. Sollte eine andere Version parallel genutzt werden, sollte in dieser alle Komponenten "Unreg-Alles" werden und nur die aktive und zu nutzende Version "registriert" werden.

[![image-1655630656626.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630656626.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630656626.png)

<div class="ms-editor-squiggler" id="bkmrk--4">  
</div><div class="ms-editor-squiggler" id="bkmrk--5"></div>

# Nutzung von Tai-Pan-RT

## Einordnung der Tai-Pan-Produkte

Es gibt von Lenz&amp;Partner verschiedene Produkte (siehe [https://www.lp-software.de/produkte/tai-pan\_realtime.aspx](https://www.lp-software.de/produkte/tai-pan_realtime.aspx)) Hierzu gehören insb. Tai-Pan (aktuell 18) End-of-Day als auch die Realtime(RT)-Version. Die RT-Version stellte komplette Kurs-Kataloge zur Verfügung für alle Assetklassen.

## Installation

Bitte installieren Sie die gültige Tai-Pan-RT-Version. Sie finden diese im Downloadbereich des Anbieters. Die Installation ist völlig unabhängig von SHAREholder und muss auch separat gestartet werden. Die Zugangsdaten werden dabei von Lenz&amp;Partner zur Verfügung gestellt insb. auch für eine Demoversion.

## Schnittstelle

Es wird ein OLE-Server von Tai-Pan RT angesprochen. Tai-Pan RT bezieht dabei die Kursdaten praktisch von einem Online-Server und hält neben Caching-Daten keine lokale Datenbanken. SHAREholder nutzt ausschließlich eine lokale Datenbank.

## Mögliche Lösungen bei Problemen

Es sind keine aktuellen Probleme bekannt.

Bitte melden Sie sich per Mail an <support@shareholder24.de> sollten Fehler auftreten!

# Nutzung Netzlaufwerk für gemeinsame Datenablage

Hintergründe

Shareholder verwendet zwei zentrale Verzeichnisse, die umkopiert werden müssen, damit diese gemeinsam im Netz verwendet werden können. Hierzu über "Shareholder-Hauptmenü / Extras / Bereinigungen und Optimierungen / Datenverzeichnis öffnen" oder Strg + Alt +D das zugehörige Datenverzeichnis öffnen.

Hier müssen

- \\Daten
- \\Report

als komplette Verzeichnisse kopiert werden auf das Ziel-Netzlaufwerk. Im Datenverzeichnis befindet sich ein \\Daten\\Database-Verzeichnis in der auch eine SDB-Datei liegt, die durchaus eine Größenordnung von 3GB haben kann. Hier sind alle Kursdaten zentral abgelegt.

Im \\Daten - Verzeichnis wird explizit die Datei "Stammdaten.Aktien.R8" erwartet. Liegt diese nicht vor, kann das Programm nicht gestartet werden. Bitte beachten Sie, dass wenn die anderen Stammdaten nicht in den jeweiligen Verzeichnissen liegen, Default-Settings gesetzt werden. Im Zweifel sollten Sie bei Schwierigkeiten hier eine Neuinstallation durchführen.

## Konfiguration und Setup

Folgende Schritte sind nur zu tun:

- Kopieren (vorzugsweise Verschieben) der Verzeichnisse (siehe Hintergründe) aus dem Datenverzeichnis auf das zentralen NAS / Netzlaufwerk
- In SHAREholder im Hauptmenü / Programmeinstellungen / Programm das Datenverzeichnis umstellen. Es wird dabei der neue Pfad nur akzeptiert, wenn obige Verzeichnisse vorhanden sind. Hierbei können direkte Netzwerkpfade genutzt werden oder aber auch der Zwischenweg über gemappte Netzlaufwerke (mit Laufwerksbuchstaben). Dies ist (s.u.) aber nicht zwingend erforderlich.

[![image-1655630718207.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630718207.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630718207.png)

Sollte beim Start von SHAREholder die Warning erfolgen, dass zwei gültige Datenverzeichnisse gefunden worden sind, so müssen Sie die Dateien verschieben statt kopieren. SHAREholder versucht historisch bedingt auch im lokalen Verzeichnis und im Default-Windows-Datenverzeichnis Datendateien/-Verzeichnisse d.h. \\Daten und \\Report zu finden. Um hier keine Mißverständnisse bei der Nutzung zu haben, wird darauf explizit geprüft.

## Einschränkungen

- Das System ist nicht für mehrere gleichzeitige Nutzer ausgelegt, d.h. das Datenverzeichnis sollte nur von einer ShareHolder-Instanz zu einem Zeitpunkt zugegriffen werden, da sonst die letzte gespeicherte Version gewinnt bzw. beim Schreiben Fehler erzeugt werden können. Mehrwert ist so, dass sowohl von Notebook, als auch vom Hauptrechner auf die selbe Datenbasis zugegriffen werden kann. Das System ist aktuell jedoch nicht als Multi-Thier-Anwendung ausgelegt.
- Bitte beachten Sie auch, dass die Performance des Netzwerklaufwerks auch die Performance von SHAREholder einschränkt, da insb.für die Kursdaten und Aktienstammdaten Daten bewegt werden. Die 1GB große Kursdatendatei kann praktisch genutzt werden, da das System derartige Netzzugriffe an dieser Stelle optimiert. Die Performanceeinbußen sind damit hinnehmbar.

## Empfehlung

Auch wenn die Konfiguration und Nutzung von NAS Laufwerken möglich ist, sollten Sie dennoch eher die Cloud-Synchronisation (z.B. Dropbox) der Kernkonfigurationen auf Ihrem Rechner nutzen. Sie können hiermit vollständig parallel mit den installierten Versionen arbeiten. Dabei können Sie mit den jeweils maximalen lokalen Geschwindigkeiten arbeiten. Praktisch synchronisieren dabei die Portfolio-Daten und die lokalen Einstellungen per Knopfdruck in wenigen Sekunden und können anschließend unmittelbar ohne Einschränkungen weiterarbeiten.

Siehe auch:  
[Cloud-Speicher zur Synchronisation persönlicher Einstellungen](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Cloud-Speicher%20zur%20Synchronisation%20pers%C3%B6nlicher%20Einstellungen&linkCreation=true&fromPageId=24346432)

# Arbeiten unter Linux

## Emulationssoftware

Als Emulationssoftware kommen nach aktuellem Stand folgende Produkte in Frage:

- [VMWare - Workstation](https://www.vmware.com/)
- [Wine](https://www.winehq.org/)

## Step by Step - Kurzanleitung

Auf Basis eines Nutzer-Hinweises: Hr. L.:

1. Installation von PlayOnLinux ([https://www.playonlinux.com/en](https://www.playonlinux.com/en))
2. Installation von Wine über PlayOnLinux in der aktuellen Version
3. Dann in PlayOnLinux "Installiere ein Programm, das nicht aufgelistet ist"  
    [![image-1655630747497.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630747497.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630747497.png)
4. Dann durchklicken und Verzeichnis der Installationsdatei wählen (Setup von der Homepage [https://www.shareholder24.de)](https://www.shareholder24.de%29/) und installieren,
5. Am Ende kann noch ein Shortcut/Link auf dem Desktop eingerichtet werden,
6. Das wars ...

Von ShareHolder gibt es technisch keinerlei besondere Abhängigkeiten oder genutzte Bibliotheken ...

# Arbeiten unter Apple - Macintosh

## Shareholder auf dem Mac OS X Betriebssystem

Shareholder ist nicht nur auf Windows Betriebssystemen lauffähig, sondern auch auf OS X (getestet Release 10.5.7).

Siehe Screenshot:

[![image-1655630775330.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630775330.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630775330.png)

[![image-1655630785461.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630785461.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630785461.png)

Voraussetzung hierfür, ist die Verwendung von Windows Emulatoren. Zur Auswahl stehen kommerziell verfügbare Programme wie bspw. Vmware oder Paralles. Möglich ist es jedoch auch Freeware Software zu verwenden, welche nicht käuflich erworben werden muss und keine Windows CD voraussetzt! Zur Verfügung stehen hierbei mehrer verschiedenen Verfahren und Anbieter. Ich beschränke mich hierbei auf die Darwine Version.

## Vorgehensweise und Schritte

1. Backup der SHAREholder-Daten
2. Kopieren von wichtigen SHAREholder Daten auf ein USB Stick z.B. Charts (eingezeichnete Linien etc pp werden auf den Mac übernommen), Depots, Kursinformationen etc.
3. Installation von Darwine auf dem Mac
4. Installation von TaiPan auf dem Mac (nicht zwingend erforderlich)
5. Installation von SHAREholder auf dem Mac
6. Übertrag der wichtigen SHAREholder Daten auf den Mac
7. Anpassung von Wine

## Backup / Kopieren von SHAREholder Nutzerdaten

Erstellung eines Backup auf dem Windows Rechner. Kopieren von wichtigen Dateien auf ein USB Stick z.B. persönlich angelegte Daten/Charts, Daten/\* um diese später auf dem Mac einzuspielen

## Installation von Darwine

Download von Darwine ([https://winebottler.kronenberg.org/](https://winebottler.kronenberg.org/)). Installation der Anwendung durch ziehen auf den App Folder (wie bei jeder anderen \*.dmg Anwendung). Danach muss WineBottler gestartet, sowie ein neues "Prefix" erstellt werden. Hierzu "Create Custom Prefixes" auswählen und unter "Installer" SHAREholder.exe aus der Mac Download Liste auswählen sofern SHAREholder soeben heruntergeladen wurde. Wichtig ist hierbei die Winetricks, siehe weiter unten auf dieser Seite, unter Relevante Wine-Einstellungen auszuwählen sowie "include Wine binaries" zu markieren. Danach die Installation durchführen.

Wichtig ist zum Schluss bei der Erstellung des Prefix "Shareholder.exe" als Startdatei auszuwählen und nicht das standardmässig vordefinierte SHAREholder De-Installationsprogramm!!!  
Siehe Screenshot:

[![image-1655630792378.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630792378.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630792378.png)

Danach erscheint SHAREholder als Anwendung auf dem Desktop (sofern man Desktop als Speicherort ausgewählt hat)

[![image-1655630797649.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630797649.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630797649.png)

## Installation von TaiPan (optional wenn benötigt)

TaiPan ist natürlich nicht zwingend für die Benutzung von SHAREholder vorgesehen aber vereinfacht die Kursversorgung. TaiPan funktioniert ebenfalls unter Darwine, hierbei ist jedoch eine spezielle Mac Version erforderlich. Diese kann unter [https://www.lp-software.de/Produkte/TaiPanEndOfDay/Index/download.aspx](https://www.lp-software.de/Produkte/TaiPanEndOfDay/Index/download.aspx) heruntergelanden werden und beinhaltet die 9er Version, welche ebenfalls unter SHAREholder lauffähig ist.  
Nach dem Download kann die exe Datei unter Darwine wie unter Windows gestartet werden und die Installation erfolgt in eine spezielle Dateistruktur unter Mac OS X welche jedoch mit dem Finder bzw. Terminal Emulator angesprochen werden kann. Alternativ kann auch der Windows Explorer auf dem Mac gestartet werden. Hierz einfach in dem Folder Programme innerhalb des Finders "Sample WineLib Applications" auswählen und dann die Anwendung "winefile.exe". Der Windows Explorer öffnet sich und zeigt die Dateistruktur unter der TaiPan installiert wurde.

## Übertragen von vorhandenen Daten (falls erforderlich)

Um bestehenden Konten, Transaktionen, Chartbilder, Linien etc. zu übertragen müssen erstmals auf eine CD oder USB Stick kopiert werden. Am besten die Daten unterhalb von Charts und ... kopieren. Danach dann auf dem Mac OS X ein Terminal Fenster aufrufen und die Programmzeile open ~/.wine/drive\_c eingeben und mit Return bestätigen. Danach öffnet sich ein Terminal Fenster und die Daten auf dem USB Stick können in das Wine Verzeichnis bzw. die SHAREholder Daten kopiert werden.

Danach ein Shortcut von TaiPan und SHAREholder auf dem Mac OS X erstellen und ggf. die Wine Icons gegen SHAREholder und TaiPan Icons austauschen.

That's it! und SHAREholder steht auch auf dem Mac zur Verfügung.

## Restriktionen

- Die Oberfläche mag tlw. etwas anderst erscheinen z.B. Icons links neben dem WP
- X11 Terminal Fenster werden mit Wine/Darwine geöffnet und können nicht geschlossen werden, ansonsten wird SHAREholder/TaiPan auch beendet
- Der Bildschrimaufbau mag etwas langsamer als unter Windows erscheinen. Ggf. kann hier Jens ja noch etwas den Sourcecode optimieren ;-) Unter Windows ist es ja manchmal auch etwas träge
- Drucken habe ich noch nicht getestet.
- WLAN wird ohne Probleme unterstützt

## Relevante Wine-Einstellungen

Bitte folgende Punkte aktivieren:

<div class="table-wrap" id="bkmrk-bibliothek-beschreib"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Bibliothek: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Bibliothek

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">comctl32

</td><td class="confluenceTd">MS-Common-Controls 5.8

</td></tr><tr role="row"><td class="confluenceTd">gdiplus

</td><td class="confluenceTd">MS gdiplus.dll

</td></tr><tr role="row"><td class="confluenceTd">msxml6

</td><td class="confluenceTd">MS XML version 6

</td></tr><tr role="row"><td class="confluenceTd">ie6

</td><td class="confluenceTd">Microsoft Internet Explorer 6.0

</td></tr><tr role="row"><td class="confluenceTd">fakeie6

</td><td class="confluenceTd">Set registry to claim IE6sp1 is installed

</td></tr></tbody></table>

</div>

# Tuning-Möglichkeiten und deren Auswirkungen

## Grundeinschätzung

Das System ist grundsätzlich auf Performance ausgelegt. Dennoch sind einige Optimierungsmöglichkeiten vorhanden, um das System hinsichtlich Reaktionsmöglichkeit und Aktualisierungsgeschwindigkeit zu steigern. Verstehen Sie die nachfolgenden Punkte bitte nur als Hinweise und nicht als unabdingbare Handlungsanweisungen!

## Austausch der Festplatte mit Solid-State-Disk (SSD-Platte)

Praxisbeispiel:

<div class="table-wrap" id="bkmrk-test-festplatte-ssd-"><table class="wrapped relative-table confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Test: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Test

</th><th aria-disabled="false" aria-label="Festplatte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Festplatte

</th><th aria-disabled="false" aria-label="SSD: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">SSD

</th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0"></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Samsung HD250HJ 250 GB / SpinPoint S</td><td class="confluenceTd" colspan="1">Corsair P128 Solid State Drive 128 GB  
CMFSSD-128GBG2D, MLC-Chips</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">Startzeit von SHAREholder  
(Hilfe / Infos) mit dem aktuellen Depot / Stammdaten

</td><td class="confluenceTd">4,4s

</td><td class="confluenceTd">2,8s

</td><td class="confluenceTd">![(grüner Stern)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/star_green.png) -37%

</td></tr><tr role="row"><td class="confluenceTd">Tai-Pan Vollaktualisierung über alle Titel (3447)

</td><td class="confluenceTd">9m / 14s  
554s

</td><td class="confluenceTd">4m 50s  
290s

</td><td class="confluenceTd">![(grüner Stern)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/star_green.png) -48%

</td></tr><tr role="row"><td class="confluenceTd">Filter "ADX über alle deutschen Titel"

</td><td class="confluenceTd">44,5s

</td><td class="confluenceTd">13s

</td><td class="confluenceTd">![(grüner Stern)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/star_green.png) -70%

</td></tr></tbody></table>

</div>Für die Nutzung von ML-Kursprognose-Systemen sollten Sie mind. 4GB freien Speicherplatz auf der SSD mit hohen Änderungsraten im System einplanen!

## Nutzung von Multi-Core-Systemen

Die Nutzung von starken Multi-Core-Systemen ist grundsätzlich in einfachen Anwendungsszenarien wie Marktlisten, Depotfunktionen und Chartansichten praktisch irrelevant. Durch den Ausbau der Börsensoftware in den letzten Monaten in Richtung Kursprognose mittels ML/KI-Algorithmen und automatischen Handelsstrategien sind die Anforderungen hier jedoch deutlich gestiegen für eine optimale Benutzung des Systems.

Die Berechnungen können hier zwischen Minuten und Tagen auseinanderliegen bei Durchführung eigener Trainings von Modellen.  
Nachfolgend eine einfache Einordnung von sehr rechenintensiven Prozessen.

<div class="table-wrap" id="bkmrk-anwendung-einordnung"><table class="wrapped confluenceTable" style="width: 100%;"><colgroup><col style="width: 3.09021%;"></col><col style="width: 14.7094%;"></col><col style="width: 12.4845%;"></col><col style="width: 9.39425%;"></col><col style="width: 14.446%;"></col><col style="width: 45.875%;"></col></colgroup><tbody><tr><th class="numberingColumn confluenceTh">  
</th><th class="confluenceTh">Anwendung</th><th class="confluenceTh">Einordnung</th><th class="confluenceTh" colspan="1">Mindestens</th><th class="confluenceTh">Empfehlung</th><th class="confluenceTh" colspan="1">Optimal</th></tr><tr><td class="numberingColumn confluenceTd" colspan="1">1</td><td class="confluenceTd" colspan="1">Marktlisten mit meheren (z.B. 5) eingeblendeten Indikatoren</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-current conf-macro output-inline" data-hasbody="false" data-macro-id="f817df0c-f88b-4eb1-9117-ed67a0d88a92" data-macro-name="status">MITTLERE BELASTUNG</span>

</td><td class="confluenceTd" rowspan="2">1GB nutzbarer RAM</td><td class="confluenceTd" rowspan="2">SSD, 8GB,  
Core &gt;3GHz</td><td class="confluenceTd" rowspan="2">Nur mit **CPU-Power für Single-Thread**-Berechnungen kann der Prozess wesentlich beschleunigt werden. Multi-Core hat aktuell keine Auswirkungen. CPUs mit hoher Taktfrequenz sind Systemen mit hoher Core-Anzahl sind hier überlegen.</td></tr><tr><td class="numberingColumn confluenceTd">2</td><td class="confluenceTd">Durchführung von Strategieberechnungen z.B. Susan-Levermann-Strategie über alle Titel</td><td class="confluenceTd"><span class="status-macro aui-lozenge aui-lozenge-current conf-macro output-inline" data-hasbody="false" data-macro-id="546d248a-4b50-439d-b1df-1370129d47e9" data-macro-name="status">MITTLERE BELASTUNG</span>

</td></tr><tr><td class="numberingColumn confluenceTd">3</td><td class="confluenceTd">Durchführung von ML-Kursprognose-Trainings mit H2o</td><td class="confluenceTd"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="0f08d72c-d598-438f-887e-22571a14a19c" data-macro-name="status">EXTREME BELASTUNG</span>

</td><td class="confluenceTd" colspan="1">Windows 64 und Java 64 Bit zwingend

6GB RAM

</td><td class="confluenceTd">Windows 64 und Java 64 Bit zwingend

SSD, 16GB RAM,  
4 Core &gt;3GHz

</td><td class="confluenceTd" colspan="1">Die Datenvorbereitung erfolgt aus Speichermanagement-Gründen virtualisiert über das Dateisystem. Daher ist jede Optimierung in Richtung schneller **SSD (.M2)** hier optimal.  
  
Daneben arbeitet das H2o-Modell sehr speicherintensiv d.h. für die HDAX-Berechnung mit 5,10,30 Tage Kursvorausberechnung und binären, gerunderter und exakter Vorhersage sind **6GB nur für H2o** zwingend. Für alle US-Titel sollten bereits 12GB vorliegen. Die Nutzung des Speichers wird durch das System abgefragt und ist optimal bei 20GB Speicherzuweisung (wenn möglich), wenn bis zu 12 Modelle gleichzeitig benutzt werden.  
  
Die Berechnung erfolgt aktuell leider noch ohne GPU-Support, nutzt aber praktisch alle **Cores und Threads**. Ein AMD Threadripper oder i7-Intel mit **8 Cores** arbeitet daher sehr effizient, wenn die Taktfrequenz entsprechend hoch liegt.

*Mittelfristig ist die Hoffnung durch GPU-Support hier die Anforderungen wieder etwas zu reduzieren.*

</td></tr><tr><td class="numberingColumn confluenceTd" colspan="1">4</td><td class="confluenceTd" colspan="1">Durchführung von ML-Kursprognose-Vorhersagen (mittels H2o)</td><td class="confluenceTd" colspan="1"><span class="status-macro aui-lozenge aui-lozenge-error conf-macro output-inline" data-hasbody="false" data-macro-id="75c21211-d635-4143-bcdf-f3f59e2f4f43" data-macro-name="status">HOHE BELASTUNG</span>

</td><td class="confluenceTd" colspan="1">Windows 64 und Java 64 Bit zwingend

1GB nutzbaren RAM

</td><td class="confluenceTd" colspan="1">Windows 64 und Java 64 Bit zwingend

  
SSD, 8GB RAM,

Core &gt;2.5 GHz

</td><td class="confluenceTd" colspan="1">Die Datenvorbereitung erfolgt aus Speichermanagement-Gründen virtualisiert über das Dateisystem. Daher ist jede Optimierung in Richtung schneller **SSD (.M2)** hier optimal.

Die Prediction-Berechnung ist vor allem in der Datenaufbereitung der Eingangsdaten (Indikatoren) für die Modellberechnung sehr rechenintensiv. Diese Berechnung ist nur Single-Thread basierend möglich. Die Prediction selbst ist durch die Einschränkung der Speichermenge mit kleinen Systemen denkbar.

Daher auch hier ist **CPU-Power mit Single-Thread-Power** durch eine hohe Taktfrequenz optimal!

</td></tr></tbody></table>

</div>## Nutzung von Sammelabfragen

Internet-Kurs-Provider wie Yahoo bieten die Möglichkeit Kursdaten für mehrere Titel gleichzeitig abzufragen. Der Geschwindigkeitsgewinn ist hier enorm, insb. durch Verwendung von CSV-Inhalten, d.h. unnötige Layout-Fragmente wie HTML-Inhalte werden vermieden. Der DAX30 kann so innerhalb von 1,5s aktualisiert werden für die Tagesdaten gegenüber 40s bei einer Einzelabfrage über Consors.

Bitte versuchen Sie daher immer Kursanbieter zu nutzen mit:

- CSV-Datenlieferung (AlphaVantage, Finanzen, Comdirect)
- Möglichkeit zur Sammelabfrage (AlphaVantage)

## ML-Referenz-Performancewerte 

Auf dem Referenzsystem (16GB, Core™ i7-2600K, SSD)

Verwendete ShareHolder-Version 13.16.30 (04.10.2018)

<div class="table-wrap" id="bkmrk-prozess-berechnungsd"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Prozess: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Prozess</div></th><th aria-disabled="false" aria-label="Berechnungsdauer: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Berechnungsdauer</div></th><th aria-disabled="false" aria-label="Anmerkungen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Anmerkungen</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Berechnung Trainings-und Validierungsdaten (10er Netz)  
Nasdaq, Rohstoffe, HDAX und Indizes</td><td class="confluenceTd">26min</td><td class="confluenceTd">doAutoMLBaseNetID=10  
doAutoMLH2oMemoryInGB=12  
doAutoMLExport=1  
doAutoMLExportMarktSelections=\[262144;32768;64;16\]

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Berechnung der ML-Modelle</td><td class="confluenceTd" colspan="1">5h 20min</td><td class="confluenceTd" colspan="1">doAutoMLTrain=1  
doAutoMLTrainMarktSelections=\[262144;32768;64;16\]  
doAutoMLTrainResponseColumnIDs=(Forecast\[5d\].MA\[1d\].ts,Forecast\[5d\].MA\[1d\].Rounded.Enum.ts,Forecast\[5d\].MA\[1d\].Binaer.ts,Forecast\[10d\].MA\[1d\].ts,Forecast\[10d\].MA\[1d\].Rounded.Enum.ts,Forecast\[10d\].MA\[1d\].Binaer.ts,Forecast\[30d\].MA\[1d\].ts,Forecast\[30d\].MA\[1d\].Rounded.Enum.ts,Forecast\[30d\].MA\[1d\].Binaer.ts)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Berechnung der Vorhersagewerte</td><td class="confluenceTd" colspan="1">3h</td><td class="confluenceTd" colspan="1">doAutoMLPrediction=1  
doAutoMLPredictionModelIDs=(GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].Binaer.ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].Rounded.Enum.ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[30d\].MA\[1d\].Rounded.Enum.ts\])  
doAutoMLPredictionWatchlistenIDs=\[4;16;512\]  
doAutoMLPredictionUseMaxStockDays=1000

</td></tr></tbody></table>

</div>##   
Schrittweise Optimierungen

- Nutzung einer RAM-Disk (512MB) welche für die temporär-Dateien verwendet werden (siehe Programmeinstellungen / Berechnungen / Temporäres Verzeichnis). Hier kann z.B. 
    - [https://sourceforge.net/projects/imdisk-toolkit/](https://sourceforge.net/projects/imdisk-toolkit/) (Open-Source)
    - [https://www.softperfect.com/products/ramdisk/](https://www.softperfect.com/products/ramdisk/)
    - [https://memory.dataram.com/products-and-services/software/ramdisk](https://memory.dataram.com/products-and-services/software/ramdisk)

# Einspielung und Nutzung Kursprognose-Service (EOD-Daten) inkl. mobiler App

Das Add-on ist eines der neuesten Entwicklungen und aktuell noch stark in Veränderung und im Aufbau.

Das Addon führt dazu, dass auch ohne eigene Prognoseberechnungen die aktuellen Kursprognosen für 2,3, 5,10,20 und 30 Tage für mehr als 38 Titel mit aber auch ohne ShareHolder genutzt werden können. Wird ShareHolder nicht verwendet, so muss eines der unabhängigen Clients genutzt werden (Android, Windows-App). Wird ShareHolder genutzt, können die Vorhersagen automatisiert mit einem Klick eingespielt werden.

Voraussetzung für die Nutzung ist der Erwerb des Zugangs für den Kursprognose-Service (EOD-Daten) inkl. mobiler App.  
  
Weitere Informationen finden Sie unter:  
[https://www.shareholder24.de/r/bestellung/kursprognosen/p/kursprognose-service](https://www.shareholder24.de/r/bestellung/kursprognosen/p/kursprognose-service)

## Grundlegende Informationen

Sie finden eine Basisbeschreibung des Kursprognose-Service zur Anwendung und Nutzung unter:  
[Kursprognosen nutzen und interpretieren](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389407/Kursprognosen+nutzen+und+interpretieren)

## Nutzung der berechneten Kursvorhersagen über ShareHolder per Klick

In Shareholder selbst müssen Sie keine gesonderten Installationen vornehmen, um die Kursprognosen zu nutzen nach der Freischaltung.  
  
Gehen Sie hierzu unter Aktualisierungen / Kursvorhersagen synchronisieren.  
Nach dem Download stehen die Vorhersagen umgehend zur Verfügung innerhalb der Spalte "Prognose" innerhalb der Watchlisten und/oder den Marktlisten (F8).

[![image-1655631206822.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631206822.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631206822.png)

Weitere Details finden Sie unter dem Abschnitt "Grundlegende Informationen".

## Nutzung der Windows-Live-Trading-App

Sie sollten hierfür das AddOn "Kursvorhersage-App" installieren. Sie erhalten so aus ShareHolder heraus eine entsprechende Live-Trading-App auf Basis der Kursvorhersagen. Achten Sie darauf, dass AddOn regelmäßig zu aktualisieren, um den letzten Entwicklungsstand tatsächlich nutzen zu können.

  
Unter dem Menüpunkt "Analyse/ Kursprognose-App starten" finden Sie anschließend einen direkten Programm-Startpunkt.

[![image-1655631212307.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631212307.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631212307.png)

Die Version ist zu 100% funktionsgleich zur Android-Version.

## Manuelle Installation der Trading-App

<div class="table-wrap" id="bkmrk-step-beschreibung-1-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="numberingColumn confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Step: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Step</div></th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="numberingColumn confluenceTd">1</td><td class="confluenceTd">Download App</td><td class="confluenceTd">Sie können das Modul manuell downloaden über:  
[http://www.shareholder24.de/register/shareholder/download/machinelearning-predictions/Predictions-App-AddOn.MOD](http://www.shareholder24.de/register/shareholder/download/machinelearning-predictions/Predictions-App-AddOn.MOD). </td></tr><tr role="row"><td class="numberingColumn confluenceTd">2</td><td class="confluenceTd">Download Systemdateien (bei Bedarf)</td><td class="confluenceTd">Sie müssen im manuellen Vorgang zusätzlich auch die System-Bilbiotheken herunterladen:  
[https://www.shareholder24.de/download/Windowssystemdateien.MOD](https://www.shareholder24.de/download/Windowssystemdateien.MOD).   
  
Achtung: Sollten Sie die Installation direkt im Programmverzeichnis von ShareHolder vornehmen ist dieser Schritt überflüssig, da die gleichen Bibliotheken verwendet werden.</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">3</td><td class="confluenceTd" colspan="1">Entpacken</td><td class="confluenceTd" colspan="1">Entpacken Sie anschließend beide Dateien über ein ZIP-Programm wie WinRar oder WinZip in einen Ordner d.h. die DLL-Dateien und EXE-Datei liegen dann im selben Verzeichnis.  
Wenn notwendig benennen Sie die Datei von der Dateiendung MOD auf ZIP um.</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">4</td><td class="confluenceTd" colspan="1">Start</td><td class="confluenceTd" colspan="1">Sie finden in den ausgepackten Dateien eine "PredictionApp.exe".  
Diese ist zu starten und bei Bedarf ins Startmenü oder in die Taskleiste zu verlinken.</td></tr></tbody></table>

</div>Weitere Details finden Sie direkt unter [https://www.ml-algotrader.com/spezifikation-und-anforderungen/](https://www.ml-algotrader.com/spezifikation-und-anforderungen/)

Hinweise:

- Beim Start müssen Sie die Login-Daten einmalig für XTB hinterlegen. Die Kennwörter werden getrennt nach Demo und Voll-Zugang für XTB unterschieden.   
    Achten Sie darauf, dass Sie für den Loginnamen die Account-Nummer verwenden und <u>nicht versuchen Ihre EMail </u>oder andere Daten einzugeben. Diese finden Sie direkt unter "Mein Konto" im XTB-System in der XStation: [https://xstation5.xtb.com/](https://xstation5.xtb.com/) oder in Ihrem normalen Client-Account-Bereich. Das Kennwort bleibt wie gehabt.  
    [![image-1655631217614.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631217614.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631217614.png)
- Zusätzlich müssen Sie einmalig Ihre per Mail zugesandten Zugangsdaten eingeben, damit der Prediction-Service die Daten live zurückliefert. Ein vorheriger Start der XTB-Anwendung in einem separaten Browser ist nicht notwendig, da die App über die XTB-API nativ kommuniziert.
- Sollten Sie beim Start keine Kursdaten sehen, rufen Sie folgende URL auf, um Zugriff auf die Log-Daten zu erhalten.  
    [http://localhost:8888/](http://localhost:8888/)   
    
    - Prüfen Sie ob im selben Verzeichnis wie die Kursvorhersage-App auch die Systembibliotheken liegen insb. libssl-1\_1.dll, libcrypto-1\_1.dll d.h. die SSL-Bibliotheken.

## Nutzung der Android App

Die Android-App-Lösung wird aktuell nur auf Nachfrage bereitgestellt. Die Lösung steht zur Verfügung, wird allerdings mangels Kunden-Interesse nicht aktiv aktualisiert.

Zwischenstand/Snapshot (mittlerweile veraltet):

[https://play.google.com/store/apps/details?id=com.prosoft24.shareholder.PredictionApp](https://play.google.com/store/apps/details?id=com.prosoft24.shareholder.PredictionApp)

# Kursaktualisierung

Überblick über alle Möglichkeiten zur kostenlosen Kursaktualisierung über konfigurierbare Datenquellen. Ergänzt um Möglichkeiten für nicht freie professionelle Kursdaten-Dienste.

# Grundlagen Kursaktualisierung

## Ziel dieses Moduls

Kursdaten stellen bei der Aktienanalyse die wichtigste Grundlage dar, auf der finanzielle Entscheidungen gefällt werden die zu finanziellem Erfolg oder Misserfolg führen können. Daher ist es für jeden Anleger wichtig, genau zu wissen, welche Qualität die Datenbasis hat, die seinen Analysen zugrundeliegt und vor allem auch zu wissen, wo Schwächen liegen werden. Schwächen können systembedingt (zu wenig Daten) oder strukturell (schlechte Informationen) auftreten.

Shareholder verfolgt das Ziel die Datenbasis frei vom Nutzer auswählen zu lassen und möglichst viele unabhängige Datenquellen einzubinden. Diese können dabei sowohl kostenfrei (primär) aber auch kostenpflichtig sein. Dies ermöglicht es Kosten zu reduzieren und eigenen Präferenzen zu folgen.

Im Standard können unten aufgeführte Datenquellen in ShareHolder gewählt werden.   
Weitere Datenbasen können durch eigene Programmierung oder auf Anfrage eingebunden werden.

## Datenquellen zur Kursaktualisierung

### Freie Internetadressen 

Eigenschaften: Kostenfrei, End-of-Day-Daten, teilweise Realtime, Praktisch alle Assets/Aktien weltweit

ShareHolder hat als Kernanspruch im Internet verfügbare Datenquellen kostenfrei und flexibel nutzen zu können. Es können daher sowohl CSV, JSON als auch HTML-Seiten automatisiert ausgelesen werden von beliebigen Internetquellen. Konfigurationen zum Auslesen existieren dabei z.B. für Yahoo, Ariva, Finanzen etc.

### API-Datenprovider/-Portale

Eigenschaften: Kostenfrei bis kostenpflichtig je nach Anspruch, End-of-Day-Daten, teilweise Realtime, Praktisch alle Assets/Aktien weltweit, Abdeckung je nach Abomodell

Die Datenbereitstellung wurde in den letzten Jahren professionalisiert und es entstanden eine Reihe von nutzbaren Daten-Portalen, die über eine API entsprechende Daten abrufbar zur Verfügung stellen z.B. Alphavantage, Finnhub, Polygon.IO, Quandl etc. Diese sind eingebunden und können auch frei erweitert werden.

### Shareholder EOD-Datenbank

Eigenschaften: Kostenlos abgedeckt mit einer Registrierung der Software, 4xtäglich aktualisiert, d.h. primär End-of-Daten, ausgesuchte Kern-Märkte (siehe Link unten)

Für systeminterne Strategien werden bereits intern Daten aggregiert und zusammengestellt. Dieser Datenpool wird daher kostenfrei allen registrierten Nutzern 4x täglich (ohne Gewähr und Bereitstellungspflicht) zur Verfügung gestellt.

### Tai-Pan EOD

Eigenschaften: Abonnement über Lenz&amp;Partnter, End-of-Day-Daten mit mind. 15min Verzögerung, Abdeckung je nach Abomodell

Lenz&amp;Partner stellt neben dem eigenen Tai-Pan Produkt auch eine Möglichkeit zur Verfügung nur die Kursdatenbank zu nutzen. Diese ist daher in ShareHolder angebunden und kann per Klick abgerufen werden, um die EOD-Kursdaten abzurufen oder ganze Kataloge (Marktsegmente) zu synchronisieren.

### Tai-Pan RT

Eigenschaften: Abonnement über Lenz&amp;Partnter, End-of-Day-Daten in Realtime, Abdeckung je nach Abomodell

Lenz&amp;Partner stellt neben Tai-Pan EOD auch Tai-Pan Realtime als eigenständiges Produkt zur Verfügung. Das Programm &amp; die Daten sind speziell fürs Trading ausgerichtet. Diese können auch in ShareHolder per Klick abgerufen werden. Im Fokus stehen hier aber die EOD-Daten, da ShareHolder keine Intraday-Charts offiziell unterstützt.

### XTB-Broker-Katalog und Kursaktualisierung

Eigenschaften: Kostenlos nach Registrierung bei [https://www.xtb.com/de](https://www.xtb.com/de), EOD-Daten in Realtime, Abdeckung entsprechend XTB-Marktabdeckung (CFD, Indizes, Rohstoffe, Währungen, Aktien)

XTB ist ein professioneller CFD/Aktienbroker, die über eine API-Schnittstelle es auch erlaubt die Transaktionen als auch EOD-Kursdaten abzurufen. Eine entsprechende Synchronisation ist hierfür ebenfalls integriert.

### Import aus CSV-Dateien

Eigenschaften: Kostenlos

Der manuelle CSV-Import für Einzeltitel oder ganze Marktsegmente ist eigentlich nur ein Spezialfall der Möglichkeit zum Auslesen von CSV/JSON/HTML-Inhalten von Internetportalen. Hierbei wird der Inhalt jedoch von lokalen Verzeichnissen oder Dateien ausgelesen.

### Notfallplan Manuelle Eingabe

Es gibt für absolute Ausnahmefälle die Möglichkeiten Kursdaten manuell einzugeben oder zu korrigieren. Dies sollte aber die Ausnahme sein und hier eher die Datenquelle geändert werden.

Für Werte, die nur mit Schwierigkeiten oder überhaupt nicht aktualisiert werden können, gibt es ist die manuelle Kurseingabe vorgesehen. Durch Doppelklick auf den entsprechenden Titel an allen Stellen in SH24 (Depots, Watchlisten etc.) öffnet sich das Stammdatenblatt des Titels und kann editiert werden. Der Zeit-Stempel ab dem der neue Datensatz gilt wird bei einer Neueingabe und Speichern automatisch auf die aktuelle Uhrzeit und den Tag gesetzt den Sie eingeben. Wird nichts eingegeben wird das aktuelle Datum und die Uhrzeit der Eingabe automatisch beim Schließen des Menüs eingetragen .

## Datenqualität

### Datenupdate

Die Datenquellen können durch manuelle Auswahl manuell oder über eine automatischen Start kontinuierlich während der Programmnutzung upgedated werden.  
Manuell erfolgt es über die Buttons in der Office-Ribbon-Bar:

[![image-1655629283481.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629283481.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629283481.png) [![image-1655629280104.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629280104.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629280104.png)

### Kursdatenbereinigung

Die Kursdatenbereinigung nimmt eine Verdichtung der Kursdatenmengen vor, d.h. bestehende Kursdaten werden nochmals sortiert und ungültige Einträge gelöscht. Der Vorgang sollte nur in Ausnahmefällen genutzt werden, da intern sichergestellt, ist das die Daten konsistent sind. Die Funktion ist historisch entstanden und gilt mittlerweile als deprecated bzw. gehört zum Notfallprogramm.

### Qualifizierte Datenzusammenführung

Als Ausbauvariante/Idee:  
  
Siehe <span class="aui-message aui-message-warning jim-error-message jim-error-message-single conf-macro output-block" data-hasbody="false" data-macro-id="f5bea78a-8aa3-4646-ac16-7d75cec6ab5a" data-macro-name="jira">Für JQL- und Vorgangsschlüsselargumente für dieses Makro ist die Konfiguration mindestens einer Jira-Anwendungsverknüpfung erforderlich.</span>

## Probleme bei den Aktualisierungen

### Internetkursaktualisierungen

Da immer wieder Probleme mit der Kursaktualisierung auftreten hier ein einfaches Vorgehensmodell, um den Fehler einzugrenzen:

#### Aktualisierungsfehler eines Titels

1. Hauptmenü . Kurse . Internetfilter . "Protokoll" oder "Fehlerprotokoll" aktivieren
2. Betroffenen Titel markieren (innerhalb Kursliste, Depot usw.) und eine Einzelaktualisierung mit Strg-F5 durchführen (oder Kontextmenü)
3. Angezeigte Protokoll prüfen hinsichtlich gebildeter URL/Adresse
4. Wurde die URL falsch gebildet, so sollten folgende Prüfungen durchgeführt werden: 
    1. Wurde der Aktie das korrekte Marktsegment zugeordnet
    2. Hat das Marktsegment die korrekte Zuordnung zu einer Internetaktualisierungsadresse (Hauptmenü. Einstellungen. Märkte)
    3. Sind die Werte für Symbol/ISIN/WKN für den Titel korrekt (Hier sind teilweise Sondervariablen zu setzen (Titelstammdaten.Button Variablen))
    4. Wird der Titel überhaupt durch den Kursanbieter (Yahoo usw.) geführt / Ist ein Wechsel zu einer anderen Aktualisierungsadresse notwendig

#### Internetvariablen

Einer der häufigsten Fehler ist die falsche Zuordnung der Internet-Aktualisierungs-Variablen. Bei der Aktualisierung der Kursdaten für einen Titel können in der Aktualisierungsadresse nicht nur die WKN/ISIN/Symbollkennungen verwendet werden, sondern auch völlig freie Kennungen. Diese sind immer dann notwendig, wenn eine Kurslieferant für festgelegte Titel eigene Kennungen nutzt. Welche Kennung hier im Einzelfall zu nutzen ist, muss manuell über einen Abruf der entsprechenden Seite festgestellt werden. z.b. bei Yahoo bieten sich für Deutsche Titel: [https://de.finance.yahoo.com/](https://de.finance.yahoo.com/) und für weltweite Titel: [https://finance.yahoo.com/](https://finance.yahoo.com/) an.

Die Eintragung erfolgt anschließend direkt im Variablen-Formular der Aktienstammdaten eines Titels:

[![image-1655629271442.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629271442.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629271442.png)

<div class="ms-editor-squiggler" id="bkmrk--9">  
</div><div class="ms-editor-squiggler" id="bkmrk--10"></div>

# Tai-Pan® X

## Aktualisierungsformen

Für Aktualisierungen über Tai-Pan® bzw. der Tai-Pan®-Database-Engine stehen unterschiedliche Zugriffswege zur Verfügung:

- Direktaktualisierung über die Toolbar EOD-Update (Tai-Pan® auswählen). Diese Form steht im Trading Studio, Depot und den Kurslisten direkt zur Verfügung.
- Katalogaktualisierung -und komplette Synchronisation gestartet übers Hauptmenü. Siehe hierzu auch unter: [Titelstammdaten und Märkte importieren](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2359207)
- On-Demand Tai-Pan Kursdatenaktualisierung

### On-Demand

Die Funktion aktualisiert automatisch im Hintergrund die Kursdaten mit den Tai-Pan EOD Daten, wenn diese intern nicht mehr aktuell vorliegen. Das Prinzip verhindert vollständig unnötige Aktualisierungsläufe in SHAREholder, da die Daten nur dann abgerufen werden, wenn Sie benötigt werden. Das System funktioniert durchgehend für Chartabrufe, Depotdaten, Kurslisten usw.

Wird in der Toolleiste die Funktion "Setup Tai-Pan/ Aktualisierung" aufgerufen, werden intern alle OnDemand-Caches für ungültig erklärt und automatisch alle Daten erneut von Tai-Pan geholt bei Abruf. Das System funktioniert dabei vollständig transparent und arbeitet technisch auf unterster Ebene, so dass der OnDemand-Abruf und damit der Abruf der aktuellsten Daten von Tai-Pan zu 100% gewährleistet ist, egal welche Programmfunktion genutzt wird.

[![image-1655629325457.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629325457.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629325457.png)

[![image-1655629329006.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629329006.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629329006.png)

### Verifizierte Versionen

Folgende Versionen konnten erfolgreich gestestet werden und sind damit für die Nutzung mit SHAREholder freigegeben:

- Tai-Pan Database-Engine 14-18
- ACHTUNG: Vorherige Versionen sind nicht mehr kompatibel zu shareHOLDER

### Katalog-Aktualisierung

Alle in Tai-Pan vorhandene Kataloge können auch in SHAREholder übernommen und synchronisiert werden. Dabei können sowohl Stammdaten, als auch Kursdaten synchronisiert.

[![image-1655629333635.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629333635.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629333635.png)

[![image-1655629337229.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629337229.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629337229.png)

Dabei wird folgender Aktualisierungsumfang abgedeckt, hier sofort mit angezeigten Inhalten:

[![image-1655629341446.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629341446.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629341446.png)

[![image-1655629348270.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629348270.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629348270.png)

## Generelle Regeln für die Aktualisierung

- Der Abgleich zwischen Tai-Pan® und SHAREholder erfolgt zunächst über die ISIN. Ist dieser Abgleich nicht möglich erfolgt ein Fallback auf die WKN. Die Suche über die ISIN (WKN) erfolgt daher analog der Tai-Pan-Katalog-Suche.
- Zu einer ISIN kann es mehrere Rückgaben von Tai-Pan geben analog der Katalog-Suche mittels der ISIN. In Tai-Pan gibt es pro Währung einen eigenen Eintrag. In Shareholder gibt es pro ISIN nur einen Eintrag mit potentiell mehreren Kursdaten (aktuell immer nur die Hauptwährung für den Endnutzer sichtbar). Wird eine Aktualisierung in ShareHolder vorgenommen, wird die Katalog-Suche von Tai-Pan benutzt. Werden mehrere Titel zurückgegeben, wird der Titel verwendet, der der eingestellten Währung in ShareHolder entspricht. Sie müssen daher bei einer anderen gewünschten Aktualisierung die Währung in ShareHolder in den Stammdaten umstellen.
- Die Titel ließen sich daher in Stichproben sowohl in € als auch in $ aktualisieren.
- Bei Direktaktualisierungen werden immer ALLE Kursdaten aus dem Tai-Pan®-System übernommen. Bereits vorhandene Kursdaten werden zuvor gelöscht. Dies stellt sicher, dass Bereinigungen, Splitts usw. immer korrekt übernommen werden. Zudem ist der Abgleich performancetechnischer langsamer als ein Komplettabgleich.
- Während der Aktualisierung werden die letzten Meldungen zu einem Titel ausgelesen und temporär für die Programmsitzung zwischengespeichert. In den Kurslisten finden sich anschließend kleine Newsdatumsfelder. Das Datum gehört logisch zu diesem oder letzten Monat. Mit Klick auf die News wird die passende AdHoc Meldung angezeigt.
- Die eigentliche Kursdatenbank von Tai-Pan® kann direkt über das Hauptmenü über den Punkt Onlineaktualisierung online abgeglichen werden.
- Die Kursdatenbank von Tai-Pan und ShareHolder sind technisch jeweils vollständig voneinander entkoppelt und unabhängig.

## Automatische Datenübernahme

Eine automatische Titel und Datenübernahme (siehe Aktualisierungsumfang) ist integriert. Diese wird gestartet, wenn innerhalb von Titel-Suchmasken (Marktsuche, Transaktionsfenster - Titelsuche) kein Ergebnis geliefert werden kann. Es wird dann versucht diesen Titel in Tai-Pan zu finden. Die Titel werden hier mit allen gefundenen Attribute gelistet und können per Auswahl direkt übernommen werden. Alle nachfolgende Schritte erfolgen in SHAREholder dann wie gewohnt bei internen, zuvor bereits vorhandenen, Titeln.

# Tai-Pan® Realtime (RT)

## Einbindung und Möglichkeiten

Die Anbindung von Tai-Pan Realtime RT ist inkl. der aktuellen Version 7.1 für folgende Funktionen gegeben:

- Automatischer Titelimport, wenn ein Titel über Name, WKN, ISIN gekauft werden soll und in der bisherigen Datenbasis noch nicht existiert
- Tages-Kursdatenaktualisierung
- Historische-Kursdatenübernahme  
    [![image-1655629375317.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629375317.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629375317.png)

## Fehlermeldungen und Behebung

Wenn bei der Aktualisierung über Tai-Pan RT Fehlermeldung erscheinen zur nicht korrekten Registry-Installation, dann sollten folgende Aktionen im Normalfall Hilfestellung geben:

1. Im Login-Screen sollte mit der rechten Maustaste auf das Logo geklickt werden und dort auf „COM-Server“ neu registrieren.  
    [![image-1655629379364.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629379364.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629379364.png)
2. Sollten dennoch weiterhin Probleme auftreten, starten Sie Taipan RT für die Registrierung mit Admin-Rechten (Im Startmenü mit r. Maustaste Starten als Administrator wählen) und wiederholen den Schritt #1
    
    [![image-1655629385023.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629385023.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629385023.png)

# Nutzung API-Datenprovider

## Basis-Konfiguration

[![image-1655629421627.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629421627.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629421627.png)

Pro API-Anbieter muss ein API-Key hinterlegt werden. Dieser kann dann in den Internetadressen als Variable z.B. {Alphavantage.ApiKey} abgerufen werden.  
Zusätzlich können optionale Website-Adressen hinterlegt werden. Diese werden aktuell jedoch noch nicht weiter ausgewertet.

In der Gesamt-Baumliste rechts werden folgende Icons genutzt:

<div class="table-wrap" id="bkmrk-icon-beschreibung-%C2%A0-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Icon: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Icon</div></th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">[![image-1655629427114.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629427114.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629427114.png)

</td><td class="confluenceTd">API-Key gesetzt und der Umschalter auf "Produktions-Key" gesetzt. In der Standardauslieferung werden nur Demo-Keys genutzt!</td></tr><tr role="row"><td class="confluenceTd" colspan="1">[![image-1655629432224.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629432224.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629432224.png)

</td><td class="confluenceTd" colspan="1">API-Key gesetzt und der Umschalter auf "Demo-Key" gesetzt. In der Standardauslieferung existieren nur Demo-Keys!</td></tr></tbody></table>

</div>## Persönliche Keys

Mit der Standardauslieferung werden nur Demo-Keys ausgeliefert. Um für die vorhandenen Einträge die eigenen Keys zu hinterlegen, ohne auf zukünftige Updates verzichten zu müssen, legen Sie einfach vor dem Überschreiben einen Eintrag auf "Individualisiert" fest über das Kontextmenü in der Auswahlliste. Danach können Sie Ihren eigenen Key hinterlegen.

[![image-1655629437567.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629437567.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629437567.png)

In der Liste wird der Eintrag nun mit einem grünen Punkt dargestellt d.h. die Einstellung hat gegriffen. Wenn Sie wieder auf Standard zurücksetzen, wird wieder der Demo-Key angezeigt.

[![image-1655629441323.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629441323.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629441323.png)

## Besonderheiten pro Anbieter

### Finnhub.IO

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[finnhub.io/docs/api](http://finnhub.io/docs/api)</td><td class="confluenceTd">Aktuelle werden mindestens folgende Endpunkte genutzt:  
- <a rel="nofollow">https://finnhub.io/api/v1/quote?symbol={RIC\[isin\]}{BOERSE}&amp;token={FINNHUB.APIKEY</a>}
- <a rel="nofollow">https://finnhub.io/api/v1/stock/candle?symbol={RIC\[isin\]}{BOERSE}&amp;resolution=D&amp;from={VON.INSECONDS}&amp;to={BIS.INSECONDS}&amp;token={FINNHUB.APIKEY}&amp;format=csv</a>

Wie man an der Definition erkennen kann, werden die BOERSE-Kürzel mitgegeben. So kann man gezielt mit ".DE" auf XETRA-Titel zugreifen.

Die Zeitwerte werden dabei immer als {UNIX-TIMESTAMP-MS} d.h. UNIX-Timestamps in Millisekunden zurückgegeben und entsprechend interpretiert.

</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[finnhub.io/pricing-stock-api-market-data](http://finnhub.io/pricing-stock-api-market-data)</td><td class="confluenceTd" colspan="1">- OHLC bis zu 15 Jahren hier möglich ab 50$ / Monat bei 150 API calls/minute für internationale Märkte
- OHLC bis zu 10 Jahren für US Stocks ab 49$ / Monat bei 150 API calls/minute (Basic)

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registierung</td><td class="confluenceTd" colspan="1">[finnhub.io/register](http://finnhub.io/register)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">[finnhub.io/pricing-stock-api-market-data](http://finnhub.io/pricing-stock-api-market-data)  
[finnhub.io/pricing-stock-api-international-market-data](https://finnhub.io/pricing-stock-api-international-market-data)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">[finnhub.io/dashboard](http://finnhub.io/dashboard)</td><td class="confluenceTd" colspan="1">1x API-Key verwaltbar</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>### Alphavantage

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi-0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[www.alphavantage.co/documentation/](http://www.alphavantage.co/documentation/)</td><td class="confluenceTd">Folgende Hauptendpunkte werden genutzt d.h. der Teildatenabruf oder der Komplett-Datenabruf. Eine Time-Range-Abfrage ist leider nicht möglich.

- <a rel="nofollow">https://www.alphavantage.co/query?function=TIME\_SERIES\_DAILY\_ADJUSTED&amp;symbol={RIC\[isin\]}{BOERSE}&amp;apikey={Alphavantage.APIKEY}&amp;datatype=csv&amp;outputsize=compact</a>
- <a rel="nofollow">https://www.alphavantage.co/query?function=TIME\_SERIES\_DAILY\_ADJUSTED&amp;symbol={RIC\[isin\]}{BOERSE}&amp;apikey={Alphavantage.APIKEY}&amp;datatype=csv&amp;outputsize=full</a>

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[www.alphavantage.co/premium/](http://www.alphavantage.co/premium/)</td><td class="confluenceTd" colspan="1">- Preis-Staffelung nach API-Nutzung. Start mit 30 API/Minute für 30$. Für die Nutzung in ShareHolder sollten 120 API-Requests/Minute freigeschaltet werden für 49$/Monat
- No daily limits.
- Cancel anytime - no questions asked.
- No hidden costs. No surprise overage charges.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registrierung</td><td class="confluenceTd" colspan="1">[www.alphavantage.co/support/#support](http://www.alphavantage.co/support/#support)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">N/A</td><td class="confluenceTd" colspan="1">Gibt es leider bisher nicht bzw. ist nicht öffentlich bekannt</td></tr></tbody></table>

</div>### Polygon.io

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi-1"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[www.polygon.io/docs/#getting-started](http://www.polygon.io/docs/#getting-started)</td><td class="confluenceTd">Folgende Hauptendpunkte werden verwendet:

- <a rel="nofollow">https://api.polygon.io/v2/aggs/ticker/{RIC\[isin\]}/range/1/day/{VON.J}-{VON.MM}-{VON.TT}/{BIS.J}-{BIS.MM}-{BIS.TT}?sort=asc&amp;apiKey={Polygon.io.ApiKey}&amp;format=json</a>
- <a rel="nofollow">https://api.polygon.io/v2/aggs/ticker/{RIC\[isin\]}/range/1/day/{VON.J}-{VON.MM}-{VON.TT}/{BIS.J}-{BIS.MM}-{BIS.TT}?sort=asc&amp;apiKey={Polygon.io.ApiKey}&amp;format=json</a>

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[polygon.io/pricing](http://polygon.io/pricing)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registrierung</td><td class="confluenceTd" colspan="1">[www.polygon.io/signup](http://www.polygon.io/signup)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">[www.polygon.io/dashboard](http://www.polygon.io/dashboard)</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>### IEXCloud

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi-2"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[iexcloud.io/docs/api/](http://iexcloud.io/docs/api/)</td><td class="confluenceTd">Folgende Endpunkte werden genutzt:

<div class="content-wrapper"><div class="content-wrapper">- <a rel="nofollow">https://cloud.iexapis.com/stable/stock/{RIC\[isin\]}/quote?token={IEXCLOUD.APIKEY}&amp;format=json</a>
- <a rel="nofollow">https://cloud.iexapis.com/stable/stock/{RIC\[isin\]}/chart/1m?token={IEXCLOUD.APIKEY}&amp;format=json</a>

</div></div>Der Datenabruf ist effektiv nur JSON-Format möglich. Leider sind die Chart-Ranges auch nur fixiert möglich d.h. es kann kein dynamisches Anfangsdatum festgelegt werden. Dies ist durch die Quick-Adressen für IEXCloud in ShareHolder dennoch unproblematisch. Für Quick wird immer 1 Monat abgerufen, sonst 1 Jahr.

[![image-1655629450625.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629450625.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629450625.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[iexcloud.io/pricing/](http://iexcloud.io/pricing/)</td><td class="confluenceTd" colspan="1">- Start bereits bei 9$/Monat bei jährlicher Zahlweise
- Pay as You Go-Modell zusätzlich zum Basisplan möglich:

> Your launch plan includes an allocation of 5,000,000 messages per month. You can use messages beyond this initial allocation at the discounted pay as you go rate of $1 per 1 million messages.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registrierung</td><td class="confluenceTd" colspan="1">[iexcloud.io/cloud-login#/register](http://iexcloud.io/cloud-login#/register)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">[iexcloud.io/core-data-catalog/](http://iexcloud.io/core-data-catalog/)</td><td class="confluenceTd" colspan="1">Sehr breite Markt-Abdeckung</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">[iexcloud.io/console](http://iexcloud.io/console)</td><td class="confluenceTd" colspan="1">- 2x PUBLIC APIs und 1x interner SECRET-Key nutzbar
- Professionale Health-Checks und Status-Berichte

</td></tr></tbody></table>

</div>### Intrinio

Noch nicht in Shareholder abgebildet ...

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi-3"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[docs.intrinio.com/documentation/api\_v2/getting\_started](http://docs.intrinio.com/documentation/api_v2/getting_started)</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>### Xignite

Noch nicht in Shareholder abgebildet ...

<div class="table-wrap" id="bkmrk-thema-url-weitere-hi-4"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Thema: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Thema</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[www.xignite.com/products](http://www.xignite.com/products)</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[www.xignite.com/pricing](http://www.xignite.com/pricing)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registrierung</td><td class="confluenceTd" colspan="1">[www.xignite.com/xignite-trial](http://www.xignite.com/xignite-trial)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>### Quandl

<div class="table-wrap" id="bkmrk-url-weitere-hinweise"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="URL: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">URL</div></th><th aria-disabled="false" aria-label="Weitere Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">API-Endpunkte</td><td class="confluenceTd">[www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/documentation](http://www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/documentation)</td><td class="confluenceTd">**Für historische Kursdaten**

Bei [Quandl.com](http://quandl.com/) gibt es ein sehr umfangreiches Angebot von Kursdaten, über Fundamentaldaten bis hin zu Real-Estate-Informationen.

In Shareholder ist speziell das Premium-Angebot von [EOD | End of Day US Stock Prices | Quandl](https://www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices) unterstützt, um historische Kursdaten abzufragen. Es können jedoch beliebige weitere Angebote eingebunden und genutzt werden. Es muss dann jeweils nur ein geeignetes Importprofil konfiguriert werden.

Haupt-Endpunkt aus einem Premium-Angebot "EOD-US-Stocks" von Quandl ist:

- <a rel="nofollow">https://www.quandl.com/api/v3/datasets/{BOERSE}/{RIC\[isin\]}.csv?auth\_token={Quandl.APIKEY}&amp;start\_date={VON.J}-{VON.MM}-{VON.TT</a>}

Es sind natürlich beliebige weitere Kataloge einbindbar!

**Fundamentaldatenbank**

Eine Nutzung auch der Fundamental über [SF1 | Core US Fundamentals Data | Quandl](https://www.quandl.com/databases/SF1/data) ist im Default direkt in Shareholder integriert.  
Das Profil steht allerdings nur über das AddOn "Fundamentaldaten" zur Verfügung (siehe [Börsensoftware SHAREholder - AddOn Fundamental-Datenbanken)](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/fundamental-datenbanken)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Preise</td><td class="confluenceTd" colspan="1">[www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/pricing/plans](http://www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/pricing/plans)</td><td class="confluenceTd" colspan="1">Die Preise für die EOD-US-Stocks starten bei 39$ / Monat</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Registrierung</td><td class="confluenceTd" colspan="1">[www.quandl.com/sign-up](http://www.quandl.com/sign-up)</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktsegmente</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Management-Console</td><td class="confluenceTd" colspan="1">[www.quandl.com/account/profile](http://www.quandl.com/account/profile)</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>

# CSV-Im- und Exporte

## Import

### Einmaliger Manueller Import Kursdaten/Stammdaten

[![image-1655629504632.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629504632.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629504632.png)

**Voraussetzung**

Für den Import können frei definierte Importformate verwendet werden. Für den Import muss das Importformat jedoch zwingend dem Format der importierenden Daten entsprechen. Die jeweils verwendeten Elemente können dabei im Importformat nochmals im Detail geprüft werden.

**Modus**

Der Import von Kursdaten kann mit oder ohne einen Bezug zu einer vorher ausgewählten Aktie/Titel erfolgen:

- In der freien Varianten ohne vorherige Auswahl eines Titels, müssen die Daten zugeordnet werden können. Daher muss hier ein Importformat verwendet werden, was eine Zuordnung zum Titel erlaubt wie Symbol, ISIN, WKN oder Name des Titels. Bei Erfolg werden anschließend, die Daten im Formular/Abschnitt Protokoll aufgeführt.
- Alternativ kann über das Kontextmenü auch ein Kursdatenimport für einen speziellen Titel erfolgen, d.h. pro Zeile ist keine Information zur verwendeten Aktie notwendig. In der Titelleiste erscheint hier dann der verwendete Importtitel.

**Importformate**

Teilweise können Titel nur über exotische Datenquellen aktualisiert werden, die die Kursdaten in unterschiedlichen Formaten anbieten. Die Daten können für jeden Titel als File oder für mehre Titel in einem File vorliegen. Das Programm unterstützt für das automatische Einlesen folgende Formate:

- ASCII/CSV

**Vorgehen und Schritte**

Ein einmaliger Import von Kursdaten (Aufruf: Hauptmenü.Kurs.Import) ist mit Hilfe eines Importformats (siehe Hauptmenü.Einstellungen.Importformat) ausführbar. Alle gefundenen und zugeordneten Werte werden anschließend im Protokoll gelistet.

1. Speichern Sie die Datei(en) mit einem aussagekräftigen Namen
2. Öffnen des Menüs unter: Hauptmenü/Kurs/Import
3. Wählen Sie das geeignete Importformat, welches Ihrer Datei-Struktur entspricht

**Einschränkungen und Auslesen lokaler Importdateien z.-B. von Drittprogrammen**

Der Import von ganzen Verzeichnissen mit Einzelkursdateien pro Wert ist mit dem manuellen Import nicht möglich. Diese Variante ist in unterschiedlichsten Kombinationen allerdings über die Bereitstellung von passenden konfigurierten Internetadressen möglich. Diese können so definiert werden, dass diese ins Filesystem zeigen (Adresse sollte hier dann im Format <a class="external-link" rel="nofollow">file:///</a>&lt;LokalerPfad&gt; hinterlegt sein.) Weitere im nachfolgenden Kapitel.

### Automatische Import Kursdaten

[![image-1655629512253.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629512253.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629512253.png)

  
Wird die automatische Anbindung eines Datenanbieters über CVS / Textdaten angestrebt oder müssen ganze Kursverzeichnisse eingelesen werden, so besteht die Möglichkeit des Zugriffs aus lokale/Netzdateien über entsprechend angepasste Internetadressen (Hauptmenü.Einstellungen.Internetadressen). Wichtig ist hier die Definition als "file:///". Anschließend erfolgt der normale Zugriff aufs Dateisystem mit der vollen Pfadangabe. Der Zugriff auf Netzwerklaufwerke ist möglich.

Soll ein Drittprogramm zur Kursdatenbereitstellung über ASCII Files genutzt werden, kann dies zusätzlich über zeitgesteuerte Aktualisierungen (normale Intervallaktualisierung fürs Internet) realisiert werden.

Wird nur ein einmaliger Import realisiert für ein Kursdatenverzeichnis z.B. mit \\Daten\\Import und 562299.TXT, 562300.TXT so wären folgende Schritte notwendig:

1. Definition einer eigenen Internetadresse mit Verweis aufs lokale Verzeichnis file:///c:\\Daten\\Import\\{WKN}.TXT. Die WKN wird hier als Platzhalter definiert, der vom Programm ausgefüllt wird (Alternativ ist natürlich auch {ISIN} möglich.
2. Anpassung der Markteinstellung, um die neue Aktualisierungsadresse zu verwenden (je nach Bedarf und/oder Tagesaktualisierungsadresse oder die Adresse für die historischen Kursdaten)
3. Aktualisierung der Kursdaten je nach Bedarf (Tagesdaten/ EOD-Update)

## Export

[![image-1655629517210.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629517210.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629517210.png)

Über den Menüpunkt Hautpmenü.Kurse.Export wird ein Exportmodul geöffnet. Der Export erfolgt als CSV Textdatei, die festlegbare Felder in festlegbarer Reihenfolge enthält. Der Export erfolgt in

- Einzeldateien oder in einer
- Gesamtdatei  
    entsprechend der Auswahl in der unteren Toolbar (Liste, Einzeln) für alle per Checkbox markierten Werte. Der Export ist so immer nur für Märkte möglich. Ein Einzelexport von Kursdaten eines Titels ist zur Zeit nicht vorgesehen.

### Arbeitsschritte

1. Per Quickauswahl (Quickselect) kann das Textformat aus bereits definierten Importformaten übernommen werden, d.h. Position und Inhalt wird übernommen.
2. Beim Export sollte das Trennzeichen, Datumsformat und das Zeitformat definiert und in jedem Fall geprüft werden.
3. Mit der Definition einer Startzeile und Endzeile pro Datei sind spezielle Formate abbildbar. In diesen können als freie Variablen {DATE} und {NOW} für die Uhrzeit Verwendung finden. Das "Freie Feld" kann mit beliebigem Inhalt oder fixen Zeichenketten gefüllt werden und steht innerhalb der Positionen als Auswahlfeld zur Verfügung.
4. Auswahl der gewünschten Märkte für den Export (Einzelauswahl von Titeln ist nicht möglich)
5. Start mit dem Button "Starten" in der unteren Toolleiste

### Beispiel

Entsprechend des obrigen Screenshots

```YAML
EXPORT VOM: 16.05.2009 18:57
Bauer`F;516810;04.07.2006;00:00;17,390;52890;16,600;17,390;16,600;
Bauer`F;516810;05.07.2006;00:00;17,150;17518;17,390;17,390;17,050;
Bauer`F;516810;06.07.2006;00:00;17,280;11937;17,220;17,280;16,900;
Bauer`F;516810;07.07.2006;00:00;16,990;4333;17,000;17,030;16,920;
Bauer`F;516810;10.07.2006;00:00;16,950;3414;17,000;17,000;16,850;
...
Alle anderen Titel vom MDAX Parkett.
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="a30ea1ad-0917-4a42-9fe5-a4dcc26b25fa" data-macro-name="code" id="bkmrk-formatstrings-f%C3%BCr-da"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-formatstrings-f%C3%BCr-da-0"><span style="color: #222222; font-size: 2.333em; font-weight: 400;">Formatstrings für das Zahlenformat</span></div></div></div></div>Formatbezeichner werden in der folgenden Form angegeben:

```YAML
["-"] [width] ["." prec] type
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="0f649e71-5e60-4107-b279-dfadab8c8d17" data-macro-name="code" id="bkmrk--2"><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div>Eine optionale Angabe für die linksbündige Ausrichtung:  
Eine optionale Breitenangabe: [width](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=width&linkCreation=true&fromPageId=1605396)  
Eine optionale Genauigkeitsangabe: prec\]  
Das Zeichen für den Konvertierungstyp: type

In der folgenden Tabelle sind die verschiedenen Werte aufgeführt:

- d Dezimal. Das Argument muss ein Integerwert sein. Der Wert wird in einen String umgewandelt, der aus Dezimalzahlen besteht. Wenn der Format-String einen Bezeichner für die Genauigkeit enthält, muss der resultierende String mindestens die angegebene Anzahl von Stellen aufweisen. Enthält er weniger Stellen, wird der String auf der linken Seite mit Nullen aufgefüllt.
- u Vorzeichenlose Dezimalzahl. Das Format "u" entspricht dem Format "d", allerdings enthält der resultierende String kein Vorzeichen.
- e Wissenschaftliche Notation. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String mit der folgenden Form umgewandelt: "-d,ddd...E+ddd". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen. Vor dem Dezimaltrennzeichen steht immer eine Ziffer.Die Gesamtzahl der Stellen im Ergebnis-String (einschließlich der Ziffer vor dem Dezimalkomma) wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen. Auf den Exponenten "E" im String folgen immer ein Plus- oder Minuszeichen und mindestens drei Stellen.
- f Fest. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String der folgenden Form umgewandelt: "-ddd.ddd...". Wenn es sich um eine negative Zahl handelt, beginnt der String mit einem Minuszeichen.Die Anzahl der Stellen nach dem Dezimalkomma wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von zwei Dezimalstellen verwendet.
- g Allgemein. Das Argument muss ein Gleitkommawert sein. Der Wert wird unter Verwendung des Formats Fest oder Wissenschaftliche Notation in den kürzestmöglichen Dezimal-String umgewandelt. Die Anzahl der signifikanten Stellen im resultierenden String wird durch den Genauigkeitsbezeichner im Format-String festgelegt. Ist dieser nicht vorhanden, wird eine vorgegebene Genauigkeit von 15 Stellen angenommen.Nachfolgende Nullen werden aus dem resultierenden String entfernt. Ein Dezimaltrennzeichen wird nur bei Bedarf angezeigt. Für den resultierenden String wird das Festkommaformat verwendet, wenn die Anzahl der Stellen vor dem Dezimaltrennzeichen kleiner oder gleich der festgelegten Genauigkeit und der Wert größer oder gleich 0,00001 ist. In allen anderen Fällen wird die wissenschaftliche Notation benutzt.
- n Zahl. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String der folgenden Form umgewandelt: "-d,ddd,ddd.ddd...". Das Format "n" entspricht dem Format "f", allerdings enthält der resultierende String Tausendertrennzeichen.
- m Währung. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String umgewandelt, der einen Währungsbetrag darstellt. Die Steuerung der Konvertierung erfolgt mithilfe der globalen Variablen CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator und CurrencyDecimals oder deren Entsprechungen in einer TFormatSettings-Datenstruktur. Enthält der Format-String einen Genauigkeitsbezeichner, setzt dieser den Wert in der globalen Variablen CurrencyDecimals bzw. in deren TFormatSettings-Entsprechung außer Kraft.

Bei allen Gleitkommaformaten wird das Zeichen für das Dezimal- bzw. das Tausendertrennzeichen aus den globalen Variablen DecimalSeparator und ThousandSeparator bzw. deren TFormatSettings-Entsprechungen ausgelesen.

Die Bezeichner für Index, Breite und Genauigkeit können direkt durch Angabe eines Strings mit dezimalen Ziffern (z.B. "%10d") oder indirekt mithilfe von Sternchen (z.B. "%\*.\*f") angegeben werden. Im letzteren Fall wird das Argument, das in der Argumentliste auf das Sternchen folgt (es muss sich dabei um einen Integerwert handeln), als tatsächlicher Wert verwendet. Ein Beispiel:

Der Breitenbezeichner legt die minimale Länge des Feldes für die Konvertierung fest. Ist der resultierende String kürzer als die minimale Feldlänge, wird er mit Leerzeichen aufgefüllt. Per Vorgabe werden die Leerzeichen vor dem Wert eingefügt, um eine rechtsbündige Ausrichtung zu erreichen. Enthält der Formatbezeichner jedoch einen Indikator für linksbündige Ausrichtung (vor dem Breitenbezeichner steht in diesem Fall ein Minuszeichen), werden die Leerzeichen nach dem Wert eingefügt und dieser linksbündig ausgerichtet.

<div class="ms-editor-squiggler" id="bkmrk--3"></div>

# Internet-Websites-Portale: Aktualisierungen

## Grundverfahren

Bei der Internetaktualisierung werden frei konfigurierbare Zieladressen in Gruppen zusammengefasst für den gruppierten Abruf der Tagesdaten und historischen Kursdaten. Die Zieladressen sind dabei HTTP(S) Adressen von Zielportalen oder auch API-Datenprovidern. Beim Abruf werden dabei CSV/JSON und HTML-Formate genutzt. Um an die notwendigen Zieladressen pro Titel zu kommen, werden dabei ebenfalls konfigurierbare Internet-Variablen genutzt. Diese werden automatisch aufgelöst bzw. gesucht in angegebenen Suchadressen.

Eine Nutzung von Proxy-Adressen ist dabei möglich, um insb. in Firmennetzwerk-Umfeldern zu funktionieren oder auch um VPN-Proxies nutzen zu können.

Nachfolgend werden die für dieses Grundprinzip notwendigen Einzelkonfigurationen im Detail erklärt:

- Internetadressen für die Zieladressen
- Internetvariablen für die Auflösung der Zieladressen z.B. die auf ARIVA notwendige ARIVA-ID, die über eine automatische Suche mittels der ISIN eines Titels aufgelöst werden kann
- Importformate um die zurückgegebenen Daten interpretieren zu können z.B. das CSV oder JSON-Format

## Konfigurationsparameter

### Aktualisierungsgruppen

[![image-1655629646844.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629646844.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629646844.png)

  
Wenn innerhalb des Programms die Kursdaten aktualisiert werden, werden alle Aktualisierungsinformationen aus der Aktualisierungsgruppe ausgelesen. Diese Gruppen bilden eine eindeutige Zuordnung zu den für eine Aktualisierung notwendigen Abfragen ab wie z.B. Abfrageadresse (URL) für die Tagesdaten, Historischen Datenadresse und Formate.

Um die Bedeutung der Aktualisierungsgruppen kurz zu umreißen (hier die Einstellungsmaske zu den Gruppen), vorhergehend ein Sceenshot der Einstellungsmaske. Zu sehen sind rechts die aktuellen möglichen Gruppen und links für die Alphavantage-Stuttgart-Aktualisierungsgruppe die zugehörigen Einstellungen.

Erst die Aktualisierungsgruppen stellen die klare Verbindung zu den Abfrageadressen, Börse und Währung her. Da die Zuordnung von Titel/Aktie und Aktualisierungsgruppe immer 1:1 ist, muss immer nur eine passende Gruppe gefunden werden und kein Einzeltest auf Adressebene. Hierzu steht in den Titelstammdaten (siehe oben) neben der Auswahlbox ein entsprechende Testformular zur Verfügung.

Eine Aktualisierungsgruppe nutzt daher folgende Einzel-Einstellungen:

<div class="table-wrap" id="bkmrk-konfigurationsparame-0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 18.529%;"></col><col style="width: 81.4703%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurationsparameter: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurationsparameter</div></th><th aria-disabled="false" aria-label="Hinweise zur Nutzung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise zur Nutzung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">Abgerufene Zieladressen haben im Normalfall eine Standardwährung, die über diese Einstellung festgelegt wird. Diese Währung wird nach dem Datenabruf auch als Zielwährung gespeichert.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Bevorzugte Börse</td><td class="confluenceTd" colspan="1">Im Idealfall zeigt die bevorzugte Börse auf die korrespondierende Börse. Aktuell ist dies eine reine kosmetische Einstellung.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Börsenabkürzung</td><td class="confluenceTd" colspan="1">Abgerufene Zieladressen für Kursdaten können sich manchmal nur in der Börsen-Kürzung unterscheiden. Um hier nicht jeweils eigene Internetadressen definieren zu müssen, kann in einem eigenen Feld die Kurzbezeichnung festgelegt werden. Dieses Feld kann dann dynamisch in der Internetadresse als {BOERSE} eingebunden werden. Damit kann die die notwendige Ausmultiplikation über die Aktualisierungsgruppen erfolgen z.B. als

<div class="content-wrapper"><div class="content-wrapper">- Alphavantage.Stocks\[ric\]\[Frankfurt\] mit dem Börsenkürzel "FRK"
- Alphavantage.Stocks\[ric\]\[München\] mit dem Börsenkürzel "MUN"

</div></div>[![image-1655629653903.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629653903.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629653903.png)

Börse bzw. das spezifische Börsenkürzel für die Abfrageadresse, da Yahoo z.B. andere Börsen-Kürzel als Consors verwendet. Die Kürzel müssen auf der jeweiligen Plattform manuell ermittelt werden und sind weitgehend spezifisch in der Abbildung. Es wird damit eine sehr genaue Festlegung der Zieladressen erreicht.

</td></tr><tr role="row"><td class="confluenceTd">Tages-Kursdaten</td><td class="confluenceTd">Auswahl der zu nutzenden Internetadresse für die Aktualisierung von Tagesdaten:

[![image-1655629658578.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629658578.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629658578.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Historische Kursdaten Voll</td><td class="confluenceTd" colspan="1">Auswahl der zu nutzenden Internetadresse für die Aktualisierung von historischen Kursdaten. Im Normalfall wird versucht die "Quick"-Variante zu nutzen, wenn die Mindestanzahl an Tagen bereits vorliegt bzw. der Abstand zwischen Heute und dem letzten Kursstempel ist.

[![image-1655629663114.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629663114.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629663114.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Historische Kursdaten Quick</td><td class="confluenceTd" colspan="1">Auswahl der zu nutzenden Internetadresse für die Aktualisierung von historischen Kursdaten. Siehe auch "Historische Kursdaten-Voll"</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Fundamentaldaten-Default</td><td class="confluenceTd" colspan="1">Zusammen mit der Konfiguration der Internetadressen wird auch die zugeordnete Adresse für die Aktualisierung von Fundamentaldaten in den Aktualisierungsgruppen eingestellt. Die Auswahl basiert auf die konfigurierbare Liste der Fundamentaldaten.

[![image-1655629667422.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629667422.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629667422.png)

</td></tr></tbody></table>

</div>### Internetadressen

Über die Internetadressen werden die Zieladressen und die für den Import zu nutzenden Importformate festgelegt.

[![image-1655629673048.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629673048.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629673048.png)

<div class="table-wrap" id="bkmrk-konfigurations-feld-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 19.2694%;"></col><col style="width: 80.7299%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurations-Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurations-Feld</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Antwort-Typ</td><td class="confluenceTd" colspan="1">Der Datentyp legt fest, wie die Rückgabe interpretiert werden muss unterschieden nach:

1. 1. CSV: Reines Textformat ohne HTML-Steueranweisungen.
    2. HTML: Textformat mit HTML-Steueranweisungen, die zunächst geparst werden müssen. Die Steueranweisungen sind dabei immer in &lt; &gt; eingeschlossen. Die für den Import notwendigen Tests können unter "Einstellungen.HTML-Parsing" durchgeführt werden.
    3. Profil: Zurückgegebene Daten werden direkt als Text komprimiert und in eine Profildatei gespeichert. Kursdaten können hier nicht gewonnen werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Request-Typ</td><td class="confluenceTd" colspan="1">Abfragen im Web werden immer unterschieden nach GET und POST-Requests. </td></tr><tr role="row"><td class="confluenceTd" colspan="1">Importformat</td><td class="confluenceTd" colspan="1">Wie kann das zurückgegebene Ergebnis der Zieladresse ausgewertet werden. Dabei wurde eine Auswahl des zu verwendenden Formats verwendet.

</td></tr><tr role="row"><td class="confluenceTd">Zieladresse (URL)</td><td class="confluenceTd">Wie ermittle ich die Zieladresse (URL) für ein Titel, welches über diese Adresse aktualisiert werden kann. Adresse mit Nutzung von Freien und Festen Variablen

Um eine Zieladresse zu bilden, werden eine Reihe von statischen und dynamischen Variablen angeboten. Diese Statischen stellen einen Zugriff auf die Stammdaten einer Aktie und den aktuellen Einstellungen für die Kursaktualisierung dar. Die dynamischen basieren selbst auf frei konfigurierbare Internetvariablen.

Variablen werden immer in { } eingeschlossen, um diese von anderen Teilen der URL-Zeichenkette unterscheiden zu können. Freie Variablen sind Platzhalter für Werte, die selbst über statische Variablen oder dynamische Variablen aufgelöst werden müssen.

Hier einmal als Beispiel:  
<a rel="nofollow">https://www.alphavantage.co/query?function=TIME\_SERIES\_DAILY\_ADJUSTED&amp;symbol={RIC\[isin\]}{BOERSE}&amp;apikey={Alphavantage.APIKEY}&amp;datatype=csv&amp;outputsize=compact</a>

Dabei werden mehrere dynamische Variablen verwendet:

- {RIC\[isin\]} - Frei konfigurierte Internetvariable die das Börsensymbol des Titels enthält
- {BOERSE} - Aus der Aktualisierungsgruppe "übernommene" Abkürzung
- {Alphavantage.APIKEY} - Aus der konfigurierbaren API-Key-Definition für Alphavantage gebildet

</td></tr></tbody></table>

</div>### Internetvariablen

Internetvariablen werden für die Zielauflösung von URL-Adressen benötigt und werden pro Titel optional gespeichert, so dass eine automatische Auflösung/Abruf von Variablen nur einmalig erfolgen muss.  
Es gibt hier mindestens folgende Anwendungsfälle:

1. Sammelabfragen d.h. der gleichzeitige Abruf von mehreren Kursdaten die miteinander beim Abruf verkettet werden z.B. als "APL+DEP+AAZ"
2. Sich verändernden Adressteilen (je Abruf) auf der Website z.B. Chart.ID bzw. auch Adressteilen die anbieterspezifisch sind und einmalig ermittelt werden müssen. Ein Beispiel ist die CompanyID der gespeicherten Profile auf dem Comdirect-Server. Diese IDs sind weitestgehend spezifisch für den Anbieter, bleiben aber konstant.

#### Nachträgliche Umbenennung von Internet-Variablen

Da Variablen Bestandteil anderer Variablen sein können als auch Bestandteil von verschiedenen Internetadressen ist die Umbenennung von Variablen nicht unproblematisch. Um den Vorgang aber nicht unnötig kompliziert zu halten, werden automatisch nach einer Umbenennung alle abhängigen Teile aktualisiert.  
Dies verhindert Inkonsistenzen.

#### Nutzung von Sammelabfragen

[![image-1655629678906.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629678906.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629678906.png)

Konfigurationsbeispiel für eine Sammelabfrage.

<div class="table-wrap" id="bkmrk-konfigurationseintra"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 20.637%;"></col><col style="width: 79.3623%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurationseintrag: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurationseintrag</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Daten aus Sammelanfragen liegen in Reihenfolge des Abrufs vor</td><td class="confluenceTd" colspan="1">Diese Einstellung ist unbedingt zu prüfen für den Anbieter. Wird ein Datenabruf vorgenommen und z.B. APL, DEP und AAZ abgefragt, sollte die Rückmeldung mit Aktivierung dieser Checkbox in gleicher Reihenfolge vorliegen. Ist dies nicht der Fall muss das Importformat in der Position Suchkennung explizit eine saubere Zuordnung enthalten, da sonst eine zufällige Kursdatenzuordnung erfolgen würde.</td></tr><tr role="row"><td class="confluenceTd">Maixmale Anzaghl der gleichzeitigen Abrufe</td><td class="confluenceTd">Erst durch diese Konfiguration wird der Eintrag überhaupt zu einer Sammelabfrage. Definiert wird eine solche Abfrage durch die Eingabe von "Maximale Anzahl von gleichzeitigen Abrufen" &gt;1</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Trennzeichen</td><td class="confluenceTd" colspan="1">Geachtet werden sollte auf das Trennzeichen zwischen den Werten für die Abfrage. Werden somit 3 Aktien ausgewählt und verwenden das selbe Aktualisierungstemplate ergibt sich für die Variable (Wir nehmen an alle Werte verwenden die XETRA-Börse):

APL,DEP,AAZ

</td></tr></tbody></table>

</div>#### Dynamische Variablen

[![image-1655629687076.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629687076.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629687076.png)

<div class="table-wrap" id="bkmrk-konfigurationseinste"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 22.4805%;"></col><col style="width: 77.5188%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurationseinstellung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurationseinstellung</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Name </td><td class="confluenceTd" colspan="1">Wird rechts in der Listendarstellung festgelegt und über "Edit" verändert. Die Nutzung erfolgt dann in anderen Internetadressen als auch in anderen Internetvariablen mit geschweiften Klammern. Hier im Beispiel also: {arivaSecuID\[isin\]}</td></tr><tr role="row"><td class="confluenceTd">Quelldatenadresse</td><td class="confluenceTd"><div class="content-wrapper"><div class="content-wrapper">Prinzipiell könnten alle Variablen direkt im Stammdaten-Dialog des Titels (Doppelklick, Reiter Internetvariablen) manuell festgelegt werden. Um dies jedoch auf ein Minimum zu reduzieren, kann eine automatische Auflösung erfolgen.  
</div></div>Nachfolgend als Beispiel:   
Hierbei wird als ein Zielseite zunächst abgerufen und intern nach der Zeichenkette

```
https://www.ariva.de/search/search.m?searchname={ISIN}
```

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Suchstring</td><td class="confluenceTd" colspan="1">Nachfolgend als Beispiel:

```
aic={suchstring}&
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="c84f0d90-a34f-45b3-bc92-cd508c4e7a49" data-macro-name="code"><div class="codeContent panelContent pdl">  
</div></div>Der {Suchstring} wird dabei nicht gesucht, sondern kennzeichnet einfach nur den Teilbereich, der als Rückgabewert für die Variable gelten soll auf Basis der Quelldatenadresse.  
Dabei wird der Teil vor und nach dem Suchstring in der Rückgabe der Quelldatenadressen (Normalfall HTML-Text) gesucht und so der Suchstring als Variable interpretiert.</div></td></tr></tbody></table>

</div>### Importformate

[![image-1655629692937.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629692937.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629692937.png)

  
Die Formateinstellungen entscheiden maßgeblich über den Erfolg oder Misserfolg einer Kursaktualisierung. Festgelegt werden können für die Kursdatenaktualisierung zwei unterschiedliche Importformattypen: Für Aktienkursdaten und Für Aktienstammdaten z.B. KGV, DivR usw.

Weitere Details finden Sie speziell unter:

- [Internet - Importformate](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605509/Internet+-+Importformate)

### Aktualisierungen von HTML-Seiten

[![image-1655629698759.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629698759.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629698759.png)

  
HTML Dateien können in CSV Dateien übersetzt werden insb. durch die Transformation von Tabellen. In HTML werden Tabellen mit

```
<table>
  <tr>
      <td>1.Zeile / 1.Spalte</td>
      <td>1.Zeile / 2.Spalte</td>
      <td>1.Zeile / 3.Spalte</td>
  </tr>
</table>
<table>
  <tr>
      <td>2.Zeile / 1.Spalte</td>
      <td>2.Zeile / 2.Spalte</td>
      <td>2.Zeile / 3.Spalte</td>
  </tr>
</table>
```

dargestellt.

Diese Struktur wird in:

```
___________:TABLE:_________
1.Zeile / 1.Spalte°1.Zeile / 2.Spalte°1.Zeile / 3.Spalte°
___________:TABLE:_________
2.Zeile / 1.Spalte°2.Zeile / 2.Spalte°2.Zeile / 3.Spalte°
```

transformiert. Diese kann dann normal durch die Importformatbeschreibungen ausgelesen werden.

<div class="table-wrap" id="bkmrk-konfigurations-feld--0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 20.8721%;"></col><col style="width: 79.1272%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurations-Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurations-Feld</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Suchschlüssel</td><td class="confluenceTd">Da die Infotabellen nicht zwingend allein auf einer HTML Seite stehen müssen, kann ein Suchschlüssel für eine Tabelle angegeben werden, um anderen davor liegende Tabellen zu überspringen z.B. für Werbeblöcke. Nachfolgende werden ohnehin ignoriert. Mit Suchschlüssel können Sie gezielt ein Suchwert festlegen, der an irgend einer Stelle innerhalb der gesuchten Tabelle vorhanden ist. Im obrigen Beispiel würden Sie gezielt die 1.Tabelle mit "Kursdaten" filtern, die 2. entsprechend mit Copyright. Alle anderen Tabellen die den Suchbegriff nicht enthalten würde herausgefiltert werden.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">&lt;TR&gt;=Zeilenvorschub</td><td class="confluenceTd" colspan="1">Informationen werden normalerweise zeilenweise gespeichert. Dies macht eine Transformation von Tabellenzeilen in Informationseinheiten notwendig. Mit "TR=Zeilenvorschub" aktivieren Sie diese Funktionalität. </td></tr></tbody></table>

</div>Um effektiv zu arbeiten, sollte zunächst im Browser die gewünschte Seite angesurft werden, hier dann der Quelltext (Kontextmenü Quelltext anzeigen) in die Zwischenablage kopiert werden.

Dann öffnen Sie im Hauptmenü den Menüpunkt "Einstellungen / Test-HTML-Parsing" und übernehmen mit dem Button "HTML aus Zwischenablage einfügen" im Formular den HTML-Quelltext und parsen diesen automatisch. Das Parsingergebnis wird mit Zusatzinformationen im unteren Ergebnisfenster gezeigt. Über den Button "Importformat" kann bereits von hier aus direkt dieses festgelegt oder geändert werden.

## Protokoll und Fehlersuche

siehe [Protokolle und Fehlersuche](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389416/Protokolle+und+Fehlersuche)

# Internet-Websites-Portale: Konfigurationsmöglichkeiten

## Internet-(Filter-)Einstellungen

Grundsätzlich wird der Umfang einer Kursaktualisierung festgelegt durch die Art des Aufrufs. Es wird primär immer die aktuell gezeigte Liste z.B. aus dem Depot, aus einer Detailliste oder auch aus einer Watchliste aktualisiert.  
Wird jedoch über das Hauptmenü "Aktualisierung Internet" aufgerufen, werden die Selektionen aus dem Internet-Filter berücksichtigt.

[![image-1655629769787.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629769787.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629769787.png)


### Konfigurationseinstellungen (rechte Seite)

<div class="table-wrap" id="bkmrk-einstellung-hinweis-"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 18.1591%;"></col><col style="width: 81.8402%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Einstellung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Einstellung</div></th><th aria-disabled="false" aria-label="Hinweis und : No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweis und </div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Tagesdaten</td><td class="confluenceTd" colspan="1">In den Aktualisierungsgruppen gibt es immer auch die Option der Tagesdaten-Aktualisierung (Last-Quote). Im Filter können Sie hier setzen, ob Sie diese Daten explizit mit abrufen wollen, um sicherzustellen, dass Sie den letzten gültigen Tageskurs "abgerufen" haben.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Historische Daten  
&lt;Startdatum&gt;</td><td class="confluenceTd" colspan="1">Zu nutzendes Startdatum für die Kursaktualisierung. Sie sollten dabei folgende Themen beachten:

- Sie sollten nur so viele Daten sammeln, wie Sie auch tatsächlich nutzen können. Alles andere belastet nur Ihre Datenleitung, Ihre Platte und Ihre Geduld, da natürlich beim Abruf auch höhere Verzögerungen auftreten.
- Es ist empfohlen das Startdatum nicht manuell zu setzen, sondern die Funktion "Automatische Datumswahl" zu setzen

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Historische Daten  
&lt;Enddatum&gt;</td><td class="confluenceTd" colspan="1">Zu nutzendes Enddatum für die Kursaktualisierung</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Alle Daten ersetzen</td><td class="confluenceTd" colspan="1">Es kann gelegentlich vorkommen z.B. bei Wechsel des Kursdatenanbieters, dass die Daten nochmals justiert werden sollten. Mittels dieser Funktion kann hier ein kompletter Reset erreicht werden. Sie sollten versuchen die Funktion nur temporär und sehr bewusst zu nutzen, da Sie sonst immer wieder von vorne beginnen die Kursdatenbasis einzulösen.</td></tr><tr role="row"><td class="confluenceTd">Automatische Datumswahl</td><td class="confluenceTd">Hiermit wird statt der 16.03.2005 (siehe Beispiel oben) als Startdatum für die Aktualisierungen automatisch das letzte verfügbaren Kursdatum minus 3 Tage genutzt. Auch wenn noch keine Kursdaten vorhanden sind, wird das Ausgangsdatum verwendet. Andernfalls wird jedoch eine einfache Kursaktualisierung gewählt, die nur versucht die fehlenden Tage + 3 Tage aufzufüllen. Neue oder unvollständige Kursdaten von Titeln werden so dynamisch aufgefüllt und gut gepflegte Titel erhalten nur die notwendigste Kursaktualisierung.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Protokoll und Reines Fehlerprotokoll</td><td class="confluenceTd" colspan="1">siehe [Protokolle und Fehlersuche](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389416/Protokolle+und+Fehlersuche)</td></tr></tbody></table>

</div>### Aktualisierungs-Profile

Aktualisierungsprofile stehen im Menü als eigenständige Schnell-Konfigurationen zur Verfügung und können gleichzeitig für automatisch ausgeführte Programm-Starts genutzt werden:

[![image-1655629775461.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629775461.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629775461.png)

<div class="table-wrap" id="bkmrk-aktion-profil-laden-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 21.495%;"></col><col style="width: 78.5043%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Aktion: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Aktion</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Profil laden</td><td class="confluenceTd">Sie haben die Möglichkeiten durch Selektion eines Aktualisierungsprofils über die Radiobutton zu laden. Dabei wird die vorherige gespeicherte Auswahl für Märkte, Watchlisten und die Einzelkonfigurationen geladen.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Neues Profil anlegen</td><td class="confluenceTd" colspan="1">Nutzen Sie den Button "Hinzufügen" unten</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Profil speichern</td><td class="confluenceTd" colspan="1">Um zu speichern nehmen Sie die gewünschten Selektionen vor und wählen das Zielprofil aus und nutzen in der Toolbar (unten rechts) den Button "Speichern".</td></tr></tbody></table>

</div>

# Internet-Websites-Portale: Protokolle und Fehlersuche

## Start

Ein Aktualisierungs-Protokoll kann grundsätzlich über die Filter-Einstellungen aktiviert werden und der Start erfolgt über das Hauptmenü / Aktualisierungen / Filter - Einstellungen. Alternativ ist die Tastatur-Abkürzung: &lt;Strg&gt;&lt;F&gt; nutzbar.  
Der Konfigurationsdialog gilt für alle Aktualisierungen die im Menü nachfolgend aufgelistet werden (Internet, Taipan, XTB). Das Protokoll kann allerdings nur für die Internet-Einstellungen aktiviert werden.

[![image-1655629821304.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629821304.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629821304.png)

## Konfigurationsdialog

[![image-1655629826624.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629826624.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629826624.png)

<div class="table-wrap" id="bkmrk-konfigurations-setup"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfigurations-Setup: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfigurations-Setup</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Checkbox "Protokoll"</td><td class="confluenceTd">Dient der Aktivierung der Aufzeichnung aller Aktivitäten bei Internetaktualisierungen. Das Protokoll wird automatisch nach einer Aktualisierung geöffnet und liegt in einem HTML-Format vor, so dass der registrierte Default-Browser für HTML-Dateien genutzt wird. Das Protokoll zeigt dabei alle vorhandenen Requests und dessen Zuordnungen. Sie sollten das Protokoll immer nutzen, wenn sich nicht die gewünschte Qualität oder Umfang für Aktualisierungen einstellt. Das Protokoll liegt selbst im \\Daten-Verzeichnis von ShareHolder und kann auch manuell geöffnet werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Checkbox "Reines Fehlerprotokoll"</td><td class="confluenceTd" colspan="1">Das Protokoll wird in diesem Fall nur angezeigt, wenn während der Aktualisierung es zu Problemen kommt bzw. ein Titel als nicht aktualisiert gekennzeichnet werden musste. Dies passiert durch reine technische Fehler als auch durch Probleme im Abruf von vorkonfigurierten Internetadressen.</td></tr></tbody></table>

</div>## Beispiel-Protokoll

  
**Sektion: Alphabet Inc. A`N (Nasdaq100,WKN=A14Y6F,ISIN=US02079K3059)**

- **Aktualisierungsformat** (Name=IEXCloud.API-Chart.1m.\[RIC\]\[json\],URL=<a rel="nofollow">https://cloud.iexapis.com/stable/stock/{RIC\[isin\]}/chart/1m?token={IEXCLOUD.APIKEY}&amp;format=json</a>)
- **Typ**: JSON-Format
- Alphabet Inc. A`N(Nasdaq100,US02079K3059): Lade **URL** über HTTP-**Get**: [https://cloud.iexapis.com/stable/stock/GOOGL/chart/1m?token=pk\_e20c081fc87b4c5192067b7f64f13d6b&amp;format=json](https://cloud.iexapis.com/stable/stock/GOOGL/chart/1m?token=pk_e20c081fc87b4c5192067b7f64f13d6b&format=json)
- Verwende Importformat: JSON.History.IEXcloud-Structure
- Daten-**Response**:  
    \[{"date":"2020-08-18","open":1526.12,"close":1555.78,"high":1557.37,"low":1521.67,"volume":1418850,"uOpen":1526.12,"uClose":1555.78,"uHigh":1557.37,"uLow":1521.67,"uVolume":1418850,"change":0,"changePercent":0,"label":"Aug 18","changeOverTime":0},.... ,{"date":"2020-09-18","open":1488.3,"close":1451.09,"high":1495.2,"low":1431.62,"volume":3152788,"uOpen":1488.3,"uClose":1451.09,"uHigh":1495.2,"uLow":1431.62,"uVolume":3152788,"change":-35.950000000000045,"changePercent":-2.48,"label":"Sep 18","changeOverTime":0}\]

Zusatzanmerkungen:

<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-id="4ed9e0a1-a82a-4b4d-9123-0bfecdddebe1" data-macro-name="info" id="bkmrk-wie-man-am-beispiel-"><div class="confluence-information-macro-body">- Wie man am Beispiel sehen kann, wird zunächst das Aktualisierungsformat d.h. die Zieladresse mit den Variablen dargestellt. Die Anzeige dient der Kontrolle der korrekten schematischen Darstellung.
- Nachfolgend wird das Format geschrieben, was immer als CSV, JSON oder HTML gesetzt werden kann
- Nachfolgend kommt bereits die Ziel-URL, so wie diese nach Auflösung aller Variablen genutzt werden kann. Diese URL ist im Protokoll auch klickbar und kann direkt abgerufen werden. Macht man diese im obigen Beispiel, kann man mittels Browser-Plugins für JSON-Formatierungen die Gesamtstruktur ebenfalls sehr gut einsehen und prüfen:  
    [![image-1655629832592.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629832592.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629832592.png)

</div></div>  
  
**Sektion: Alphabet Inc. A`N (Nasdaq100,WKN=A14Y6F,ISIN=US02079K3059)**

- **Aktualisierungsformat** (Name=IEXCloud.API-Quote.\[RIC\]\[json\],URL=<a rel="nofollow">https://cloud.iexapis.com/stable/stock/{RIC\[isin\]}/quote?token={IEXCLOUD.APIKEY}&amp;format=json</a>)
- **Typ**: JSON-Format
- Alphabet Inc. A`N(Nasdaq100,US02079K3059): Lade **URL** über HTTP-**Get**: [https://cloud.iexapis.com/stable/stock/GOOGL/quote?token=pk\_e20c081fc87b4c5192067b7f64f13d6b&amp;format=json](https://cloud.iexapis.com/stable/stock/GOOGL/quote?token=pk_e20c081fc87b4c5192067b7f64f13d6b&format=json)
- Verwende Importformat: JSON.Quote.IEXcloud-Structure
- Daten-**Response**:  
    {"symbol":"GOOGL","companyName":"Alphabet, Inc.","primaryExchange":"NASDAQ","calculationPrice":"close","open":1488.3,"openTime":1600435800278,"openSource":"official","close":1451.09,"closeTime":1600459201281,"closeSource":"official","high":1495.2,"highTime":1600473599171,"highSource":"15 minute delayed price","low":1431.62,"lowTime":1600450273399,"lowSource":"15 minute delayed price","latestPrice":1451.09,"latestSource":"Close","latestTime":"September 18, 2020","latestUpdate":1600459201281,"latestVolume":3154186,"iexRealtimePrice":1451.15,"iexRealtimeSize":100,"iexLastUpdated":1600459195285,"delayedPrice":1445.45,"delayedPriceTime":1600473599171,"oddLotDelayedPrice":1451.08,"oddLotDelayedPriceTime":1600459199550,"extendedPrice":1445.45,"extendedChange":-5.64,"extendedChangePercent":-0.00389,"extendedPriceTime":1600473599171,"previousClose":1487.04,"previousVolume":2000356,"change":-35.95,"changePercent":-0.02418,"volume":3154186,"iexMarketPercent":0.03690365755221791,"iexVolume":116401,"avgTotalVolume":1681944,"iexBidPrice":0,"iexBidSize":0,"iexAskPrice":0,"iexAskSize":0,"iexOpen":null,"iexOpenTime":null,"iexClose":1451.15,"iexCloseTime":1600459195285,"marketCap":986978258769,"peRatio":31.64,"week52High":1726.1,"week52Low":1008.87,"ytdChange":0.062297,"lastTradeTime":1600459200520,"isUSMarketOpen":false}

Auch hier gilt, dass der Aufruf der Ziel-URL über den Link über ein JSON-Formatierer im Browser hier einfacher und schneller lesbar wird. Teilweise werden so auch automatisch die UNIX\_Timestamps übersetzt (siehe Screenshot)

[![image-1655629838482.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629838482.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629838482.png)

  
  
**Zusammenfassung (Laufzeit: 0min 2s)**

<div class="table-wrap" id="bkmrk-name-wkn-isin-%5Bok%5Dal"><table class="wrapped confluenceTable"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr><td class="confluenceTd">Name</td><td class="confluenceTd">WKN</td><td class="confluenceTd">ISIN</td></tr><tr><td class="confluenceTd">\[OK\]Alphabet Inc. A`N</td><td class="confluenceTd">A14Y6F</td><td class="confluenceTd">US02079K3059

<div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Gesamt: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Gesamt</div></th><th aria-disabled="false" aria-label="1: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">1</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><th class="confluenceTh">Erfolgreich</th><th class="confluenceTh">1</th></tr><tr role="row"><th class="confluenceTh">Aktualisierungsfehler</th><th class="confluenceTh">0</th></tr><tr role="row"><th class="confluenceTh">Auflösungsfehler/Not Touched</th><th class="confluenceTh">0</th></tr></tbody></table>

</div></td></tr></tbody></table>

</div>

# Internet-Websites-Portale: Prüfung von Aktualisierungs-Gruppen

Da es manuell sehr schwer möglich ist, die beste Aktualisierungsgruppe auszuwählen, wird ein eigener Prüfdialog im Reiter "Kursaktualisierung" angeboten.  
Die Funktion ist dabei so ausgerichtet, da ein persönliches Optimum gefunden werden kann nach folgenden Kriterien:

- Verfügbarkeit: Es werden Kursdaten für den aktuellen Titel zurückgeliefert.
- Geschwindigkeit (Response/Antwortzeiten von Kursanfragen zum offiziellen Server)
- Anzahl der zurückgegebenen Kursdatensätze (Anzahl EOD/End-Of-Day)
- Aktualität (Erster und Letzter zurückgemeldeter Kursdatensatz)

## Vorgehen

Über den Stammdatendialog, der mit Doppelklick auf einen Titel geöffnet wird, kann über den Reiter "Kursaktualisierung" ein geeigneter Dialog geöffnet werden. Hier kann nach Selektion der Aktualisierungsgruppen oder für alle vorhandenen Aktualisierungsmöglichkeiten (-Gruppen) eine automatische Auswertung mit oder ohne Protokoll (siehe Checkbox) erfolgen. Die Selektion mehrerer Einträge erfolgt dabei wie üblich durch &lt;Strg&gt;+Auswahl der Einträge.

[![image-1655629951969.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629951969.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629951969.png)

Sollten sich hieraus Optimierungen für die beste Aktualisierungsgruppe ergeben, so kann diese auch sofort über die obere Auswahlbox umgestellt werden bzw. über Aufruf des Kontextmenüs. Pro Titel kann immer nur eine Kursaktualisierungsgruppe gültig sein. Eine Kursaktualisierungsgruppe kann aber verschiedene Internetadressen und Anbieter nutzen.

[![image-1655629957176.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629957176.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629957176.png)

Folgende Felder werden dabei genutzt:

<div class="table-wrap" id="bkmrk-feld-beschreibung-ad"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Feld: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Feld</div></th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Adresse und Farbcodes</td><td class="confluenceTd" colspan="1">Jeder Titel hat eine Hauptwährung, die im Stammdaten-Reiter konfiguriert wird:

[![image-1655629962457.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629962457.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629962457.png)

Stimmen die Hauptwährung und die konfigurierte Währung der angezeigte Kursaktualisierungsgruppe (siehe auch [Internetaktualisierungen](https://www.shareholder24.com/wiki/display/SHARPUB/Internetaktualisierungen)) überein wird die Textfarbe auf Schwarz gelassen, andernfalls wird der Eintrag in grau dargestellt, kann aber weiterhin genutzt werden!

</td></tr><tr role="row"><td class="confluenceTd">Datum</td><td class="confluenceTd">Letztes verfügbares Kursdatum nach Aktualisierung</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">Konfigurierte Rückgabe-Währung entsprechend der Kursaktualisierungsgruppe</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kurs</td><td class="confluenceTd" colspan="1">Letzter verfügbarer Kurs nach Aktualisierung</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Erstes Kursdatum</td><td class="confluenceTd" colspan="1">Erster verfügbarer Kurs nach Aktualisierung insb. zur Prüfung, wann die Kurshistorie vom Anbieter anfängt. Hier gibt es deutliche Unterschiede</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Anzahl EOD</td><td class="confluenceTd" colspan="1">Anzahl der Datensätze. Diese unterscheiden sich gewöhnlich nicht nur zwischen den Anbietern, sondern auch pro Marktplatz deutlich</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Zeit 1</td><td class="confluenceTd" colspan="1">Zeitdauer für den Abruf der Kursdatensätze. Insb. die CSV-Daten (Die Gruppen mit CSV im Namen) sind deutlich schneller. Der 1. Abruf löst intern automatisch notwendige Internetvariablen auf und dauert daher gewöhnlich länger als der 2. Aufruf</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Zeit 2</td><td class="confluenceTd" colspan="1">Da im ersten Aufruf nicht verhindert werden kann, dass Internetvariablen aufgelöst werden müssen über seperate Internet-URL-Aufrufe wird ein zweiter Test durchgeführt. Dieser sollte für Vergleiche verwendet werden und ist zum 1. identisch, wenn keine Internetvariablen für diese Gruppe mehr aufgelöst werden müssen.</td></tr></tbody></table>

</div>[![image-1655629967539.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655629967539.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655629967539.png)

Suchen Sie dabei die optimale Kursdatenquelle heraus und nutzen dabei das Kontextmenü nach Selektion eines Eintrags. Sie können dann "Nutzen Sie diese Aktualisierungsgruppe" auswählen, ohne manuell die Auswahlbox oben für "Aktuelle Aktualisierungsgruppe" verändern zu müssen.

# shareHOLDER EOD-Updates

Grundidee ist die periodischen Updates für Kursdaten für die Hauptmärkte deutlich zu vereinfachen durch eine zentral bereitgestellte Datenbasis, die per Klick heruntergeladen und eingespielt werden kann. Der Zugriff ist dabei nur für registrierte (aktive) Anwender möglich und die Datenbasis unterscheidet mehrere möglichen Datenzeiträume. Es können damit unterschiedlich große Kurslücken geschlossen werden. shareHOLDER entscheidet dabei selbst auf Basis von Stichproben, ob die kleine Datenbasis bereits ausreichend ist.

Die Funktionalität steht ALLEN registrierten Anwendern von shareHOLDER zur Verfügung.

## Datenbasis

Mittels in ca. 2-3h automatisch durchgeführten Abfragen von Kursdaten aus freien Angeboten werden auf einem zentralen Daten-Server die ermittelten Kursdaten abgelegt. Dabei werden unterschiedliche Zeiträume vorgehalten, so dass automatisch auf Basis der beim Kunden vorliegenden bereits vorhandenen Datenbasis entschieden werden kann, welche Differenz-Kursdatenbasis importiert werden sollte. Die Daten werden dabei ergänzend zur vorhandenen Kursdatenbasis eingelesen. Die Kursaktualisierung kann damit hervorragend zur Ergänzung zu eigenen Aktualisierungen genutzt werden.

Aktuell werden immer zwei verschiedenen Kursdatenbank zur Verfügung gestellt:

- 500 Tage
- 30 Tage

Die bereitgestellten Märkte umfassen die wesentlichen europäischen und amerikanischen Märkte Für die bereitgestellten Kursdaten kann KEINE Garantie übernommen werden, da diese weitgehend automatisiert bereitgestellt werden und keine manuelle Qualitätssicherung erfolgen kann.  
Sowohl der Datenumfang, Vollständigkeit und die Qualität kann dabei leider garantiert werden, da ausschließlich freie Angebote automatisiert ausgelesen werden.

Konkret werden folgende Märkte aktualisiert und bereitgestellt. Ein Anspruch auf die Datenbank und die Bereitstellung aktuellster Daten besteht dabei nicht. Es ist ein freiwilliger Service, der Ihnen eigene Aktualisierungs-Zyklen ersparen soll.

- Kursdaten-Segment: DAX
- Kursdaten-Segment: MDAX
- Kursdaten-Segment: SDAX
- Kursdaten-Segment: Scale
- Kursdaten-Segment: TECDAX
- Kursdaten-Segment: HDAX
- Kursdaten-Segment: TecDAX All Share
- Kursdaten-Segment: CDAX
- Kursdaten-Segment: GEX
- Kursdaten-Segment: DivDAX
- Kursdaten-Segment: General Standard
- Kursdaten-Segment: Prime Standard
- Kursdaten-Segment: Schweiz
- Kursdaten-Segment: Schweiz/SMI
- Kursdaten-Segment: Wien
- Kursdaten-Segment: Wien/ATX
- Kursdaten-Segment: EuroStoxx 50
- Kursdaten-Segment: USA/NASDAQ-100
- Kursdaten-Segment: USA/S&amp;P100
- Kursdaten-Segment: USA/S&amp;P500
- Kursdaten-Segment: Fonds
- Kursdaten-Segment: China/Shenzen
- Kursdaten-Segment: China/SSE 50
- Kursdaten-Segment: DJ Asian Titans 50
- Kursdaten-Segment: Rohstoffe
- Kursdaten-Segment: DJ Global Titans 50
- Kursdaten-Segment: Indizes
- Kursdaten-Segment: Indizes-ML
- Kursdaten-Segment: Zinsen/Renditen
- Kursdaten-Segment: Wikifolios
- Kursdaten-Segment: Devisen
- Kursdaten-Segment: Frankreich/CAC40
- Kursdaten-Segment: Japan/Topix 100

## Datenquelle(n) und Aktualisierungsfrequenzen

Für die Bereitstellung der Kursdatenbank werden periodische Aktualisierungen freier Internet-Quellen durchgeführt. Dabei benötigt die Aktualisierung der Märkte selbst ca. 30min (bei aktuell ca. 3000 Titeln), womit die bereitgestellten Kursdaten immer einen Versatz von max. 30min haben.  
Aktuell sind folgende Aktualisierungs-Startzeitpunkte eingestellt:

<div class="table-wrap" id="bkmrk-01-02-03-04-05-06-07"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="01: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">01</div></th><th aria-disabled="false" aria-label="02: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">02</div></th><th aria-disabled="false" aria-label="03: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">03</div></th><th aria-disabled="false" aria-label="04: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">04</div></th><th aria-disabled="false" aria-label="05: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">05</div></th><th aria-disabled="false" aria-label="06: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="5" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">06</div></th><th aria-disabled="false" aria-label="07: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="6" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">07</div></th><th aria-disabled="false" aria-label="08: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="7" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">08</div></th><th aria-disabled="false" aria-label="09:30: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="8" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">09:30</div></th><th aria-disabled="false" aria-label="10: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="9" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">10</div></th><th aria-disabled="false" aria-label="11: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="10" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">11</div></th><th aria-disabled="false" aria-label="12: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="11" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">12</div></th><th aria-disabled="false" aria-label="13: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="12" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">13</div></th><th aria-disabled="false" aria-label="14: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="13" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">14</div></th><th aria-disabled="false" aria-label="15: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="14" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">15</div></th><th aria-disabled="false" aria-label="16: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="15" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">16</div></th><th aria-disabled="false" aria-label="17: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="16" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">17</div></th><th aria-disabled="false" aria-label="18: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="17" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">18</div></th><th aria-disabled="false" aria-label="19: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="18" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">19</div></th><th aria-disabled="false" aria-label="20:30: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="19" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">20:30</div></th><th aria-disabled="false" aria-label="21: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="20" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">21</div></th><th aria-disabled="false" aria-label="22:30: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="21" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">22:30</div></th><th aria-disabled="false" aria-label="23: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="22" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">23</div></th><th aria-disabled="false" aria-label="24: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="23" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">24</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">X</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">X</td><td class="confluenceTd">  
</td><td class="confluenceTd">X</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">  
</td><td class="confluenceTd">X</td><td class="confluenceTd">  
</td><td class="confluenceTd">X</td><td class="confluenceTd">  
</td><td class="confluenceTd" colspan="1">X</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">X</td></tr></tbody></table>

</div>Für amerikanische Titel stehen damit frühestmöglich um (16:00+30min) d.h. 16:30 die ersten Kursdaten zur Verfügung.  
Alternativ stehen Ihnen natürlich immer die normalen eigenen Internetaktualisierungen zur Verfügung.

## Prozess

Die Aktualisierung erfolgt immer in folgenden Schritten, wenn ein gültiger shareHOLDER-Registrierungsschlüssel vorhanden ist (sowohl Standard-als auch Profiversion):

1. Abgleich zur Kursdatenbank, welche Datenumfang für die bereits vorhandene Kursdatenbasis sinnvoll erscheint
2. Download der geeigneten Kursdatenbank
3. Migration der Kursdaten (additiv)
4. Refresh der Ansichten

## Technische Hintergrund-Details

Der Datenbankabgleich erfolgt gegen eine zentrale Migrations-Quell-Info-Service: [https://www.shareholder24.de/download/Kursdaten-Migrate-Inc.json](https://www.shareholder24.de/download/Kursdaten-Migrate-Inc.json) (Sollte mit einem JSON-Parser gelesen werden). Die Aktualisierung erfolgt dabei auf Basis der gesetzten ISIN, d.h. sollte diese zwischen der Migrationsdatei und der lokalen Version abweichen, erfolgt keine entsprechende Aktualisierung. Es ist daher empfohlen möglichst nach an der offiziellen Stammdaten / Markt-Version zu bleiben. Dies kann durch regelmäßige Updates der Stammdaten.MOD und Aktienstammdaten.MOD erfolgen. Diese wird z.B. über das Hauptmenü / Hilfe / Auf neue Module prüfen vorgenommen.

  
Beim Import wird eine Log-Datei angelegt unter: \\Daten\\Database\\Kursdaten-Migrate-Inc.log. Beide Dateien sollten jedoch nur zur Fehlersuche herangezogen werden.

### Hinweise bei Problemen in der Aktualisierung 

Sollte keine Aktualiisierung erfolgreich durchgeführt werden können, d.h. es werden keine aktuelle Kursdaten angezeigt, so sollten Sie die Namen der Märkte abgleichen. Bitte verwenden Sie exakt die Schreibweise der Märkte von oben. Der Namen muss entweder direkt oder als Shortname vergeben worden sein, da nur so der Abgleich erfolgt..

[![image-1655630006205.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630006205.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630006205.png)

# Kursaktualisierungs-Pflege und Management

Da die Kursaktualisierung auch durch jeden Nutzer selbst übernommen werden kann, existieren verschiedene Support und Hilfe-Ansichten, die einen schneller Überblick der aktuellen Konfigurationen liefern sollen und gleichzeitig spezielle Filterungen für fehlerhafte Zustände erlaubt.

**Inhaltsverzeichnis:**

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="053fc22f-5e3a-48df-8b1d-2e55955e2763" data-macro-name="panel" id="bkmrk-detail-listen-%22stamm"><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="053fc22f-5e3a-48df-8b1d-2e55955e2763" data-macro-name="panel"><div class="panelContent"><div class="toc-macro client-side-toc-macro  conf-macro output-block hidden-outline" data-hasbody="false" data-headerelements="H1,H2,H3,H4,H5,H6,H7" data-macro-id="a9085e0a-43a1-4848-aa8a-2d8e9f37229f" data-macro-name="toc" resolved="">- <span class="toc-item-body" data-outline="1">[Detail-Listen "Stammdaten-Pflege" - Filterung und Ansicht](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389398/Kursaktualisierungs-Pflege+und+Management#Kursaktualisierungs-PflegeundManagement-Detail-Listen%22Stammdaten-Pflege%22-FilterungundAnsicht)</span>
- <span class="toc-item-body" data-outline="2">[Sofortfilter für Titel mit unsauberen Stammdaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389398/Kursaktualisierungs-Pflege+und+Management#Kursaktualisierungs-PflegeundManagement-Sofortfilterf%C3%BCrTitelmitunsauberenStammdaten)</span>
- <span class="toc-item-body" data-outline="3">[Sofortfilter für Titel mit unsauberen Kursdaten nach Kriterien](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389398/Kursaktualisierungs-Pflege+und+Management#Kursaktualisierungs-PflegeundManagement-Sofortfilterf%C3%BCrTitelmitunsauberenKursdatennachKriterien)</span>

</div></div></div></div>## Detail-Listen "Stammdaten-Pflege" - Filterung und Ansicht

In den Detail-Liste (Shortcut: &lt;F8&gt;) können Sie über die Ribbon-Bar in den Reiter "Titel-Stammdaten-Verwaltung" wechseln. Dort finden Sie einen Switch "Stammdaten-Pflege". Dieser erlaubt die Umschaltung der kompletten Detail-Listen-Ansicht mit einem zweiten Anzeige-Profil für die gezeigte Detail-Liste. Dies meint dabei die Auswahl der gezeigten Spalten, dessen Reihenfolge und Breiteneinstellungen.

[![image-1655630056459.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630056459.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630056459.png)

Wenn das Profil nicht verändert worden ist, wird dabei automatisch eine Auswahl gezeigt, die sehr effektiv für die Pflege der Stammdaten ist:

<div class="table-wrap" id="bkmrk-spalte-kurzerkl%C3%A4rung"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Spalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Spalte</div></th><th aria-disabled="false" aria-label="Kurzerklärung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Kurzerklärung</div></th><th aria-disabled="false" aria-label="Hinweis für die Stammdaten-Pflege: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweis für die Stammdaten-Pflege</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Internetvariablen.FIRST</td><td class="confluenceTd" colspan="1">Primär genutzte Variable zur Auflösung des Titels z.B. die Ariva-Kennung, die RIC/Symbol etc. aufgrund des konfigurierten Aktualisierungsprofils</td><td class="confluenceTd" colspan="1">Diese Spalte erscheint zunächst sehr unscheinbar ist aber enorm hilfreich, da die häufigste Ursache für fehlerhafte Kursaktualisierungen nicht die eingestellten Kursprofile sind, sondern ein fehlerhafte hinterlegte "Kennung". Da je nach Aktualisierungsgruppe/-profil die Kennung unterschiedlich sein kann, wird hierüber automatisch die korrekte und primäre Variable aufgelöst. Dabei wird immer der Variablenname und der Wert angezeigt z.B.  
- RIC\[isin\] = ADS für den Titel Adidas

</td></tr><tr role="row"><td class="confluenceTd">Aktualisierungsgruppe</td><td class="confluenceTd">Zeigt die aktuell ausgewählte Aktualisierungsgruppe für Internetaktualisierungen d.h. welche Zieladressen und Formate sind zur Aktualisierung der Kursdaten zu verwenden.</td><td class="confluenceTd" colspan="1">Es kann pro Titel immer nur eine Aktualisierungsgruppe geben. Diese kann jedoch selbst mehrere Ziel-Adressen enthalten. Konkret:

- Aktualisierungsadresse für die Tagesdaten (entspricht der Intraday/Tagesdaten-Aktualisierung)
- Aktualisierungsadresse für die historischen Kursdaten (Quick) (entspricht der Kursdaten-Aktualisierung mit den konfigurierten Maximalanzahl von fehlenden Tagen in der Kurshistorie. Andernfalls wird die alternative (Full)-Variante verwendet. 
    - Aktualisierungsadresse für die historischen Kursdaten (Full). Diese wird immer verwendet, wenn keine Kursdaten vorhanden sind oder der letzte Kurs-Eintrag älter als die eingestellten Maximaltage sind. Im Default beträgt diese 100 Tage.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">Aktuell konfigurierte Standardwährung für den Titel. Ein Titel kann mehrere Währungen unterstützen. Aktuell wird jedoch nur der Default angezeigt. Eine Umschaltung der Anzeige für Charts und in den Kurslisten-Anzeige folgt.</td><td class="confluenceTd" colspan="1">Die eingestellte Währung pro Titel ist sehr zentral und sollte geprüft werden. Dies betrifft insb. folgende Aspekte:

- Kauf/Verkauf von Titeln vergleicht die Portfolio-Währung mit der Titel-Währung und zeigt ein Eingabe-Dialog für die Umrechnung an, wenn diese nicht übereinstimmt. Ist beispielsweise € als Portfolio-Währung hinterlegt und der Titel in $ geführt, dann wird ein entsprechend EUR/USD-Umrechnungskurs einzugeben sein.
- Bei der Kursaktualisierung können relativ ungeprüft beliebige Währungspaare aktualisiert werden. Um jedoch Umrechnungsfehler und möglichst realistische d.h. umsatzstarke Kursdatenquellen zu nutzen, sollte die Währung korrekt hinterlegt sein. Sie erhalten dann im Stammdaten-Dialog im Reiter "Kursaktualisierung" nur Kursaktualisierungsprofile angezeigt, die auf die Währung ausgerichtet sind. In unserem Beispiel damit Aktualisierungsgruppen mit einer konfigurierten Währung in $.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Tai-Pan-Symbol</td><td class="confluenceTd" colspan="1">Zeigt die internen Referenzschlüssel der für die Aktualisierung in Tai-Pan genutzt wird.</td><td class="confluenceTd" colspan="1">Im Normal-Fall kann hier im Zweifel die Kennung einfach in den Stammdaten (Doppelklick) zurückgesetzt (gelöscht) werden. Mit der nächsten Tai-Pan Aktualisierung wird automatisch eine Zuordnung vorgenommen. </td></tr><tr role="row"><td class="confluenceTd" colspan="1">Tickersymbol</td><td class="confluenceTd" colspan="1">Interne Repräsentation der RIC-Nummer/Ticker-Eintrags.</td><td class="confluenceTd" colspan="1">Der Initialwert wird aus Tai-Pan aktualisiert. Die RIC-Nummer, die für fast alle Aktualisierungsgruppen verwendet wird, ist im Normalfall identisch zum Tickersymbol, ist technisch hiervon aber getrennt. Achten Sie daher bitte vor allem auf die Variablen-Einstellung in den Stammdaten im Reiter "Variablen".</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Letztes Kursdatum</td><td class="confluenceTd" colspan="1">Anzeige des Datums des letzten Kurs-Eintrags in der Kurshistorie</td><td class="confluenceTd" colspan="1">Sie können mittels dieses Wertes in einer eigenen Spalten bequem danach sortieren oder filtern über den Spalten-Kopf. Die Aktualisierung des Wertes erfolgt automatisch mit jeder Kursaktualisierung unabhängig von der Datenquelle.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Letztes Fundamentaldaten-Update</td><td class="confluenceTd" colspan="1">Anzeige des letzten Ausführungsdatum der Fundamentaldaten-Aktualisierung (Börse-Online, Tai-Pan oder Fundamental-Internet-Aktualisierung)</td><td class="confluenceTd" colspan="1">Nutzen Sie diese Spalten um zu verifizieren, um Aktualisierungen der Fundamentaldaten überhaupt vorliegen können. Alle Fundamentaldaten-Quellen aktualisieren diesen Wert. Der Wert kann in den Stammdaten auch manuell geändert werden (Reiter Stammdaten).</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Gesamtkursdaten-Umfang (Jahre)</td><td class="confluenceTd" colspan="1">Darstellung der Zeitspanne zwischen erstem und letzten Kursdatum.</td><td class="confluenceTd" colspan="1">Inhaltlich erfolgt keine Verifikation auf Vollständigkeit, sondern nur eine Darstellung der Zeitspanne zwischen erstem und letztem Kurseintrag.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Marktzuordnungen</td><td class="confluenceTd" colspan="1">Kursdarstellung der Kurzbezeichnungen der zugeordneten Märkte des Titels</td><td class="confluenceTd" colspan="1">Da die Markt-Zuordnung eines Titels nicht besonders für Markt-Spezifische Filterungen und Strategie-Betrachtungen sind, sollten die Zuordnungen leicht geprüft werden können. Es werden dabei alle zugeordneten Märkte mit der Kurzbezeichnung gezeigt und durch ein Pipe | Symbol voneinander getrennt. Auch diese Spalte ist sortierbar und filterbar.</td></tr></tbody></table>

</div>## Sofortfilter für Titel mit unsauberen Stammdaten

[![image-1655630063855.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630063855.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630063855.png)

Um das Leben auch hier einfacher zu machen, können gezielte mit Klick auf den übergeordneten Button "Filtere Titel mit unsauberen Stammdaten" betroffene Titel in der aktuell angezeigten Detail-Liste (Markt oder Watchliste) gefiltert werde. Die Filterung wird dann in der gleichen Liste angezeigt. Um auch nicht nur die aktuelle Liste z.B. die ausgewählte DAX-Markt-Liste zu filtern, steht ein separate Checkbox/Funktion zur Filterung aller Titel zur Verfügung.

Die nach der Filterung angezeigten Titeln können dann beliebig weiterbearbeitet werden z.B:

- Stammdaten-Anpassungen: Doppelklick auf den Titel
- Watchlisten-Zuordnungen: Kontextmenü "Watchlisten"
- Markt-Zuordnungen: Kontextmenü "Marktzuordnungen"
- Aktualisierungsgruppen-Zuordnungen: Kontextmenü "Aktualisierungsgruppe"

## Sofortfilter für Titel mit unsauberen Kursdaten nach Kriterien

[![image-1655630069092.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630069092.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630069092.png)

Die Filterung kann sowohl nach Tagen als auch nach Stundenfenstern erfolgen, um so unsaubere Titel effektiv zu finden. Die Filterung ergibt eine Ergebnisliste die leicht gezielt bearbeitet werden kann z.B.

- Stammdaten-Anpassungen: Doppelklick auf den Titel
- Mit aktiviertem (Fehler-)Protokoll über &lt;Strg&gt;-&lt;F&gt; nochmals über die Ribbon-Bar gezielte Internetaktualisierungen vornehmen und die aktuellen Settings nochmals zu prüfen  
    [![image-1655630074576.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630074576.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630074576.png)

# Nutzung der Quandl.com Datenbank-Systeme

Die Nutzung der Quandl.com Datenbasis erfolgt analog zu anderen freien Kursangeboten mit dem Unterschied, dass Quandl ein sehr umfangreiches und mächtiges Angebot darstellt für freie aber auch kostenpflichtige Kursdatenbanken.  
Registrieren Sie sich zunächst unter:   
  
[https://www.quandl.com/sign-up-modal](https://www.quandl.com/sign-up-modal?defaultModal=showSignUp)

Damit die nachfolgenden Kursaktualisierungen überhaupt funktioniernen, müssen Sie unbedingt nach dem SignUp die genutzte E-Mail-Adresse bestätigen! Sie erhalten sonst zunächst nichtssagende Fehlermeldungen "Response=HTTP/1.1 403 Forbidden" beim Datenabruf. Die Bestätigung erfolgt über die automatisch zugesandte Mail vom Anbieter, wo Sie gebeten werden mit Klick auf den "Confirmation-Link" die Korrektheit der Mail-Adresse zu bestätigen.

Sie erhalten nach Abschluss der Registrierung einen API-Key. Diesen müssen Sie einmalig in den Programm-Einstellungen hinterlegen:

[![image-1655630118594.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630118594.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630118594.png)

## Kursaktualisierungsgruppe

Bitte prüfen Sie ob Sie folgende Einstellungen bei Ihnen vorfinden unter Einstellungen / Aktualisierungsgruppe:

[![image-1655630123193.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630123193.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630123193.png)

Danach kann pro Titel direkt mit Doppelklick auf den Titel die Kursaktualisierung getestet werden hier z.B. für Google!

## Achtung: Datenabruf sehr oft kostenpflichtig

Achten Sie bitte immer auf das genutzte Angebot! Sie sollten hierbei auf der Website zunächst recherchieren, ob das Angebot tatsächlich kostenfrei ist:  
  
Hier am Beispiel Apple, was funktioniert auch direkt auf der Website:

[![image-1655630129076.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630129076.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630129076.png)

[![image-1655630133386.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630133386.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630133386.png)

Hier das Beispiel für GOOGL nach Abruf mit SHAREholder im Protokoll. Es ist hier kein Abruf-Fehler, sondern nur ein Problem dass GOOGL nicht kostenlos abgerufen werden darf:

[![image-1655630139194.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630139194.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630139194.png)

[![image-1655630145989.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630145989.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630145989.png)

## Nutzung verschiedener Datenbanken von QUANDL

Wie oben bereits zu erkennen ist, wird aktuell nur die "EOD"-Datenbank im Standard ausgeliefert und bereitgestellt. Sie können aber einfach das zugehörige Profil unter Einstellungen /Aktualisierungsgruppen duplizieren und den Code unter Börsenabkürzung verändern.  
Sie können dann jede beliebige Datenbank von QUANDL nutzen.

[![image-1655630150652.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630150652.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630150652.png)

# Personalisierung & Individualisierung

# Individuelle Spalten und Inhalte

Für praktisch alle Listen in ShareHolder können die Inhalte, Spaltenbreite und die Reihenfolge angepasst werden.

<div class="table-wrap" id="bkmrk-anpassung-hinweise-z"><table class="confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Anpassung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Anpassung</div></th><th aria-disabled="false" aria-label="Hinweise zur Nutzung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise zur Nutzung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Inhalte</td><td class="confluenceTd">Einfach mit der rechten Maustaste auf den Spaltenkopf einer Liste gehen. Es öffnet sich automatisch ein Auswahl-Dialog für die gewünschten Spalten.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spaltenbreite</td><td class="confluenceTd" colspan="1">Wenn Sie Maus genau zwischen zwei Spalten bewegen, können Sie die Spaltenbreite durch Ziehen einfach anpassen</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Reihenfolge</td><td class="confluenceTd" colspan="1">Sie können durch Drag&amp;Drop eines Spalten-Kopfes auch die Position verändern</td></tr></tbody></table>

</div>Alle Einstellungen werden pro Liste verwaltet. Leider muss technisch bedingt bei Erweiterungen der Spalteninhalte, automatisch ein Reset der Konfigurationen vorgenommen werden. Es kann damit bei Versionswechsel zum Verlust der Einstellung kommen.

# Layoutanpassungen

## Designs

Es stehen mehr als ein Dutzend-Designs zur Verfügung. Diese können einfach über die Toolbar unter Darstellung ausgewählt werden.  
Das ausgewählte Design wird automatisch beim nächsten Programmstart wiederhergestellt. Ein Design erstreckt sich dabei über alle Dialoge. Die Designs werden gelegentlich erweitert, so dass sich eine Prüfung auf neue Designs lohnen.

[![image-1655630252694.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630252694.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630252694.png)

[![image-1655630257756.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655630257756.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655630257756.png)

## Schrift

Sie können über das die Toolbar unter Darstellung ebenfalls die Schriftarten für Standard-Anzeigen und für kleine Schriftarten auswählen. Die Umstellung erfolgt dabei sofort.

# Handelsstrategie-Scripting-Studio

# Grundlagen Handelsstrategie-Scripting

Die Scripting-Engine erweitert die bisherigen Filter-Module, um eine freie programmierbare Script-Engine. Es soll hiermit ein sehr hohen Freiheitsgrad in der Umsetzung eigener Filter gegeben werden und Routineaufgaben in der Titel-und Kurspflege automatisiert werden können.

[![image-1655631326443.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631326443.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631326443.png)

# Use-Cases

- <div class="details">Use-Case: Automatischer Export von Transaktionsdaten <span class="smalltext">(Shareholder R/2 Börsensoftware)</span></div>
- <div class="details">Use-Case: Automatische Watchliste auf Basis Indikator-Script <span class="smalltext">(Shareholder R/2 Börsensoftware</span></div>
- <div class="details">Use-Case: Automatische Stammdaten-Korrektur-Script <span class="smalltext">(Shareholder R/2 Börsensoftware)</span></div>

# Handelsstrategie-Studio

## Highlights

- Zugriff auf (alle) internen Datenobjekte
- Syntax-Highlighting
- Support einer produktiven und einer Entwicklungs-Version
- Support für Script-Bibliotheken, womit jedes Script von einem anderen aufgerufen werden kann. Dieser Mechanismus wird auch genutzt, um eine gemeinsame Bibliothek zu pflegen
- Hohe Ausführungsgeschwindigkeit (hier 0.4s über alle Aktien inkl. Log-Ausgaben)
- Source-Explorer

## Überblick

Die Scripting-Engine führte freie geschriebene Scripte aus. Die Skripte sind in einem Pascal-Syntax, wobei spätere Alternativ-Sprachen denkbar sind (VB, Java, JS, Python). Der Einsatz der Scripting-Engine soll durchgängig durch SHAREholder vollzogen werden, d.h. eine Verwendung sowohl in Filter-Systemen, Druck-Templates als auch indirekt in den Handelssystemen ist vorgesehen. Der Startpunkt (v13.5) liegt hier bei einem Filtersystemen. Dabei ist ein wesentliches Feature der Zugriff auf alle relevanten internen Datenobjekte von SHAREholder. Es stehen damit beispielsweise folgende Funktionen zur Verfügung, die nicht nur lesenden Charakter haben:

- Automatische Anlegen einer Watchliste auf der Basis von Stammdaten-Filtern
- Automatische Bereinigung von Kommentaren in den vorhandenen Transaktionen, um hier nachträglich Ergänzungen vorzunehmen
- Automatische Bereinigung von Kursdaten
- Automatisches manuelles Erzeugen von Dateien (z.B. CSV-Export-Dateien) mit eigenen komplexeren Ausdrücken
- Anzeige von interessanten Titeln nach eigenen Regeln in Filterlisten

Folgender Syntax wird grundsätzlich unterstützt, womit komplette Programmstrukturen unterstützt werden:

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="35c1253a-3b0f-4320-ba99-74effafeadc9" data-macro-name="code" id="bkmrk--3"><div class="codeContent panelContent pdl"><div class="syntaxhighlighter sh-eclipse  delphi">  
</div></div></div>```YAML
begin .. end
procedure & function
if .. then .. else
for .. to .. do .. step
while .. do
repeat .. until
try .. except & try .. finally blocks
case statements
array constructors (x:=[ 1, 2, 3 ];)
^ , * , / , and , + , - , or , <> , >=, <= , = , > , < , div , mod , xor , shl , shroperators
access to object properties and methods ( ObjectName.SubObject.Property)
```

Damit sind in Summe komplexere Scripte in SHAREholder nutzbar für verschiedene Strategie-Filter-Umsetzungen aber auch für eigene Massenoperationen bis hin zu Im-Exportszenarien. Die in SHAREholder genutzt objektorientierte Programmierung kann dabei in Skripten werden, um auf Daten und Methoden hierarchisch zuzugreifen. Auch das Schreiben eigener Klassen ist möglich (siehe eigenen Abschnitt).

## Editor

Der Editor setzt folgende Anforderungen um (Status v2.5):

- freie Codeeingabe
- Autovervollständigung
- Parameter-Darstellung d.h. innerhalb von Funktionen, Proceduren werden die erlaubten Parameter gezeigt
- Syntax-Highlighting auf die eingestellte Default-Sprache (hier Pascal/Delphi) und
- die Wiederverwendung von Code-Fragmenten durch Code-Bibliotheken
- Code-Folding d.h. das Ein/Ausklappen von Code-Fragmenten
- Snippet-Bibliothek, um sofort typische Fragmente nutzen zu können
- Automatischen Source-Explorer für aktuelle procedures und Variablen

# Dokumentation SHAREholder interne Methoden und Klassen

- Eine Dokumentation der aktuell zur Verfügung stehenden Methoden die in den Scripten genutzt und referenziert werden können, finden Sie unter:   
    [https://www.shareholder24.com/docs/classes.html](https://www.shareholder24.com/docs/classes.html)

# Syntax der Scripte

Scripte enthalten a) procedure und function declarations und b) Haupt-Blöcke.  
  
SCRIPT 1:

```PASCAL
procedure DoSomething;
begin
  CallSomething;
end;
 
begin
  DoSomething;
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="2747afc9-2e66-4681-9be7-d69dd9536a6e" data-macro-name="code" id="bkmrk--6"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-eclipse  delphi" id="bkmrk--48"></div></div></div></div>SCRIPT 2:

```PASCAL
begin
  DoSomething;
end;

```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="dbf51d7d-4a7b-4129-96b8-849bca027fe5" data-macro-name="code" id="bkmrk--8"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-eclipse  delphi" id="bkmrk--49"></div></div></div></div>SCRIPT 3:

```PASCAL
function MyFunction;
begin
  result:='Ok!';
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="8e1cb360-fc9d-4262-a505-6d57e6dc07df" data-macro-name="code" id="bkmrk--10"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-eclipse  delphi" id="bkmrk--50"></div></div></div></div>  
SCRIPT 4:

```PASCAL
CallSomethingElse;
```

<div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--11"></div>Statements sollten immer mit einem Semikolon ";" abgeschlossen werden.  
begin..end Blöcke können jederzeit genutzt werden, um Statements zu gruppieren. Diese sind damit mit der Code-Folding-Funktion später auch ein-ausklappbar.

## Identifier

Identifier Namen in Scripten (Variablen-Namen, function and procedure names, etc.) folgen folgenden einfachen Regeln:

- should begin with a character (a..z or A..Z), or '\_', and can be followed by alphanumeric chars or '\_' char.
- Cannot contain any other character os spaces.

Gültige Identifier:

```PASCAL
VarName
_Some
V1A2
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="fabda7fc-19a0-4316-b8e4-ecbbe87b4b00" data-macro-name="code" id="bkmrk--12"><div class="codeContent panelContent pdl"><div class="syntaxhighlighter sh-eclipse  delphi">  
</div></div></div>Einige ungültige Identifier:

```PASCAL
2Var
My Name
Some-more
This,is,not,valid
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="59f246b6-66c9-4a48-aa34-f5b8492aed99" data-macro-name="code" id="bkmrk--13"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-eclipse  delphi" id="bkmrk--51"></div></div></div></div>## Zuweisungen

Weisen Sie einen Wert oder ein Ausdrucksergebnis einer Variable oder Objekteigenschaft einfach mit ":=" zu.

```PASCAL
MyVar := 2;
Button.Caption := 'This ' + 'is ok.';
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b8d63619-d548-4096-aade-f18da8be948f" data-macro-name="code" id="bkmrk--15"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--52"></div></div></div></div>## Zeichenketten

Zeichenketten/Strings (Folge von Zeichen) werden in einfachen Anführungszeichen (') deklariert. Charakter. Doppelte Anführungszeichen (") werden nicht verwendet. Sie können auch " verwenden, als Zeichen innerhalb einer Zeichenkette. Es ist nicht notwendig, den '+'-Operator zu verwenden, um Zeichen-Codes zu einer Zeichenkette hinzuzufügen z.B. New-Lines mit Code: #13 und Code: #10. Einige Beispiele:

```PASCAL
A := 'This is a text';
Str := 'Text '+'concat';
B := 'String with CR and LF char at the end'#13#10;
C := 'String with '#33#34' characters in the middle';
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="ef8bf44b-5512-463d-bb72-410848b03602" data-macro-name="code" id="bkmrk--17"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--53"></div></div></div></div>## Kommentare

Kommentare können innerhalb des Skripts eingefügt werden.  
Sie können

- //-Zeichen oder
- (\* \*) oder
- { } verwenden.  
      
    Bei Blöcke mit // Zeichen wird der Kommentar am Ende der Zeile beendet.

```PASCAL
//This is a comment before ShowMessage
ShowMessage('Ok');
 
(* This is another comment *)
ShowMessage('More ok!');
 
{ And this is a comment
with two lines }
ShowMessage('End of okays');
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="261bd5c4-28b0-47be-b7b7-548216238e6c" data-macro-name="code" id="bkmrk--19"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--54"></div></div></div></div>## Variablen

Es ist nicht notwendig, Variablentypen in einem Skript zu deklarieren, obwohl Sie jede beliebige Art darin verwenden können. Sie können eine Variable nur mit der var-Direktive und ihrem Namen deklarieren:

```PASCAL
procedure Msg;
var S;
begin
  S:='Hello world!';
  ShowMessage(S);
end;

var A;
begin
  A:=0;
  A:=A+1;
end;

var S: string;
begin
  S:='Hello World!';
  ShowMessage(S);
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="33f68c99-20cf-4353-8de1-0da3219b59bc" data-macro-name="code" id="bkmrk--21"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--55"></div></div></div></div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="bae4bae6-ae29-4cba-913c-8b5bc8c911d0" data-macro-name="code" id="bkmrk--22"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--56"></div></div></div></div><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="cf5e8618-aecc-40d6-af12-92cf56b8b3ee" data-macro-name="code" id="bkmrk--23"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--57"></div></div></div></div>### Arrays

Auch wenn der Typ der Variablen nicht erforderlich ist und in den meisten Fällen ignoriert wird, gibt es einige spezielle Typen, die eine eigene Bedeutung haben. Sie können so Variablen als Array deklarieren und die Variable wird automatisch  
als ein Variantenarray dieses Typs initialisiert:

```PASCAL
var Arr: array[0..10] of string;
begin
  Arr[1] := 'first';
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="ce92eeed-3d7d-4942-8e4b-d56a73ba2300" data-macro-name="code" id="bkmrk--24"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--58"></div></div></div></div>Der Typ der Array-Elemente und der niedrige Index sind optional. Die nachfolgenden Beispiele sind alle gültig und resultieren in demselben Array-Typ:

```PASCAL
var
  Arr1: array[0..10] of string;
  Arr2: array[10] of string;
  Arr3: array[0..10];
  Arr4: array[10];
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="f826314d-c45d-40c8-bea1-f20d641b8a61" data-macro-name="code" id="bkmrk--26"></div>Skript-Arrays beginnen immer bei 0, wenn nicht eine andere Start-Zahl festgelegt worden sind.

Es existiert eine Skriptunterstützung für Array-Konstruktoren und Unterstützung auch für Varianten-Arrays. Zum Konstruieren ein Array, verwenden Sie die Zeichen "\[" und "\]". Sie können eine Array-Verschachtelung mit mehreren Indizes konstruieren. Sie können dann über Indizes auf Arrays zugreifen. Wenn ein Array aus mehreren Indizes besteht, trennen Sie die Indizes mit ",". Wenn Variable ein Varianten-Array ist, unterstützt das Skript automatisch die Indizierung in diesem variabel. Eine Variable ist ein Variantenarray, wenn sie über ein Array zugewiesen wurde. Konstruktor, wenn es eine direkte Referenz auf eine Delphi-Variable ist, die eine Variante ist Array oder wenn es mit VarArrayCreate erstellt wurde

```PASCAL
NewArray := [ 2,4,6,8 ];
Num:=NewArray[1]; //Num receives "4"
MultiArray := [ ['green','red','blue'] ,
['apple','orange','lemon'] ];
Str:=MultiArray[0,2]; //Str receives 'blue'
MultiArray[1,1]:='new orange';
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="ee138898-8968-46b2-83b2-9742d8253bbd" data-macro-name="code" id="bkmrk--27"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--59"></div></div></div></div>### Indexes

Strings, Arrays und Array-Eigenschaften können mit "\[" und "\]" Zeichen indiziert werden. Beispiel: Wenn Str eine Zeichenkettenvariable ist, gibt der Ausdruck Str\[3\] die dritte Zeichen in der durch Str bezeichneten Zeichenkette.

```PASCAL
MyChar:=MyStr[2];
MyStr[1]:='A';
MyArray[1,2]:=1530;
Lines.Strings[2]:='Some text';
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="c38b6cc8-a406-4039-89b0-a65789b2831b" data-macro-name="code" id="bkmrk--29"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk--60"></div></div></div></div>## if-statements

Es gibt zwei Formen der if-Anweisung: if...then und die if...then...else. Wenn der if-Ausdruck wahr ist, wird die Anweisung (oder der Block) ausgeführt. Wenn es einen anderen Teil gibt und der Ausdruck falsch ist, wird die Anweisung (oder der Block) nach dem anderen ausführen.

```PASCAL
if J <> 0 then Result := I/J;
 
if J = 0 then Exit else Result := I/J;
 
if J <> 0 then
begin
  Result := I/J;
  Count := Count + 1;
end else
  Done := True;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="da9ed82c-56e8-4d2c-bdec-652be4baa2cb" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-5"></div></div></div></div>## while-statements

Eine while-Anweisung wird verwendet, um eine Anweisung oder einen Block zu wiederholen, während eine Bedingung (Ausdruck) als wahr ausgewertet wird. Die Kontrollbedingung wird ausgewertet vor der Anweisungsfolge. Wenn also die Bedingung bei der ersten Iteration falsch ist, wird die Anweisungsfolge nie ausgeführt. Die while-Anweisung führt ihre konstituierende Aussage (oder Block) wiederholt aus, solange der Ausdruck in der Iteration gültig bleibt.

```PASCAL
while Data[I] <> X do I := I + 1;
while I > 0 do
begin
  if Odd(I) then Z := Z * X;
  I := I div 2; 
  X := Sqr(X);
end;
 
while not Eof(InputFile) do
begin
  Readln(InputFile, Line);
  Process(Line);
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="8dd47dc8-52b8-4d13-b4fa-e0e3ff9b8493" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10-0"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-6"></div></div></div></div>## repeat statements

Die Syntax einer Wiederholungserklärung ist Wiederholungserklärung1; ...; Erklärung; bis Ausdruck, wobei expression einen booleschen Wert zurückgibt. Die Wiederholungsanweisung führt seine Sequenz von konstituierenden Aussagen kontinuierlich aus und testet Ausdruck nach jeder Iteration. Wenn der Ausdruck True zurückgibt, wird die Wiederholung Anweisung beendet. Die Sequenz wird immer mindestens einmal ausgeführt, weil Ausdruck wird erst nach der ersten Iteration ausgewertet. Beispiele:

```PASCAL
repeat
  K := I mod J;
  I := J;
  J := K;
until J = 0;
 
repeat
  Write('Enter a value (0..9): ');
  Readln(I);
until (I >= 0) and (I <= 9);
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b4e2d89a-0c71-4237-97ea-fbaee9c2f3fe" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10-1"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-7"></div></div></div></div>## for statements

Scripter unterstützt Anweisungen mit folgender Syntax:  
  
für Zähler :=initialValue bis finalValue  
 do-Anweisung  
  
Bei einer Anweisung, die den Zähler auf initialValue setzt, wird die Ausführung der Anweisung wiederholt (oder Block) und erhöhen den Wert des Zählers, bis der Zähler den Endwert erreicht hat.

```PASCAL
for c:=1 to 10 do
  a:=a+c;
 
for i:=a to b do
begin
  j:=i^2;
  sum:=sum+j;
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="038b9765-5f19-4b94-afe2-4645e0044c77" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-for%C2%A0"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-for%C2%A0-0"></div></div></div></div>## case-statements

Der Scripter unterstützt Fallanweisungen mit folgender Syntax:

```PASCAL
case selectorAusdruck von
 
  caseexpr1: Aussage1;
  ...
  caseexprn: Anweisung1; ..;
 
else
 
   elsestatement;
 
end
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b0c27885-c808-48b7-85e1-6c4fec615e73" data-macro-name="code" id="bkmrk-case%C2%A0selectorausdruc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-case%C2%A0selectorausdruc-0"></div></div></div></div>Wenn selectorAusruck mit dem Ergebnis eines der case-Ausdrücke übereinstimmt, wird die entsprechende Anweisung (oder der entsprechende Block) ausgeführt. Andernfalls wird das elsestatement ausgeführt. Ansonsten ist ein Teil der caseexprn-Anweisung optional. Anders als in Delphi muss die case-Anweisung im Skript nicht nur ordinale Werte verwenden. Sie können sowohl im Selektorausdruck als auch im Case-Ausdruck Ausdrücke beliebigen Typs verwenden. Beispiel:

```PASCAL
case uppercase(Fruit) of
   'lime': ShowMessage('green');
   'orange': ShowMessage('orange');
   'apple': ShowMessage('red');
else
   ShowMessage('black');
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="2494c02f-06b9-4400-a31c-28936d80c8e2" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-case%C2%A0u"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-case%C2%A0u-0"></div></div></div></div>## <span class="f_Heading1">function and procedure declaration</span>

<span class="f_Heading1">Die Deklaration von Funktionen und Prozeduren ist ähnlich wie bei Object Pascal in Delphi, mit dem Unterschied, dass man keine Variablentypen angibt. Genau wie bei OP verwenden Sie implizit deklarierte Ergebnisvariablen, um Funktionswerte zurückzugeben. Es können auch Parameter per Referenz verwendet werden, mit der erwähnten Einschränkung: es ist nicht notwendig, Variablentypen anzugeben. Für eine einfacher Lesbarkeit kann dies jedoch genutzt werden ergänzend zu einer Namensgebung, die den Ergebnis-Typ mit in den Funktionsnamen aufnimmt z.B. TodayAsString ,TodayAsDate ...</span>

```PASCAL
procedure HelloWord;
begin
   ShowMessage('Hello world!');
end;
  
procedure UpcaseMessage(Msg);
begin
   ShowMessage(Uppercase(Msg));
end;
  
function TodayAsString;
begin
   result:=DateToStr(Date);
end;
  
function Max(A,B);
begin
   if A>B then
      result:=A
   else
      result:=B;
end;
  
procedure SwapValues(var A, B);
Var Temp;
begin
   Temp:=A;
   A:=B;
   B:=Temp;
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="d070bd65-9009-434e-9ceb-d9fcc530489d" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10-2"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-8"></div></div></div></div># <span class="f_Heading1">Script-based libraries</span>

Skript-basierte Bibliothek ist das Konzept, bei dem ein Skript andere Skripte "benutzen" kann (zum Aufruf von Prozeduren, zum Setzen globaler Variablen usw.).

Nehmen Sie zum Beispiel die folgenden Skripte:

```PASCAL
//Script 1
uses Script2;
  
begin
  Script2GlobalVar := 'Hello world!';
  ShowScript2Var;
end;
 
  
 
//Script2
var
  Script2GlobalVar: string;
  
procedure ShowScript2Var;
begin
  ShowMessage(Script2GlobalVar);
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="7f762bca-f2f2-4e85-9d59-49e6752d5482" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10-3"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-9"></div></div></div></div>Wenn Sie das erste Skript ausführen, "benutzt" es Script2, und dann ist es in der Lage, globale Variablen zu lesen/schreiben und Prozeduren aus Script2 aufzurufen.

Das einzige Problem hier ist, dass Skript 1 "wissen" muss, wo es Skript2 finden kann.

Wenn der Compiler z.B. einen Bezeichner in der uses-Klausel erreicht, muss er wissen, wo es zu finden ist:

```PASCAL
uses Classes, Forms, Script2;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="5fd61bbc-e08e-4c2c-83c7-f141b2f80848" data-macro-name="code" id="bkmrk--39"><div class="codeContent panelContent pdl"><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div>Hier wird nun folgender Ablauf abgebildet, um die Bibliothek auf verschiedene Weise zu "laden":

1\. Er versucht, eine registrierte Delphi-basierte Bibliothek mit diesem Namen zu finden.

Mit anderen Worten, jede Bibliothek, die bei RegisterScripterLibrary registriert wurde. Dies gilt sowohl für die importierte VCL, die mit Scripter Studo bereitgestellt wird, als auch für die vom Import-Tool importierten Klassen. Dies ist der Fall für Klassen, Formulare und andere Einheiten.

2\. Versucht, ein Skript in der Scripts-Sammlung zu finden, bei dem UnitName mit dem Bibliotheksnamen übereinstimmt.

Jedes TatScript-Objekt in der Scripter.Scripts-Sammlung verfügt über eine UnitName-Eigenschaft. Sie können diese Eigenschaft manuell einstellen, so dass das Skript-Objekt in diesen Situationen wie eine Bibliothek behandelt wird. Im obigen Beispiel könnten Sie ein Skript-Objekt hinzufügen, seine SourceCode-Eigenschaft auf den Skript-2-Code setzen und dann UnitName auf 'Skript2' setzen. Auf diese Weise könnte das Skript1 das Skript2 als Bibliothek finden und seine Variablen und Funktionen verwenden.

3\. Versucht, eine Datei zu finden, deren Name mit dem Bibliotheksnamen übereinstimmt (wenn LibOptions.UseScriptFiles auf 'true' gesetzt ist)

Wenn LibOptions.UseScriptFiles auf true gesetzt ist, versucht der Skripter, die Bibliothek in Dateien zu finden. Wenn das Skript z. B. "uses Script2;" hat, sucht es nach Dateien mit dem Namen "Script2.psc".

# <span class="f_Heading1">Declaring classes in script (script-based classes)</span>

Es ist jetzt möglich, Klassen in einem Skript zu deklarieren. Mit dieser Funktion können Sie eine Klasse deklarieren, um sie auf ähnliche Weise wie in Delphi zu verwenden: Sie erstellen eine Instanz der Klasse und verwenden sie wieder.

Jede Klasse muss in einem separaten Skript deklariert werden, d.h. Sie müssen für jede zu deklarierende Klasse ein Skript haben.

Sie machen das Skript zu einem "Klassenskript", indem Sie die $CLASS-Direktive am Anfang des Skripts, gefolgt vom Klassennamen, hinzufügen:

```PASCAL
//Turn this script into a class script for TSomeClass
{$CLASS TSomeClass}
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="690161c6-97c6-4394-8209-c8c8b3b551ce" data-macro-name="code" id="bkmrk-1-2-%2F%2Fturn-this-scri"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-%2F%2Fturn-this-scri-0"></div></div></div></div>## Methoden und Eigenschaften

Jede in einem Klassenskript deklarierte globale Variable wird tatsächlich zu einer Eigenschaft der Klasse. Jede Prozedur/Funktion in einem Skript wird zu einer Klassenmethode.

Die Hauptroutine des Skripts wird immer dann ausgeführt, wenn eine neue Instanz der Klasse erzeugt wird, so dass sie als Klasseninitialisierer verwendet werden kann und Sie einige Eigenschaften auf Standardwerte setzen und eine ordnungsgemäße Klasseninitialisierung durchführen können.

```PASCAL
//My class script
{$CLASS TMyClass}
uses Dialogs;
  
var
  MyProperty: string;
  
procedure SomeMethod;
begin
  ShowMessage('Hello, world!');
end;
  
// class initializer
begin
  MyProperty := 'Default Value';
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="037bd9ba-2407-4a82-a471-4803dd5e5427" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-9-10-4"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-9-10-10"></div></div></div></div>## Nutzung der Klassen

Sie können die Klasse aus anderen Skripten heraus verwenden, indem Sie einfach eine neue Instanz der genannten Klasse erzeugen:Sie können die Klasse aus anderen Skripten heraus verwenden, indem Sie einfach eine neue Instanz der genannten Klasse erzeugen:

```PASCAL
uses MyClassScript;
var
  MyClass: TMyClass;
begin
  MyClass := TMyClass.Create;
  MyClass.MyProperty := 'test';
  MyClass.SomeMethod;
end;
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="f043d6d2-c272-477d-aff5-86ea8d6ec897" data-macro-name="code" id="bkmrk-1-2-3-4-5-6-7-8-uses"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence  delphi" id="bkmrk-1-2-3-4-5-6-7-8-uses-0"></div></div></div></div>## Einzelheiten der Implementierung

Die im Skript deklarierten Klassen sind "Pseudo"-Klassen. Das bedeutet, dass keine neuen Delphi-Klassen erstellt werden. Obwohl Sie z.B. in dem obigen Beispiel TMyClass.Create aufrufen, der Name "TMyClass" nur für das Skriptsystem bedeutet, gibt es keine Delphi-Klasse mit dem Namen TMyClass. Alle Objekte, die als skriptbasierte Klassen erstellt werden, sind eigentlich Instanzen der Klasse TScriptBaseObject. Sie können dieses Verhalten ändern, um Instanzen einer anderen Klasse zu erzeugen, aber diese neue Klasse muss von der Klasse TScriptBaseObject erben. Sie definieren die Basisklasse für alle "Pseudo"-Klassenobjekte in der Scripter-Eigenschaft ScriptBaseObjectClass.

## Speicherverwaltung

Obwohl Sie in Skripten die Methode Free aufrufen können, um Speicher freizugeben, der mit Instanzen von skriptbasierten Klassen verbunden ist, müssen Sie das nicht tun.

Alle in Skripten erstellten Objekte, die auf Skript-Klassen basieren, werden schließlich von der Skripter-Komponente zerstört.

## Einschränkungen

Da Scripter keine neuen echten Delphi-Klassen erstellt, gibt es einige Einschränkungen, was Sie damit machen können. Die wichtigste ist, dass Vererbung nicht unterstützt wird. Da alle Klassen in Skripter tatsächlich dieselbe Delphi-Klasse sind, können Sie keine Klassen erstellen, die von einer anderen Delphi-Klasse erben, außer der in der Klasse TScriptBaseObject deklarierten.

# Demo-Script

Hier ein sehr einfaches Script, was über alle Aktien iteriert und eine Ausgabe macht, wenn eine RIC\[isin\] Variable definiert wurde.

Dies ist nur eine Demo-Beispiel, zeigt aber relativ einfach die Funktionsweise. Idee des Scripts war es fehlerhaften Daten-Setups in Aktien zu finden und diese auch automatisch zu korrigieren.

```PASCAL
uses Common;

(* CreateDate: 10.03.2019
   Author: Jens Werschmoeller
   Required: Shareholder-Version ab 19.3.x (neue Object-Type-Definition notwendig) *)

procedure doSetup;
var lColumn: TListColumn;
begin
  varPanelProgress.Progress.CompletionSmooth:=true;

  (* BeginUpdate/EndUpdate sollte aus Performancegründen zwingend genutzt werden! *)
  varLog.BeginUpdate;
  varLog.Items.Clear;
  (* Header für das Logging passend vorbereiten *)
  varLog.Columns.Clear;
  lColumn:=varLog.Columns.Add; lColumn.Caption:='Name'; lColumn.Width:=350;
  lColumn:=varLog.Columns.Add; lColumn.Caption:='Alter Wert'; lColumn.Width:=200;
  lColumn:=varLog.Columns.Add; lColumn.Caption:='Neuer Wert'; lColumn.Width:=200;

  varLog.GroupView:=false;
  varLog.EndUpdate;
end;

(* Ziel: Automatische Korrektur der RIC-Einträge und gleichzeitig einfachstes Demo-Programm *)
procedure doRun( pIsSimulation: Boolean );
var lStock: TStock;
    lStockVar: TStockVariable;
    lLogItem: TListItem;

begin
    (* Log-Einträge werden über die varLog-Variable geschrieben, die vom Typ TAdvListView darstellt. Diese greift über .Items auf
       alle Log-Zeilen zu. In der Common-Bibliothek sind vereinfachte Methoden-Zugriffe möglich wie doLog *)

    varPanelProgress.Progress.Max:=varStocks.Count;
    varPanelProgress.Progress.Min:=1;
    varPanelProgress.Progress.ShowGradient:=true;

    (* Durchlauf alle Titel zur Prüfung *)
    for idxStock:=1 to varStocks.Count do if (varIsCanceled=false) then
    begin
      lStock:=varStocks.Items[idxStock-1];

      (* Zugriff auf den Fortschrittsbalken mit Aktualisierung auf die aktuelle Index-Position *)                                       
      varPanelProgress.Progress.Position:=idxStock;

      (* Aus Performancegründen wird nur bei jedem 500. Durchlauf überhaupt die Anzeige am Frontend aktualisiert *)
      if (idxStock mod 500=0) then
        varApplication.ProcessMessages;

      (* Zugriff entspricht itStock.StockVariables.ItemsName['RIC[isin]']; Über die ID ist es jedoch "stabiler" *)
      lStockVar:=lStock.StockVariables.ItemsNr[12];
      if (lStockVar<>nil) then
      begin
        (* Logging der Ergebnisse über die Hilfsmethode in der Common-Lib / siehe Reiter Gemeinsame Bibliothek *)
        itLogItem:=doLogAndCheck(lStock.Displayname+' ['+lStock.ISIN+'], '+lStock.Sector);
        itLogItem.SubItems.Add(lStockVar.Wert);

        (* Neue Wertzuweisungen der Variablen sind einfach möglich über itStockWert.Wert = ... *)
        itLogItem.SubItems.Add('-');
      end;
   end;                       
end;

begin
  doSetup;
  doRun( true );
end;
```

# Optionale Handelsstrategie-Parameter

[![image-1655631860873.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631860873.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631860873.png)

Handelsstrategien können einfacher benutzt werden, wenn statt statischer Code-Anpassung beim Durchlauf einer Strategie eine Vorauswahl durch den Nutzer erfolgen kann. Hierfür ist eine "Optionale Auswahlbox" (s.o.) verfügbar gemacht, die in der Strategie selbst individuell initialisiert werden kann mit Werte und auch individuell ausgewertet werden kann. Beispiele hierfür sind:

- Anzeige und Auswahl aus den verfügbaren Watchlisten auf denen die Strategie angewendet werden soll
- Anzeige und Auswahl aus den verfügbaren Marktsegmenten auf denen die Strategie angewendet werden soll
- Auswahl eines Detail-Levels für die Anzeige z.B. Log-Info, Log-Error, Log-Details

Die Auswahlbox ist im Default leer und muss auch nicht benutzt werden. Um diese in der eigenen Strategie zu nutzen, muss lediglich eine SubRoutine "doInit" eingerichtet werden. Nachfolgend ein Beispiel für die Auswahl einer optionalen Watchliste:

## Initialisierungs-Routine "doInit" für die Auswahlbox

```PASCAL
procedure doInit;
begin
  varWatchlists.InitStrings( varParamCombobox.Items, true);
  varParamCombobox.Items.Insert(0,'Kein Watchlisten-Filter');
  varParamCombobox.ItemIndex:=0;
  varParamCombobox.Enabled:=true;
end;
```

## Nutzung der Nutzerauswahl in der Auswahlbox

```PASCAL
procedure doRun;
var fCheckWatchlist: TWatchlist;
begin
    varPanelStatus.Text:='Los gehts ... ';
    varPanelProgress.Progress.Max:=varStocks.Count;
    varPanelProgress.Progress.Min:=1;
    itLogItem:=nil;

    if (varParamCombobox.ItemIndex>=0) and (varParamCombobox.Items.Objects[varParamCombobox.ItemIndex]<>nil) then
      fCheckWatchlist:=varWatchlists.getItemWithName(varParamCombobox.Items[varParamCombobox.ItemIndex]) else
      fCheckWatchlist:=nil;

    for idxStock:=1 to varStocks.Count do if (varIsCanceled=false) then
    begin
      itStock:=varStocks.Items[idxStock-1];
      itBenchmarkStock:=varStocks.ItemISIN[getBenchmarkISIN];
      iPoints:=0;
      varPanelProgress.Progress.ShowGradient:=true;
      varPanelProgress.Progress.Position:=idxStock;
      if (idxStock mod 500=0) then
        varApplication.ProcessMessages;

      if (itStock.StockNetValues.Count>3) and
         (calcMarktkapitalisierung>0.01) and
         //(Segments.getAndToInternalNrAsBool(itStock.StockSegments, itSegment.Nr)) and
         ((fCheckWatchlist=nil) or (fCheckWatchlist.List.FindISIN(itStock.ISIN)))
      then
      begin



```

## Nutzung im Handelsstrategie-Studio

Im Studio steht die Auswahlbox für die Entwicklung ebenfalls zur Verfügung. Um die Routine zu starten, muss einmalig der Button "Initialisierung" aufgerufen werden. Die Hauptroutine (hier im doRun) sollte aber auch damit umgehen können, wenn die Auswahlbox leer ist d.h. varParamCombobox.Count=0 oder varParamCombobox.ItemIndex=-1 keine aktuelle Auswahl besitzt.

[![image-1655631869338.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631869338.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631869338.png)

# Scripting für Indikatoren

Die folgenden Beispiele stehen auch im Scripting-Studio in der Profiversion zur Verfügung und ergeben nach Ausführung folgende Ergebnisse d,h. direkte Logausgabe im Scripting-Studio nach eigener Formatierung und im Watchlisten-Fenster die korrekte automatische Zuordnung und Erstellung der Titel.

[![image-1655631926345.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631926345.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631926345.png)

[![image-1655631932351.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655631932351.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655631932351.png)

```PASCAL
 uses Common;
(* CreateDate: 31.07.2014
   Author: Jens Werschmoeller
   Required: 13.4.18
   Ziel ist die Demonstration der Anwendung von Indikatoren. Hier am Beispiel
   am RSI-Indikator, wo eine Signalgenerierung abgefragt wird. Vorhandene
   Einstellungen werden dabei aus den Charteinstellungen übernommen, können
   aber auch per Parameter-Setup überschrieben werden
   Besonderheiten:
   - Der Indikator kann allein über die Konstante beim Aufruf CreateIndicatorWithType gewechselt werden
   - Der Ergebnistyp kann mit CalculateXXXX - Methoden zwischen Ergebniswert, Triggerwert, Aktivierungsgrad etc.
     jederzeit abgerufen werden
   - Es können aktiv Watchlisten manipuliert werden, hierzu wird über doSetup eine passende Watchliste, wenn
     notwendig angelegt und die gefundenen Titel hinzugefügt. Hierbei können dann auch beliebige Kommentare
     gesetzt werden
*)

(* Vorlagerte Variablendefinition ist nur für den Editor notwendig, damit diese erkannt werden und für
   die Autovervollständigung genutzt werden können *)
var
  itIndicator : TISignalindicator;
  itStock: TStock;
  itLogItem: TListItem;
  itWatchlist: TWatchlist;
  itWatchItem: TWatchListItem;
procedure doSetup;
begin
  {* Watchliste anlegen, wenn nicht vorhanden *}
  itWatchlist:=varWatchlists.FindOrCreate('Script-GD-Crossover');
  {* Alle vorhandenen Watchlisten-Einträge entfernen *}
  itWatchlist.List.Clear;
  (* Header für das Logging passend vorbereiten *)
  varLog.Column[1].Caption:='Indicator-Value';
  varLog.Column[1].Width:=200;
  varLog.Column[2].Caption:='Kursanzahl';
  varLog.Column[2].Width:=200;
  varLog.Column[3].Caption:='Signaltyp';
  varLog.Column[3].Width:=200;
end;
procedure doRun( indicatorTypeID: Integer);
var fSegment: TSegment;
begin
    varLog.BeginUpdate;
    varLog.Items.Clear;
    (* Durchlauf alle Titel zur Prüfung *)
    for idxStock:=1 to varStocks.Count     do
    begin
      itStock:=varStocks.Items[idxStock-1];
      (* Verwende nur Titel, die Deutsche Bank im Namen enthalten
         if (Pos('Deutsche Bank',itStock.Name)<>0) then
         if (Pos('DAX',varSegments.GetName( itStock.StockSegments ))<>0) then
         etc.
      *)
      if (itStock.Country='Deutschland') then
      begin
        (* Erzeuge den Indikator hier als den RSI-Indikator *)
        itIndicator:=varIndicators.CreateIndicatorWithTypeID(indicatorTypeID);
        (* Gebe dem Indikator die notwendigen Kursdaten des aktuellen Titels *)
        itIndicator.Kurse:=itStock.Kurs.createCache;
        (* Mittels Indicator.Parameter.Items[1].Wert:=10; könnten die Parameter
           des Indikators verändert werden. Die Bedeutung der Parameter muss pro
           Indikator nachgeschaut werden z.B. über Einstellungen / Indikatorengruppen / Doppelklick auf
           den Indikator *)
        (* Berechne die Ergebniswerte für das heutige Datum
           fValue:=itIndicator.CalculateValue(Trunc(Now()), itIndicator.Kurse);
        *)
        fValue:=itIndicator.CalculateErgActivation(Trunc(Now()), itIndicator.Kurse);
        (* Wenn ein Kauf/Verkaufssignal vorliegt, dann Logeintrag + Watch-Eintrag erzeugen *)
        if (fValue<>0) then
        begin
            (* Logging der Ergebnisse *)
            itLogItem:=doLogAndCheck(itStock.Displayname+' ['+itStock.ISIN+'], '+itStock.Sector);
            itLogItem.SubItems.Add(FloatToStr(fValue));
            if (itIndicator.Kurse<>nil) then
              itLogItem.SubItems.Add(InttoStr(itIndicator.Kurse.Count)) else
              itLogItem.SubItems.Add('-');
            if (fValue<0) then
              itLogItem.SubItems.Add('Verkaufssignal') else
              itLogItem.SubItems.Add('Kaufsignal');
            {* Watchlisteneintrag erzeugen *}
            itWatchItem:=TWatchListItem.Create(itStock);
            itWatchItem.CompareDate:=Now;
            if (fValue<0) then
              itWatchItem.Comment:='IndSignal:Verkaufssignal' else
              itWatchItem.Comment:='IndSignal:Kaufsignal';
            itWatchlist.List.Add(itWatchItem);
         end;
      end;
   end;
   varLog.EndUpdate;
end;
begin
  doSetup();
  doRun(cRSI);
end;
```

<div class="ms-editor-squiggler" id="bkmrk--2"></div>

# Logging in Scripten

Bereits in eines der ersten Beispiele integriert wurde das Logging in eine Standard-Debug-Ausgabe. Die hohe Flexibilität in der Darstellung des Loggings wird über eine Komponente von TMS-Software ermöglicht "TAdvListview".

[https://www.tmssoftware.com/alvdoc.htm#Properties](https://www.tmssoftware.com/alvdoc.htm#Properties)

Um die Funktionsweise möglichst einfach zu beschreiben hier konkret ein Beispiel aus eines der Standard-Beispielen:

[![image-1656157226426.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157226426.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157226426.png)

Der dabei für verantwortliche Code ist sehr einfach für den Fall, dass ein Titel passend gefunden wurde. Die genutzten Variablen können (müssen aber nicht) zuvor definiert werden mit itLogItem: TAdvListItem; itStock und lSchillerKGV sind zuvor belegt worden im Programmcode und werden jetzt im Beispiel nur genutzt. itStock ist vom Typ TStock und besitzt daher dessen Eigenschaften. doLogAndCheck ist bereits in der Gemeinsamen Bibliothek angelegt und ist nachfolgend nur zur Vereinfachung dargestellt. Der Code kann natürlich aber auch jedesmal aufgenommen werden bzw. beliebig angepasst werden.

Siehe: [TStock](https://www.shareholder24.de/docs/class_t_stock.html)

```PASCAL
function doLogAndCheck( logMessage ): TListItem;
begin
  result:=varLog.Items.Add;
  with result as TListItem do
  begin
    Caption:=logMessage;
    checked:=true;
    groupID:=1;
  end;
end;
 
 
itLogItem:=doLogAndCheck(itStock.Displayname+' ['+itStock.ISIN+'], '+itStock.Sector);
itLogItem.subItems.Add('-');
itLogItem.subItems.Add(FloatToStr(lSchillerKGV));
```

Hier der zugehörige Code-Teil für die Darstellung jedes geprüften Titels. Die GroupID ordnet dabei der ersten optischen Gruppe (siehe Screenshot / zwei ein-ausklappbare Bereiche) diesen Logeintrag zu.Im ersten Beispiel (s.o.) wird dies mit groupID:=1 entsprechend der zweiten Gruppe zugeordnet.

```PASCAL
function doLog( logMessage): TListItem;
begin
  result:=varLog.Items.Add;
  with result as TListItem do
  begin
    Caption:=logMessage;
    groupID:=0;
  end;
end;
 
 
doLog(itStock.Displayname+'- Anzahl Jahre:'+intToStr(cntYears));


```

# Verfügbare Variablen und Datenstrukturen

<div class="table-wrap" id="bkmrk-variable-typ-referen"><table class="wrapped relative-table confluenceTable tablesorter tablesorter-default" role="grid" style="width: 126.667%;"><colgroup><col style="width: 2.47217%;"></col><col style="width: 15.8219%;"></col><col style="width: 11.0012%;"></col><col style="width: 22.7403%;"></col><col style="width: 47.9638%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="numberingColumn confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Variable: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Variable</div></th><th aria-disabled="false" aria-label="Typ-Referenz: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Typ-Referenz</div></th><th aria-disabled="false" aria-label="Hintergründe: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hintergründe</div></th><th aria-disabled="false" aria-label="Beispiel-Zugriffe: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beispiel-Zugriffe</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="numberingColumn confluenceTd">1</td><td class="confluenceTd">varApplication</td><td class="confluenceTd" colspan="1">[TApplication](https://lazarus-ccr.sourceforge.io/docs/lcl/forms/tapplication.html)</td><td class="confluenceTd">Zugriff auf das Applikationsobjekt der Anwendung wie z.B.

- Application.ProcessMessages (Abarbeitung von UI-Refreshs)

</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd">2</td><td class="confluenceTd">varParamCombobox</td><td class="confluenceTd" colspan="1">TAdvOfficeComboBox</td><td class="confluenceTd">Zugriff auf eine Auswahlbox, die für den Nutzer angezeigt wird, um für das Script Auswahloptionen für den Nutzer zur Verfügung zu stellen. In der Susan-Levermann-Strategie wird über diese eine Liste der verfügbaren Watchlisten angezeigt und nutzbar gemacht. Für Nutzer der Strategie steht der entsprechende Source-Code zur Verfügung.  
z.B. für

- Watchlisten
- Depots
- Marktsegmente

</td><td class="confluenceTd">Auswahlbox für den Nutzer füllen mit allen Watchlisten-Einträgen, danach mit allen MarktSegment-Einträgen und final als ersten Eintrag (Index=0) "Kein-Watchlisten-Filter" einfügen.

```
varParamCombobox.Items.Clear;
for lIx:=1 to varWatchlists.Count do
    varParamCombobox.Items.AddObject('Watchliste: '+varWatchlists.Items[lIx-1].Displayname, varWatchlists.Items[lIx-1]);

for lIx:=1 to varSegments.Count do
   varParamCombobox.Items.AddObject('Markt: '+varSegments.Items[lIx-1].Displayname, varSegments.Items[lIx-1]);

varParamCombobox.Items.Insert(0,'Kein Watchlisten-Filter');
varParamCombobox.ItemIndex:=0;
varParamCombobox.Enabled:=true;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">3</td><td class="confluenceTd" colspan="1">varParamCheckbox</td><td class="confluenceTd" colspan="1">TAdvOfficeCheckBox</td><td class="confluenceTd" colspan="1">Zugriff auf eine Checkbox, die für den Nutzer angezeigt wird, um für das Script Auswahloptionen für den Nutzer zur Verfügung zu stellen. In der Susan-Levermann-Strategie wird diese für "Detaillierte Konfiguration" als Option genutzt.</td><td class="confluenceTd" colspan="1">Aktiviere überhaupt die Auswahlbox für den Nutzer. Im Standard wird die Auswahlbox überhaupt nicht angezeigt.  
Hinweis: Dies sollte vorzugsweise in einer "doInit-Methode" passieren.

```
  varParamCheckbox.Caption:='Frage Strategie-Parameter individuell ab ...';
  varParamCheckbox.Enabled:=true;
  varParamCheckbox.Visible:=true;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">4</td><td class="confluenceTd" colspan="1">varLog</td><td class="confluenceTd" colspan="1">TAdvListView</td><td class="confluenceTd" colspan="1">Die Primärausgabe erfolgt über das varLog-Objekt vom Typ TAdvListview. Es ist eine Komponente zur hierarchischen, gruppierten Tabellenausgabe von Informationen. Die Objekte besitzt Columns und eine GroupView-Eigenschaft zur automatischen Gruppierung von Einträgen.

Um ein neuen Log-Eintrag zu erzeugen, kann über varLog.Items.Add eine neue Zeile eingefügt werden. Das dabei zurückgegebene Objekt ist vom Typ TListItem, was eine Caption, eine GroupID, ImageIndex, Checked-Eigenschaft besitzt.

</td><td class="confluenceTd" colspan="1">Kopfzeile der Logausgabe gestalten:

```
(* BeginUpdate/EndUpdate sollte aus Performancegründen zwingend genutzt werden! *)
varLog.BeginUpdate;
varLog.Items.Clear;

(* Header für das Logging passend vorbereiten *)
varLog.Columns.Clear;
lColumn:=varLog.Columns.Add; lColumn.Caption:='Name'; lColumn.Width:=350;
lColumn:=varLog.Columns.Add; lColumn.Caption:='Alter Wert'; lColumn.Width:=200;
lColumn:=varLog.Columns.Add; lColumn.Caption:='Neuer Wert'; lColumn.Width:=200;

varLog.GroupView:=false;
varLog.EndUpdate;
```

Konkretes Logging:

```
function doLogWithOneSubMessage( logMessage, logSubMessage ): TListItem;
begin
  result:=varLog.Items.Add;
  with result as TListItem do
  begin
    Caption:=logMessage;
    subitems.add( logSubMessage );
    groupID:=0;
  end;
end;
```

Automatische Sortierung:

```
varLog.SortColumn:=pColumn+1;
varLog.SortDirection:=pSortDirection;
varLog.SortType:=3;
varLog.Sort;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">5</td><td class="confluenceTd" colspan="1">varPanelStatus</td><td class="confluenceTd" colspan="1">TAdvOfficeStatusPanel</td><td class="confluenceTd" colspan="1">Status-Updates für den Nutzer über die Statuszeile. Dabei können primär Textnachrichten über die varPanelStatus.Text Eigenschaft ausgegeben werden.-</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">6</td><td class="confluenceTd" colspan="1">varPanelProgress</td><td class="confluenceTd" colspan="1">TAdvOfficeStatusPanel</td><td class="confluenceTd" colspan="1">Status-Updates für den Nutzer über die Statuszeile. Dabei liegt der Fokus auf der Fortschrittsanzeige.</td><td class="confluenceTd" colspan="1">```
varPanelProgress.Progress.Max:=varStocks.Count;
varPanelProgress.Progress.Min:=1;
varPanelProgress.Progress.ShowGradient:=true;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">7</td><td class="confluenceTd" colspan="1">varIsCanceled</td><td class="confluenceTd" colspan="1">Boolean</td><td class="confluenceTd" colspan="1">Der Nutzer kann ein Script in der Berechnung abbrechen. Dabei wird das Script nicht hart abgebrochen, sondern zunächst nur die Variable auf "true" gesetzt. Innerhalb des Scripts sollte diese daher immer abgefragt werden, um einen geordneten Abbruch zu realisieren.</td><td class="confluenceTd" colspan="1">Haupt-Iteration über alle Aktien, wobei aber bei jeder Iteration explizit die Abbruchsvariable "varIsCanceled" geprüft wird, um geordnet abzubrechen:

```
   (* Durchlauf alle Titel zur Prüfung *)
    for idxStock:=1 to varStocks.Count do if (not varIsCanceled) then
    begin
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">8</td><td class="confluenceTd" colspan="1">varStocks</td><td class="confluenceTd" colspan="1">[TStocks](https://www.shareholder24.de/docs/class_t_stocks.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle Assets/Stocks in ShareHolder. Der Zugriff kann dabei sowohl lesend, als auch schreibend erfolgen. So können z.B. automatisiert Namensanpassungen vorgenommen werden.</td><td class="confluenceTd" colspan="1">Iteration über alle Stocks:

```
(* Durchlauf alle Titel zur Prüfung *)
 for idxStock:=1 to varStocks.Count do if (varIsCanceled=false) then
 begin
     itStock:=varStocks.Items[idxStock-1];
```

Zugriff auf Stock-Variablen, um diese automatisiert zu verändern:

```
(* Zugriff entspricht itStock.StockVariables.ItemsName['RIC[isin]']; Über die ID ist es jedoch "stabiler" *)

lStockVar:=lStock.StockVariables.ItemsNr[12];
if (lStockVar<>nil) then
   begin
...
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">9</td><td class="confluenceTd" colspan="1">varIndicators</td><td class="confluenceTd" colspan="1">[TIndicatorGroups ](https://www.shareholder24.de/docs/class_t_indicator_groups.html)</td><td class="confluenceTd" colspan="1">Mittels Indicator.Parameter.Items\[1\].Wert:=10; könnten die Parameter des Indikators verändert werden. Die Bedeutung der Parameter muss pro Indikator nachgeschaut werden z.B. über Einstellungen / Indikatorengruppen / Doppelklick auf den Indikator.</td><td class="confluenceTd" colspan="1">```
   itIndicator:=varIndicators.CreateIndicatorWithTypeID(cRSL);

```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">10</td><td class="confluenceTd" colspan="1">varSegments</td><td class="confluenceTd" colspan="1">[TSegments ](https://www.shareholder24.de/docs/class_t_segments.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle Marktsegmente z.B. DAX, MDAX etc.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">11</td><td class="confluenceTd" colspan="1">varTransactions</td><td class="confluenceTd" colspan="1">[TTransactions ](https://www.shareholder24.de/docs/class_t_transactions.html)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">12</td><td class="confluenceTd" colspan="1">varWatchlists</td><td class="confluenceTd" colspan="1">[TWatchlists](https://www.shareholder24.de/docs/class_t_watchlists.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die internen Watchlisten. </td><td class="confluenceTd" colspan="1">Neue Watchliste erzeugen, wenn nicht zuvor angelegt mit dem Namen "Wa:ETF-Momentum-Sortlist"

```
if (fFirst) and (fUseSeparatWL) then
begin
  fWatchlist:=varWatchlists.FindOrCreate('Wa:ETF-Momentum-Sortlist');
  fWatchlist.Clear();
  fFirst:=false;
end;
```

Eintrag hinzufügen

```
if (fWatchlist<>nil) then
  begin
     if (not fUseSeparatWL) then
       fWatchItem:=fWatchlist.List.FindISIN(fItem.SubItems[pISINColumn]) else
     begin
       fWatchItem:=TWatchListItem.Create(itStock);
       fWatchlist.List.Add(fWatchItem);
     end;

     if (fWatchItem<>nil) then
     begin
        fWatchItem.CompareDate:=Now;
        //itWatchItem.Comment:='..';
        fWatchItem.PosNr:=StrToFloat(fItem.SubItems[pSumColumn]);
     end;
  end;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">13</td><td class="confluenceTd" colspan="1">varDepot</td><td class="confluenceTd" colspan="1">[TCalculatedDepotItems ](https://www.shareholder24.de/docs/class_t_calculated_depot_items.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle berechneten Depot-Positionen mit Stückzahl, gemittelten Preis, letzter Transaktion etc.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">14</td><td class="confluenceTd" colspan="1">varStops</td><td class="confluenceTd" colspan="1">[TStopRates](https://www.shareholder24.de/docs/class_t_stop_rates.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle definierten Stopps im Programm für Titel. Dabei enthält die Liste nur definierte Stopps d.h. Titel müssen keine Stopps haben. Stopps sind unabhängig von Depotpositionen.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">15</td><td class="confluenceTd" colspan="1">varProgramSettings</td><td class="confluenceTd" colspan="1">[TProgramSettings ](https://www.shareholder24.de/docs/class_t_program_settings.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle internen Programmeinstellungen wie Schriftgrößen, Kalkulationsbasis etc.</td><td class="confluenceTd" colspan="1">Verwende die offizielle Programmeinstellung für die KGV-Berechnung d.h. aktuelles Basisjahr (0), kommendes Jahr etc.

```
function calcPointsKGVRAW: Double;
begin
  Result:=itStock.KGV(varProgramSettings.ErgBasis);
end;
```

</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">16</td><td class="confluenceTd" colspan="1">varStockExchanges</td><td class="confluenceTd" colspan="1">[TStockExchanges](https://www.shareholder24.de/docs/class_t_stock_exchanges.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die definierten Börsen wie F, Nasdaq, Xetra</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">17</td><td class="confluenceTd" colspan="1">varINetVars</td><td class="confluenceTd" colspan="1">[TINetVars](https://www.shareholder24.de/docs/class_t_i_net_vars.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die definierten Aktualisierungs-Internetvariablen</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">18</td><td class="confluenceTd" colspan="1">varINetAddrs</td><td class="confluenceTd" colspan="1">[TINetAddrs](https://www.shareholder24.de/docs/class_t_i_net_addrs.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die definierten Aktualisierungs-Internetadressen</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">19</td><td class="confluenceTd" colspan="1">varAssets</td><td class="confluenceTd" colspan="1">[TAssets](https://www.shareholder24.de/docs/class_t_assets.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die definierten Asset-Klassen</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">20</td><td class="confluenceTd" colspan="1">varStrategy</td><td class="confluenceTd" colspan="1">[TStrategy](https://www.shareholder24.de/docs/class_t_strategy.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle definierten Strategien</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">21</td><td class="confluenceTd" colspan="1">varNNetze</td><td class="confluenceTd" colspan="1"><a rel="nofollow">TNets</a></td><td class="confluenceTd" colspan="1">Zugriff auf alle definierten Vorhersage-Modelle</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">22</td><td class="confluenceTd" colspan="1">varAccounts</td><td class="confluenceTd" colspan="1">[TAccounts](https://www.shareholder24.de/docs/class_t_accounts.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle Konten</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">23</td><td class="confluenceTd" colspan="1">varImpFormate</td><td class="confluenceTd" colspan="1">[TImpFormats ](https://www.shareholder24.de/docs/class_t_imp_formats.html)</td><td class="confluenceTd" colspan="1">Zugriff auf alle Importformate</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">24</td><td class="confluenceTd" colspan="1">varTradeMethods</td><td class="confluenceTd" colspan="1">[TTradeMethods](https://www.shareholder24.de/docs/class_t_trade_methods.html)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">25</td><td class="confluenceTd" colspan="1">varAssessments</td><td class="confluenceTd" colspan="1">[TAssessments](https://www.shareholder24.de/docs/class_t_assessments.html)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">26</td><td class="confluenceTd" colspan="1">varSparplaene</td><td class="confluenceTd" colspan="1">[TDepotSavingPlans ](https://www.shareholder24.de/docs/class_t_depot_saving_plans.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die Sparpläne</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="numberingColumn confluenceTd" colspan="1">27</td><td class="confluenceTd" colspan="1">varINetUpdateGroups</td><td class="confluenceTd" colspan="1">[TINetUpdateGroups](https://www.shareholder24.de/docs/class_t_i_net_update_groups.html)</td><td class="confluenceTd" colspan="1">Zugriff auf die Kursaktualisierungsgruppen</td><td class="confluenceTd" colspan="1">  
</td></tr></tbody></table>

</div>## Registrierung von Variablen und Kontext im Detail für das Scripting-Studio

Version 19.3.2

```PASCAL
 with Scripter do
  begin
    LibOptions.SearchPath.Add(IDEEngine.BasePath);
    LibOptions.SourceFileExt := '.script';
    LibOptions.CompiledFileExt := '.psc';

    Scripter.OptionExplicit := false;
    logList.Items.Clear;
    Scripter.AddObject('varApplication', Application);
    Scripter.AddObject('varParamCombobox', fAdvCombobox);
    Scripter.AddObject('varParamCheckbox', fAdvCheckbox);


    Scripter.DefineClassByRTTI(TApplication);
    Scripter.DefineClassByRTTI(TBasisobject); // ,roInclude,false,'TBasisObject',[mvPublic,mvPublished]
    Scripter.DefineClassByRTTI(TAdvListView);
    Scripter.DefineClassByRTTI(TListItems);
    Scripter.DefineClassByRTTI(TStrings);
    Scripter.DefineClassByRTTI(TListItem);
    Scripter.DefineClassByRTTI(TListGroup);
    Scripter.DefineClassByRTTI(TListGroups);
    Scripter.DefineClassByRTTI(TStringList);


    Scripter.AddObject('varLog', flogList);
    Scripter.DefineClassByRTTI(TListColumns);
    Scripter.DefineClassByRTTI(TListColumn);
    Scripter.AddObject('varPanelStatus', fStatusPanel);
    Scripter.AddObject('varPanelProgress', fProgressPanel);
    Scripter.AddVariable('varIsCanceled', fIsCanceled);

    Scripter.DefineClassByRTTI(TStocks);
    Scripter.DefineClassByRTTI(TAsset);
    Scripter.DefineClassByRTTI(TAssets);
    Scripter.DefineClassByRTTI(TAutoImports);
    Scripter.DefineClassByRTTI(TCalculatedDepotAccount);
    Scripter.DefineClassByRTTI(TCalculatedDepotAccounts);
    Scripter.DefineClassByRTTI(TCalculatedDepotItem);
    Scripter.DefineClassByRTTI(TCalculatedDepotItems);
    Scripter.DefineClassByRTTI(TCandle);
    Scripter.DefineClassByRTTI(TCandleFormation);
    Scripter.DefineClassByRTTI(TChartindicator);
    Scripter.DefineClassByRTTI(TDepotSavingPlan);
    Scripter.DefineClassByRTTI(TDepotSavingPlans);
    Scripter.DefineClassByRTTI(TDynamicFilter);
    Scripter.DefineClassByRTTI(TDynamicFilterCondition);
    Scripter.DefineClassByRTTI(TDynamicFilterConditions);
    Scripter.DefineClassByRTTI(TDynamicFilterConditionTree);
    Scripter.DefineClassByRTTI(TDynamicFilterConditionTrees);
    Scripter.DefineClassByRTTI(TDynamicFilterResult);
    Scripter.DefineClassByRTTI(TDynamicFilterResults);
    Scripter.DefineClassByRTTI(TDynamicFilters);
    Scripter.DefineClassByRTTI(TEnhancedList);
    Scripter.DefineClassByRTTI(TFilterTaipan);
    Scripter.DefineClassByRTTI(TFilterTaipanItem);
    Scripter.DefineClassByRTTI(THelperAverage);
    Scripter.DefineClassByRTTI(THTMLParser);
    Scripter.DefineClassByRTTI(TIAroon);
    Scripter.DefineClassByRTTI(TIBollinger);
    Scripter.DefineClassByRTTI(TICandleFormationen);
    Scripter.DefineClassByRTTI(TICandleFormationenCache);
    Scripter.DefineClassByRTTI(TICCI);
    Scripter.DefineClassByRTTI(TIChaikin);
    Scripter.DefineClassByRTTI(TICoppock);
    Scripter.DefineClassByRTTI(TIDMI);
    Scripter.DefineClassByRTTI(TIDSStochastik);
    Scripter.DefineClassByRTTI(TIForceIndex);
    Scripter.DefineClassByRTTI(TIGDEMA);
    Scripter.DefineClassByRTTI(TIGDUmsatz);
    Scripter.DefineClassByRTTI(TIHistVol);
    Scripter.DefineClassByRTTI(TIMACD);
    Scripter.DefineClassByRTTI(TIMFI);
    Scripter.DefineClassByRTTI(TIMomentum);
    Scripter.DefineClassByRTTI(TImpFormat);
    Scripter.DefineClassByRTTI(TImpFormats);
    Scripter.DefineClassByRTTI(TIndicator);
    Scripter.DefineClassByRTTI(TIndicatorGroup);
    Scripter.DefineClassByRTTI(TIndicatorGroups);
    Scripter.DefineClassByRTTI(TIndicatorParam);
    Scripter.DefineClassByRTTI(TIndicatorParams);
    Scripter.DefineClassByRTTI(TIndicatorSignals);
    Scripter.DefineClassByRTTI(TINegativeVolumeIndex);
    Scripter.DefineClassByRTTI(TInetAddr);
    Scripter.DefineClassByRTTI(TINetAddrs);
    Scripter.DefineClassByRTTI(TINetUpdateGroup);
    Scripter.DefineClassByRTTI(TINetUpdateGroups);
    Scripter.DefineClassByRTTI(TINetVar);
    Scripter.DefineClassByRTTI(TINetVars);
    Scripter.DefineClassByRTTI(TINewHigh);
    Scripter.DefineClassByRTTI(TINewLow);
    Scripter.DefineClassByRTTI(TINNKorrelation);
    Scripter.DefineClassByRTTI(TINNPrognose);
    Scripter.DefineClassByRTTI(TInternetProperties);
    Scripter.DefineClassByRTTI(TIntSignalIndicatorCache);
    Scripter.DefineClassByRTTI(TIOnBalanceVolume);
    Scripter.DefineClassByRTTI(TIPFE);
    Scripter.DefineClassByRTTI(TIPositiveVolumeIndex);
    Scripter.DefineClassByRTTI(TIPSAR);
    Scripter.DefineClassByRTTI(TIPvt);
    Scripter.DefineClassByRTTI(TIRAVI);
    Scripter.DefineClassByRTTI(TIRMI);
    Scripter.DefineClassByRTTI(TIRSI);
    Scripter.DefineClassByRTTI(TIRSL);
    Scripter.DefineClassByRTTI(TIRWI);
    Scripter.DefineClassByRTTI(TISignalIndicator);
    Scripter.DefineClassByRTTI(TISignalIndicatorCache);
    Scripter.DefineClassByRTTI(TISignalIndicators);
    Scripter.DefineClassByRTTI(TIStdDev);
    Scripter.DefineClassByRTTI(TIStochastik);
    Scripter.DefineClassByRTTI(TITrix);
    Scripter.DefineClassByRTTI(TITRWinkel);
    Scripter.DefineClassByRTTI(TITSF);
    Scripter.DefineClassByRTTI(TIVHF);
    Scripter.DefineClassByRTTI(TIVolumeNotis);
    Scripter.DefineClassByRTTI(TIVolumePriceTrend);
    Scripter.DefineClassByRTTI(TIWilderVol);
    Scripter.DefineClassByRTTI(TParamEnhancedList);
    Scripter.DefineClassByRTTI(TProfitStop);
    Scripter.DefineClassByRTTI(TProgramSettings);
    Scripter.DefineClassByRTTI(TProperties);
    Scripter.DefineClassByRTTI(TSegment);
    Scripter.DefineClassByRTTI(TSegments);
    Scripter.DefineClassByRTTI(TSignalItem);
    Scripter.DefineClassByRTTI(TSplit);
    Scripter.DefineClassByRTTI(TSplits);
    Scripter.DefineClassByRTTI(TStock);
    Scripter.DefineClassByRTTI(TStockExchange);
    Scripter.DefineClassByRTTI(TStockExchanges);
    Scripter.DefineClassByRTTI(TStockNetValue);
    Scripter.DefineClassByRTTI(TStockNetValues);
    Scripter.DefineClassByRTTI(TStockNews);
    Scripter.DefineClassByRTTI(TStockNewsList);
    Scripter.DefineClassByRTTI(TStockProfile);
    Scripter.DefineClassByRTTI(TStockProfiles);
    Scripter.DefineClassByRTTI(TStocks);
    Scripter.DefineClassByRTTI(TStockVariable);
    Scripter.DefineClassByRTTI(TStockVariables);
    Scripter.DefineClassByRTTI(TStopRate);
    Scripter.DefineClassByRTTI(TStopRates);
    Scripter.DefineClassByRTTI(TStrategy);
    Scripter.DefineClassByRTTI(TStringParser);
    Scripter.DefineClassByRTTI(TTaipanCatalogItem);
    Scripter.DefineClassByRTTI(TTaipanCatalogItems);
    Scripter.DefineClassByRTTI(TTradeMethod);
    Scripter.DefineClassByRTTI(TTradeMethods);
    Scripter.DefineClassByRTTI(TTradingSystem);
    Scripter.DefineClassByRTTI(TTradingSystemMetricHelper);
    Scripter.DefineClassByRTTI(TTradingSystemMetrics);
    Scripter.DefineClassByRTTI(TTradingSystemThread);
    Scripter.DefineClassByRTTI(TTradingSystemTrades);
    Scripter.DefineClassByRTTI(TTrailingStop);
    Scripter.DefineClassByRTTI(TWatchlist);
    Scripter.DefineClassByRTTI(TWatchlistItem);
    Scripter.DefineClassByRTTI(TWatchlistItems);
    Scripter.DefineClassByRTTI(TWatchlists);
    Scripter.DefineClassByRTTI(THistoryItem);
    Scripter.DefineClassByRTTI(TKurse);
    Scripter.AddObject('varStocks', Stocks);

    Scripter.AddConstant('ctTrendfolger', ctTrendfolger);
    Scripter.AddConstant('typMA', typMA);
    Scripter.AddConstant('cRMI', cRMI);
    Scripter.AddConstant('cCandlesticks', cCandlesticks);
    Scripter.AddConstant('cMA', cMA);
    Scripter.AddConstant('cBollinger', cBollinger);
    Scripter.AddConstant('cPSAR', cPSAR);
    Scripter.AddConstant('cGDUmsatz', cGDUmsatz);
    Scripter.AddConstant('cMomentum', cMomentum);
    Scripter.AddConstant('cRSI', cRSI);
    Scripter.AddConstant('cStochastik', cStochastik);
    Scripter.AddConstant('cChaikin', cChaikin);
    Scripter.AddConstant('cDSStochastik', cDSStochastik);
    Scripter.AddConstant('cMFI', cMFI);
    Scripter.AddConstant('cCoppock', cCoppock);
    Scripter.AddConstant('cRSL', cRSL);
    Scripter.AddConstant('cMACD', cMACD);
    Scripter.AddConstant('cTRIX', cTRIX);
    Scripter.AddConstant('cCCI', cCCI);
    Scripter.AddConstant('cRMI', cRMI);
    Scripter.AddConstant('cPFE', cPFE);
    Scripter.AddConstant('cTSF', cTSF);
    Scripter.AddConstant('cPVT', cPVT);
    Scripter.AddConstant('cNewHigh', cNewHigh);
    Scripter.AddConstant('cNewLow', cNewLow);
    Scripter.AddConstant('cStdDev', cStdDev);
    Scripter.AddConstant('cHistVol', cHistVol);
    Scripter.AddConstant('cVHF', cVHF);
    Scripter.AddConstant('cWilderVOl', cWilderVOl);
    Scripter.AddConstant('cADX', cADX);
    Scripter.AddConstant('cRAVI', cRAVI);
    Scripter.AddConstant('cTRWinkel', cTRWinkel);
    Scripter.AddConstant('cRWI', cRWI);
    Scripter.AddConstant('cAroon', cAroon);
    Scripter.AddConstant('cNNKorrelation', cNNKorrelation);
    Scripter.AddConstant('cNNPrognose', cNNPrognose);
    Scripter.AddConstant('cForceIndex', cForceIndex);
    Scripter.AddConstant('cOnBalanceVolume', cOnBalanceVolume);
    Scripter.AddConstant('cVolumePriceTrend', cVolumePriceTrend);
    Scripter.AddConstant('cNegativeVolumeIndex', cNegativeVolumeIndex);
    Scripter.AddConstant('cPositivVolumeIndex', cPositivVolumeIndex);
    Scripter.AddConstant('cVolumeNotisV', cVolumeNotisV);

    Scripter.DefineClassByRTTI(TIndicator);
    Scripter.DefineClassByRTTI(TChartindicator);
    Scripter.DefineClassByRTTI(TISignalIndicator);
    Scripter.DefineClassByRTTI(TIRMI);
    Scripter.DefineClassByRTTI(TIndicatorGroups);
    Scripter.DefineClassByRTTI(TIndicatorParams);
    Scripter.DefineClassByRTTI(TIndicatorParam);
    Scripter.DefineClassByRTTI(TIndicatorSignals);
    Scripter.AddObject('varIndicators', IndicatorGroups);

    Scripter.DefineClassByRTTI(TSegments);
    Scripter.DefineClassByRTTI(TSegment);
    Scripter.AddObject('varSegments', Segments);

    Scripter.DefineClassByRTTI(TTransaction);
    Scripter.DefineClassByRTTI(TTransactions);
    Scripter.DefineClassByRTTI(TAssessments);
    Scripter.AddObject('varTransactions', Transactions);


    Scripter.DefineClassByRTTI(TWatchlist);
    Scripter.DefineClassByRTTI(TWatchlists);
    Scripter.DefineClassByRTTI(TWatchlistItems);
    Scripter.DefineClassByRTTI(TWatchlistItem);
    Scripter.AddObject('varWatchlists', Watchlists);

    Scripter.DefineClassByRTTI(TCalculatedDepotItems);
    Scripter.DefineClassByRTTI(TCalculatedDepotItem);
    Scripter.AddObject('varDepot', CalculatedDepotItems);
    Scripter.DefineClassByRTTI(TStoprate);
    Scripter.AddObject('varStops', StopRates);
    Scripter.AddObject('varProgramSettings', ProgramSettings);

    Scripter.AddObject('varStockExchanges', StockExchanges);
    Scripter.AddObject('varINetVars', INetVars);
    Scripter.AddObject('varINetAddrs', INetAddrs);
    Scripter.AddObject('varAssets', Assets);
    Scripter.AddObject('varStrategy', Strategy);
    Scripter.AddObject('varNNetze', NNetze);
    Scripter.AddObject('varAccounts', Accounts);
    Scripter.AddObject('varImpFormate', ImpFormate);
    Scripter.AddObject('varTradeMethods', TradeMethods);
    Scripter.AddObject('varAssessments', Assessments);
    Scripter.AddObject('varSparplaene', Sparplaene);
    Scripter.AddObject('varINetUpdateGroups', INetUpdateGroups);
  end;
```

Alle TAdv\* Objekte sind genauer durch den Komponentenhersteller beschrieben und können aus Lizenzgründen auch von mir nicht genauer aufgegriffen werden.

Siehe hierzu unter: [https://www.tmssoftware.com/site/tmspack.asp](https://www.tmssoftware.com/site/tmspack.asp)

# Automatische Stammdaten-Korrektur-Script als Beispiel

Use-Case- Alle Titel entweder exklusiv oder zusätzlich dem Archiv zuordnen.

```PASCAL
uses Common;

procedure doSetup
begin
  ...
end;

procedure doRun;
var litStock     : TStock;
var lArchiveSegment: TSegment;
var lArchiveSegmentBitMask: TBitmask;

begin
  (* Alle Werte in Archiv. *)
  lArchiveSegment:=varSegments.ItemsName['Archiv'];
  lArchiveSegmentBitMask:=lArchiveSegment.getNrAsBitMask;
  for idxStock:=1 to varStocks.Count do
  begin
    litStock:=varStocks.Items[idxStock-1];
    if (varSegments.getAndToInternalNrAsBool( litStock.StockSegments, lArchiveSegmentBitMask)) then
    begin
      (* Alle Werte zusätzlich dem Archiv zuordnen *)
      litStock.StockSegments:=varSegments.getORToInternalNr( litStock.StockSegments, lArchiveSegmentBitMask);
      (* oder exklusiv d.h. alle Werte nur ins Archiv verschieben
         itStock.StockSegments:=lArchiveSegmentBitMask;
      *)               
    end;
  end;
end;

begin                              
  doSetup();
  doRun();             
end;


```

Ab der 21.6.x Version werden die Markt und Watchlisten-Zuordnungen über Bitmasken zugeordnet.  
  
Diese sind vom Typ TBitmask:

type  
 TBitmask = record  
 BitFields: Array\[1..8\] of UInt64;

 const MaxFields = 8;  
 const MaxBit = MaxFields\*64-1;

 class operator Add(const v1, v2: TBitmask): TBitmask;  
 class operator Equal(const v1, v2: TBitmask): Boolean;  
 class operator NotEqual(const v1, v2: TBitmask): Boolean;

 end align 16;

Das komplette Zurücksetzen eines Titels kann damit mit folgender Konstante erfolgen:  
const cZeroBitmask : TBitmask = ( Bitfields: (0,0,0,0,0,0,0,0) );

Beispielzuordnungen als Konstante sind z.B.  
 cEuroStoxx50: TBitmask = (Bitfields: (16,0,0,0,0,0,0,0));  
 cNasdaq : TBitmask = (Bitfields: (1 shl 12,0,0,0,0,0,0,0));

Folgende Methoden für alle von TEnhancedList abgegleiteten Klassen z.B. TSegments, TWatchlists, TStocks stehen zur Verfügung:

```PASCAL
    class function getORToInternalNr(orValue, Nr: TBitmask): TBitmask;
    class function getORToNr(orValue, Nr: Int64): Int64;


    class function getXORToInternalNr(xorValue, Nr: TBitmask): TBitmask;
    class function getAndToInternalNr(andValue, Nr: TBitmask): TBitmask;

    class function getAndToInternalNrAsBool(andValue, Nr: TBitmask): Boolean;
    class function getAndToNrAsBool(andValue, Nr: Int64): Boolean;

    class function getAndNotToInternalNr(Nr, andNotValue: TBitmask): TBitmask;


```

An den Objektklassen selbst stehen zur Umrechnung immer zur Verfügung:

```PASCAL
    function PrimaryKeyID: Int64; virtual;
    function getNrAsBitMask: TBitmask;
    class function convertBitFieldToMask( Nr: Int64 ): TBitmask;
    class function convertToMask( Nr: Int64 ): TBitmask;
```

# Scripting-Studio-Editor und Bedienung

[![image-1655632187395.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632187395.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632187395.png)

## (1) Auswahl des aktiven Scriptes

Es werden beim Laden eines Filter immer gleichzeitig drei Skripte geladen, um das spätere Handling deutlich zu vereinfachen:

<div class="table-wrap" id="bkmrk-speicherung-unter-ti"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Speicherung unter: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Speicherung unter</div></th><th aria-disabled="false" aria-label="Titel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Titel</div></th><th aria-disabled="false" aria-label="Zielstellung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Zielstellung</div></th><th aria-disabled="false" aria-label="Sichtbarkeit: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Sichtbarkeit</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">\\Daten\\Scripts\\&lt;Name&gt;.script</td><td class="confluenceTd">Aktiver Filter</td><td class="confluenceTd" colspan="1">Produktiver Filter</td><td class="confluenceTd" colspan="1">Ja (ab 2.6) in den Filtermasken im Frontend außerhalb des Scripting-Studios</td></tr><tr role="row"><td class="confluenceTd" colspan="1">\\Daten\\Scripts\\&lt;Name&gt;.script-dev</td><td class="confluenceTd" colspan="1">Aktiver Filter ("Spielwiese")</td><td class="confluenceTd" colspan="1">Test/Entwicklungsversion des produktiven Filters für Weiterentwicklungen, ohne den produktiven "Filter" kaputt zu entwickeln. Jeder Filter besitzt immer einen produktive und eine Entwicklungs(Sandbox)-Version. Eine Entwicklungsversion kann zur Produktiv-Version gemacht werden (wird hier kopiert) über das Hauptmenü "Projekte / Entwicklungsversion live nehmen".</td><td class="confluenceTd" colspan="1">Nein nur im Scripting-Studio</td></tr><tr role="row"><td class="confluenceTd" colspan="1">\\Daten\\Scripts\\Common.script</td><td class="confluenceTd" colspan="1">Gemeinsame Bibliothek</td><td class="confluenceTd" colspan="1">Hier sollte gemeinsam genutzte Funktionen und Hilfsroutinen ausgelagert werden, um effektiv in allen Filter zu arbeiten und Redundanzen zu vermeiden. Da auch das gegenseitige Einbinden der Standard-Scripte erlaubt ist, dient diese Sonderbehandlung aber der Effizienzsteigerung, um hier gezielte wiederverwendbare Funktionen und Procedures zu verlagern, um die eigentlichen Filter schlank und effizient zu halten.</td><td class="confluenceTd" colspan="1">Nein nur im Scripting-Studio</td></tr><tr role="row"><td class="confluenceTd" colspan="1">\\Daten\\Scripts\\Common.script-dev</td><td class="confluenceTd" colspan="1">Gemeinsame Bibliothek ("Spielwiese")</td><td class="confluenceTd" colspan="1">Test/Entwicklungsversion der gemeinsam genutzten Bibliothek</td><td class="confluenceTd" colspan="1">Nein nur im Scripting-Studio</td></tr></tbody></table>

</div>### Hinweise zu Datensicherung und -Ablage

Da in Scripten sehr viel Zeit und Aufwand gesteckt werden kann, ist die Datensicherung nicht zu unterschätzen. Aktuell umgesetzt ist daher die Erstellung einer automatisches Backup-Version mit &lt;Name&gt;-backup-YYYYMMDD-HHMM bei jedem Speichervorgang (&lt;F2&gt;). Zu einem späteren Zeitpunkt ist auch die Synchronisation mit eigenen Dropbox-Instanzen vorgesehen. Aktuell werden diese Sicherungsdateien zu einem Script wieder gelöscht, wenn eine Script-Version "Verifiziert" wird (siehe Kontextmenü zu einem Filtereintrag (r.Maustaste über einen Filternamen)).

## (1a) Einstellungen

Unterhalb der Script-Auswahl findet sich ein kleines ein/ausklappbares Pannel "Einstellungen".

Für weitere Ausbaustufen wurde sofort ein Einstellungs-Grid angelegt, was praktisch unendlich fortgeführt werden kann durch seine Scrollfähigkeit. Beim Start sind nur wenige Einstellungen vorhanden:

- - Codebeispiele ausführbar: Dies bezieht sich auf die unter (4) gezeigten Code-Beispiele, die so beeinflusst werden. Im Standard sind die Beispiele nur als Hinweise für die abzubildende Mindeststruktur gedacht. Für die Sandbox ist es aber wahrscheinlich interessant auch lauffähige Codebeispiele zu haben. Die Einstellung wird geändert durch Klick in die Wert-Spalte, wo sich dann eine entsprechende Drop-Down-Box öffnet
    - Code-Folding nutzen: Im Programm können dann alle begin..end - Blöcke ein- und ausgeklappt werden. Dies erleichtert das Handling bei längeren Skripten.

## (2) Bibliotheks-Zugriff

Um die Entwicklung zu unterstützen werden zwei Grundkonzepte mit unterstützt:

- Unterscheidung zwischen Entwicklung (Sandbox) und aktuell produktivem Code
- Unterstützung von Bibliotheken insb. auch gemeinsam genutzter Bibliotheken zwischen den unterschiedlichen Scripten

Mit Wechsel zwischen den Reitern wird zwischen den verschiedenen dahinterliegenden Code-Fragmenten gewechselt.

## (3) Code

Hier befindet sich der Quelltexteditor der analog einem Notepad funktioniert mit den vorhandenen Tastenkombinationen (Strg-C-Kopieren, Strg-V-Einfügen etc.). Die Besonderheit ist hier, dass mit dem vorhandenen Code ein automatische Code-Highlighting erfolgt d.h. Schlüsselwörter oder Strukturen werden automatisch hervorgehoben in Schriftart und Form. So werden Kommentare beispielsweise immer kursiv/blau dargestellt.

Für die Entwicklung sind besonders folgende Funktionen relevant:

- Strg + "." zeigt die aktuell gültigen Funktionen/Konstanten/Variablen/Methoden an
- ( ) nach einer Procedure oder Funktion zeigt alle gültigen Werte an

Übergreifend unabhängig vom Quell-Code kann mit:

- F8 - Der Quellcode überprüft werden. Fehler werden in der Statusleiste direkt angezeigt und der Cursor springt automatisch zur Fehlerstelle
- F9 - Der Quellcode wird überprüft und danach ausgeführt. Im Datenverzeichnis wird im Erfolgsfall unter Unitname.PSC der übersetzte Quellcode angelegt und ab diesem Zeitpunkt kann dieser Filter als Bibliothek in anderen benutzt werden über "uses &lt;Unitname&gt;"

## (4) Ausgabe

Dies ist eigentlich eines der Highlights der Umsetzung und ist auch bisher nur eine erste Version, die spätere deutlich ausgebaut wird. Ziel ist es die Ergebnisse aus einem Filter-Lauf übersichtlich und performant und unmittelbar darzustellen.

Die Darstellung wird dabei durch den Code festgelegt d.h. welche Spalten, welcher Detaillierungsgrad, welche Sortierungen und welche Darstellungs-Gruppierungen genutzt werden sollen.

In der Ausgabe wird auf eine spezielle zugreifbare Komponente zugegriffen die folgende Eigenschaften unterstützt:

- Nutzung von Gruppen, um Ergebnisse im Filtervorgang zu gruppieren. Im Standard sind aktuell 3 Gruppen angelegt
- Ein/Ausklappen von Gruppen
- Nutzung von Checkbox-Markierungen
- Mehrspaltiges Layout, womit Informationen anders und strukturiert ausgegeben werden können

## (5) Sourcecode-Explorer

Der Source-Explorer versucht zeitnah synchron zum Quellcode die Struktur des Skriptes wiederzugeben, wobei unterschieden wird nach

- procedures: Alle Funktionen und Proceduren im Code, wobei Funktionen mit gelb markiert werden und proceduren mit grün
- uses: Alle eingebundenen Fremdbibliotheken. Dies kann die Common-Bibliothek sein (siehe (1)) oder alle anderen vorhandenen Skripte
- variables: Alle nicht lokalen Variablen (innerhalb einer procedure oder function definiert) werden hier gezeigt.

Mit Doppelklick auf einen Eintrag springt der Cursor automatisch an die zugehörige Programmcode-Position.

## (6) Code-Snippet-Beispiele zur Übernahme

Dies sind aktuell nicht erweiterbare Code-Beispiele (TODO: Pflege sollte außerhalb der IDE möglich sein und auch über Updates ermöglicht werden z.B. ScriptStudio.MOD).

Mit Doppelklick auf einen Eintrag wird das Codebeispiel übernommen. Aktuell existiert eine Einstellung unter (1), um die Beispiele entweder nur als Struktur oder lauffähig zu verwenden.

# Automatisierungen

# Automatische JOB-Ausführung

## Ziel

Um die automatische Ausführung mit bestimmten zeitintensiven und auch oft regelmäßigen Jobs zu erlauben, gibt es die Möglichkeit einer über Programm-Parameter gesteuerten automatischen Ausführung von Jobs ( Auto-Execute-Möglichkeiten)

Anwendungsfälle sind hierfür beispielsweise:

- automatisch laufende Kursdaten-Aktualisierungen im Hintergrund um 18:00 Uhr, um kurz danach in Ruhe mit den aktuellen Kursdaten sich einen Marktüberblick zu verschaffen.
- Es können aber auch die Börse-Online-Statistiken + Kursaktualisierungen auf einem zentralen Miet-Server vorgenommen werden und die Daten automatisch verteilt werden auf verschiedene Rechnersysteme.

Weitere Beispiele für relevante Job-Steuerungen die perfekt automatisch durchgeführt werden können:

- Komplette Kursdatenaktualisierung kurz vor Feierabend für Tai-Pan + Cloud-Internetaktualisierung, um mit den Daten abends direkt zu starten
- Komplette Datenaufbereitung mehrerer Marktsegmente für das Training von H2o
- Komplette Trainings für H2o für mehrere Kursprognosemodelle und unterschiedlichen Datenmodellen
- Komplette Vorbereitung von tagesaktuellen Daten für die Kursprognose selbst auf Basis trainierter Modelle
- etc.

## Aufruf

Hierbei wird als Programmparameter "AUTO-EXECUTE" mit Doppelpunkt getrennt der Pfad zur nutzenden Steuerungsdatei (INI-Datei) übergeben. Dies erlaubt die Ausführung unterschiedlicher Job-Steuerungsprofile.  
Die eigentliche Job-Detail-Beschreibung liegt so in der INI-Datei selbst.

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b64aab9c-68e5-438a-890a-455747a4f894" data-macro-name="code" id="bkmrk-"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--4"></div></div></div></div>```shell
"...\proSoft24\Shareholder\Shareholder.exe" -AUTO-EXECUTE:<PATH\INIFile|INIFile>
z.B: "C:\Program Files (x86)\proSoft24\Shareholder\Shareholder.exe" -AUTO-EXECUTE:autoupdate.ini
```

## Aufbau der Job-Steuerungs-Konfigurations-Datei (autoupdate.ini-Datei)

Es befindet sich im Datenverzeichnis in der Standard-Auslieferung bereits ein Beispiel einer autoupdate.ini-Datei. Die INI-Datei ist mit Kommentaren versehen, so dass diese selbsterklärend sein sollte.

Es gibt hierbei 3 wesentliche Sektionen in der INI-Datei:

- pre-actions: Zur Ausführung von Vorbereitungs-Skripten direkt mit Programmstart z.B. um bestimmte Einstellungsdateien aus einem Pool heraus zu kopieren. In dem Moment sind noch keine Einstellungen/Dateien für SHAREholder geladen
- auto-execute: Festlegung der automatisch auszuführenden SHAREholder-Events und dessen Detail-Einstellungen
- post-actions: Zur Ausführung von Nachbereitungs-Skrpten direkt nach dem Programmstart z.B. um bestimmten Einstellungen, Dateien anschließend im Netzwerk zu verteilen, zu sichern etc.

Eine mögliche Variante ist beispielsweise:

<div class="table-wrap" id="bkmrk-%5Bpre-actions%5D-doprea"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="[pre-actions]: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">[pre-actions]</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">doPreAction=0</td><td class="confluenceTd">Automatische Ausführung beim Start von Shareholder, wenn das Script existiert und doPreAction=1

Zu diesem Zeitpunkt existiert noch kein Shareholder-Objekt oder Formular, d.h. keine Datei im Filesystem wurde von Shareholder gelesen, geöffnet oder ist im Zugriff. Damit werde auch Recovery-Scripte / Transfer-Scripte für das Datenverzeichnis möglich

1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd">script=C:\\ownCloud\\transfer\\Auto-Execute-Shareholder\\auto-execute-pre-action.cmd</td><td class="confluenceTd">  
</td></tr><tr role="row"><th class="confluenceTh">\[auto-execute\]

</th><th class="confluenceTh">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">doTaipanOnlineUpdate=0</td><td class="confluenceTd" colspan="1">Automatisch den OnlineManager von Tai-Pan aufrufen für die Online-Kursaktualisierung von Tai-Pan

- Entspricht Toolbar / Setup-Tai-Pan / Aktualisierung
- 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doTaipanFilterUpdate=0</td><td class="confluenceTd" colspan="1">Automatisch den Tai-Pan-Filter aufrufen mit den mitgegebenen UseProfile oder dem Default-Setup (letzte genutzte Einstellung)

- Entspricht Menü / Aktualisieren / Tai-Pan-Filter

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doInternetFilterUpdate=0</td><td class="confluenceTd" colspan="1">Automatisch den Internet-Filter aufrufen mit den mitgegebenen UseProfile oder dem Default-Setup (letzte genutzte Einstellung)

- Entspricht Menü / Aktualisieren / Internet-Filter
- 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doInternetProxy=0  
  
</td><td class="confluenceTd" colspan="1">Automatisch den Internet-Proxy aktivieren, der unter den Programm-Einstellungen zuvor aktiviert worden ist und im spezifischen Profil mit doInternetFilterUseProfile eingestellt worden ist.

- 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doInternetProxyUserID=&lt;Account&gt;</td><td class="confluenceTd" colspan="1">Automatisch den User-Account für den Proxy hinterlegen. Im Default werden die Daten aus dem doInternetFilterUseProfile verwendet, können hiermit aber überschrieben werden.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doInternetProxyUserPassword=&lt;Password&gt;</td><td class="confluenceTd" colspan="1">Automatisch das User-Passwort für den Proxy hinterlegen. Im Default werden auch hier die Daten aus dem doInternetFilterUseProfile ausgelesen, können aber hiermit überschrieben werden.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doTaipanFilterUseProfile=Daten\\Default-Tai-Pan.Filter.Profile.stm</td><td class="confluenceTd" colspan="1">Sie können die Profile nutzen in den Einstellungsdialogen, um bei der Aktualisierung ausgewählte Marktlisten auszuwählen und zu aktualisieren. Sie müssen hierzu einmalig die Einstellungen/Selektionen in SHAREholder vornehmen und speichern. Sie erhalten dann im \\Daten-Verzeichnis gleichnamige &lt;Name&gt;.Filter.Profile.STM-Dateien. Auf diese können Sie referenzieren und diese damit für die Aktualisierung auch nutzen.doTaipanFilterUseProfile=Daten\\Default-Tai-Pan.Filter.Profile.stm

[![image-1655632677392.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632677392.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632677392.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doInternetFilterUseProfile=Daten\\Default-Internet.Filter.Profile.stm</td><td class="confluenceTd" colspan="1">siehe doTaipanFilterUseProfile

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doReportInternetFilterUpdateErrors=1  
doReportInternetFilterUpdateErrorsToMail=support@[shareholder24.de](https://shareholder24.de/)

</td><td class="confluenceTd" colspan="1">Erzeuge eine Mail-Bericht für auftretende Fehler und sende diese an die hinterlegte Mailadresse direkt nach der Aktualisierung der vorhandenen Internetadressen</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doBoerseOnlineUpdate=0</td><td class="confluenceTd" colspan="1">Automatisch die Börse-Online-Statistiken aktualisieren

- Entspricht Menü / Aktualisieren / Börse-Online-Statistiken
- 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doCreateBackup=0</td><td class="confluenceTd" colspan="1">Automatische Durchführung einer Sicherung

- Entspricht Menü / Extras / Sicherung
- 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doCreateBackupFor=500</td><td class="confluenceTd" colspan="1">Nutze Datumsformat [dd.mm](https://dd.mm/).yyyy oder Anzahl Tage z.B. 100</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doCreateSecondBackup=1

</td><td class="confluenceTd" colspan="1">Es kann neben dem Hauptbackup auch ein Sekundär-Backup erstellt werden für eine andere Anzahl von Tagen (siehe doCreateSecondBackupFor) - 1=on, 0=off

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doCreateSecondBackupFor=30</td><td class="confluenceTd" colspan="1">Nutze Datumsformat für Startzeitpunkt als Datum [dd.mm](https://dd.mm/).yyyy oder Anzahl Tage z.B. 30</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doCreateBackupAndAvoidSfxStub=1</td><td class="confluenceTd" colspan="1">Erzeugung der SFX-Stub-Lösung kann übersprungen werden, wenn nur die Inc-Datenbank-Datei erzeugt werden soll

- 1=on, 0=off

</td></tr><tr role="row"><th class="confluenceTh" colspan="1">\[auto-machine-learning\]</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLBaseNetID=10</td><td class="confluenceTd" colspan="1">Festlegung des zu nutzenden Netzes/Modells. Die ID wird innerhalb von ShareHolder oben rechts angezeigt

<div class="content-wrapper">- Entspricht der gezeigten ID im Dialog  
    [![image-1655632684921.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632684921.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632684921.png)

</div></td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLExport=0</td><td class="confluenceTd" colspan="1">Nutzung der automatischen Datenaufbereitung von Daten zum Training von ML-Modellen oder Netzen. Die Funktion wird mit =1 aktiviert</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLExportMarktSelections=\[262144;32768;64;16\]</td><td class="confluenceTd" colspan="1">Für den Export sollen folgende Marktsegmente genutzt werden. Die ID wird per Doppelklick auf die ID in der Datenaufbereitungsmaske angezeigt und in die Zwischenablage kopiert, so dass diese direkt in die Konfiguration übernommen werden kann.  
Sollen mehere Selektionsvarianten hintereinander exportiert werden, dann einfach diese mit ; voneinander trennen und in eckigen Klammern übergeben.

<div class="content-wrapper"><div class="content-wrapper">- Wird jeweils nur ein Markt selektiert entspricht die ID direkt der ID des Marktes.

</div></div>[![image-1655632689521.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632689521.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632689521.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLExportH2oImport=0</td><td class="confluenceTd" colspan="1">Führt bei Aktivierung mit 1 das nachfolgende Script nach der Datenaufbereitung aus. Das Skript wird nur ausgeführt wenn doAutoMLExport mit =1 aktiviert wurde</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLExportScriptAction=0  
doAutoMLExportScript=d:\\ownCloud\\transfer\\Auto-Execute-Shareholder\\doAutoMLExportScript.cmd</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLTrain=1</td><td class="confluenceTd" colspan="1">Aktivierung des automatischen Trainings über H2o. Es entspricht den H2o-Export-und Modellgenerierungsfähigkeiten in der UI</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLTrainMarktSelections=\[64;16\]</td><td class="confluenceTd" colspan="1">siehe analog doAutoMLExportMarktSelections</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLTrainResponseColumnIDs=(Forecast\[10d\].MA\[1d\].ts,Forecast\[10d\].MA\[1d\].Rounded.Enum.ts,  
Forecast\[10d\].MA\[1d\].Binaer.ts,Forecast\[30d\].MA\[1d\].Rounded.Enum.ts,Forecast\[30d\].MA\[1d\].Binaer.ts)</td><td class="confluenceTd" colspan="1">Hiermit werden die Zielprognose-Typen für das Anlernen definiert. Die Auswahl sollte/kann direkt aus dem Frontend per Copy&amp;Paste aus dem zugehörigen Feld kopiert werden:

[![image-1655632694002.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632694002.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632694002.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLTrainAlgorithm=\[GBM\]</td><td class="confluenceTd" colspan="1">Zum jetzigen Zeitpunkt kann hier nur GBM gewählt werden</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPrediction=1</td><td class="confluenceTd" colspan="1">Mit 1 wird die Vorbereitung für Kursvorhersagen aktiviert. Damit ist die Berechnung der internen Variablen und Daten gemeint, die anschließend als Datenset H2o übergeben werden kann für die Prediction-Funktion. Dadurch, dass hier zunächst nur die Vorbereitung für die Kursprognosen durchgeführt wird, ist hierzu nächst kein konkretes Modell zu bezeichnen.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionWatchlistenIDs=\[512;1024\]</td><td class="confluenceTd" colspan="1">Die IDs der Watchlisten wird nachfolgend mit ; getrennt definiert und in eckigen Klammern definiert. Die Ids bekommt man direkt unter Einstellungen/Watchlisten mit Doppelklick auf den Label in die Zwischenablage kopiert.

[![image-1655632699527.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632699527.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632699527.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionUseMaxStockDays=1000</td><td class="confluenceTd" colspan="1">Begrenzt die Anzahl der für die Kursvorhersage verwendeten Datensätze, was sich teilweise erheblich auf die Geschwindigkeit auswirken kann</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionModelIDs=(GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].Binaer.ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].Rounded.Enum.ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[10d\].MA\[1d\].ts\];GBM-Net-10-HDAX.100ntrees.20depth.response\[Forecast\[30d\].MA\[1d\].Rounded.Enum.ts\])</td><td class="confluenceTd" colspan="1">Liste mit Semikolon getrennt der gewünschten vorherzusagenden Modelle.  
Bitte beachten Sie das max. 4 Modelle berücksichtigt werden, da diese nur angezeigt werden können. Die Namen können z.B. einfach aus den \\Daten\\NN\\H2o-Verzeichnis kopiert werden. Alle Modelle sind dort abgelegt.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionExportCSV=1</td><td class="confluenceTd" colspan="1">- Funktion wird noch umgesetzt

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionExportHTML=1</td><td class="confluenceTd" colspan="1">- Funktion wird noch umgesetzt

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionExportMail=support@[shareholder24.de](https://shareholder24.de/)</td><td class="confluenceTd" colspan="1">- Funktion wird noch umgesetzt

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doAutoMLPredictionScriptAction=0  
doAutoMLPredictionScript=d:\\ownCloud\\transfer\\Auto-Execute-Shareholder\\doAutoMLPredictionScript.cmd

</td><td class="confluenceTd" colspan="1">Nachfolgendes Skript wird nur bei Aktivierung mit =1 ausgeführt</td></tr><tr role="row"><td class="confluenceTd" colspan="1">doLoadDepotFileName=</td><td class="confluenceTd" colspan="1">Ermöglicht die Nutzung eines spezifisches Depots insb. für den Abgleich mit FXCM-Imports etc. Dieses Depot wird direkt beim Start geladen und nachfolgende Ausführungen somit innerhalb dieses Depots durchgeführt</td></tr><tr role="row"><th class="confluenceTh" colspan="1">\[post-actions\]</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">doPostAction=0  
script=C:\\ownCloud\\transfer\\Auto-Execute-Shareholder\\auto-execute-post-action.cmd</td><td class="confluenceTd" colspan="1">Automatische Ausführung nach dem Start von Shareholder, wenn das Script existiert und doPostAction=1. Zu diesem Zeitpunkt sind bereits alle Shareholder-Objekte gespeichert, Formulare geschlossen und alle Dateien aktuell ins Filesystem geschrieben. Damit werden Backup-Scripte möglich, die spezielle Sicherungsmethoden umsetzen oder Dateien z.B. in eine Cloud sichern.

- 1=on, 0=off

</td></tr></tbody></table>

</div>

# Sonstige Programmfunktionen

## Programmstartparameter

Als Parameter sind beim Programmstart folgende Eingaben möglich :

- NOPACK - Beim Programmstart wird der automatische Pack-Thread zum automatischen Umschreiben von Tagesdaten in die Historie unterdrückt. Per Default ist der Thread ohnehin in den Einstellungen deaktiviert.
- SILENTMODE - Übersteuert die Programmeinstellung für das Anzeige des Startbildschirmes. Der Parameter hat insb. für automatische Skripte eine Bedeutung
- SHUTDOWN - Nach Beendigung des Aktualisierungsvorgangs wird der Rechner heruntergefahren.

## Extras und Sonderfunktionen

### Arbeitsplatz verstecken

Es werden hiermit, sofern die Programme gestartet sind, folgende Module versteckt :

- Shareholder selbst
- Alle geöffneten Aktualisierungsfenster

Da dies komplett für mich die Arbeitsplatz-Software darstellt ist der Funktionsname auch entsprechend gewählt. Hinweis : Der Shortcut "Umsch-Strg-F9" ist auch aktiv, wenn SHAREholder im Hintergrund minimiert ist oder ein anderes Programm im Vordergrund steht.

### Rechner automatisch herunterfahren

Manchmal ist es erforderlich eine Kursaktualisierung übers Internet vorzunehmen, ohne dabei anwesend zu sein. Die Kursaktualisierung ist hierbei die letzte vom Rechner zu bewältigende Aufgabe. Der Rechner kann damit nach Abschluss des Vorgangs heruntergefahren werden. Dieses Problem wird durch Aktivierung dieser Funktion gelöst. Es wird somit eine begonnene Kursaktualisierung abgeschlossen und danach der Rechner komplett heruntergefahren.

Zusammen mit einer aktivierten Weckfunktion des Rechners lassen sich dann sogar automatisch ausgeführte Kursaktualisierungen in der Urlaubszeit realisieren. Hierzu kann über das Bios der Rechner gestartet werden und über ein in der Autostartgruppe von Windows abgelegten Verweis auf SHAREholder mit den Parametern AKTIV SHUTDOWN die Aktualisierung durchgeführt werden. Der Rechner wird durch SHAREholder, durch den Parameter "Shutdown" gesteuert, automatisch Heruntergefahren.

![(Warnung)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/warning.png) Aus umweltpolitischen Gründen würde ich hiervon allerdings abraten, da ohnehin historische Kursdaten geliefert werden können und ein tägliches Update hier überflüssig ist.

# Automatische Log-und Sicherungsdateien-Bereinigung

[![image-1655632802011.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632802011.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632802011.png)

Über das Hauptmenü kann eine automatische Bereinigung von nicht mehr benötigen Dateien erfolgen. Dies können insb:

- Logdateien
- Sicherungsdateien
- In älteren Versionen benutzte Konfigurationsdateien

sein.

Das Besondere ist, dass die gezeigten Optionen für Bereinigungen aus dem \\Daten\\Programm.CleanUp.ini - Konfiguration stammen und selbstständig ergänzt oder reduziert werden können.

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk--0"><div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50"><div class="css-1l6wiz9"><div data-alt="" data-collection="contentId-168722436" data-context-id="168722436" data-file-mime-type="image/png" data-file-name="image-20211011-094938.png" data-file-size="63236" data-height="653" data-id="a1dd0735-788c-440a-9acc-b30172229c3b" data-node-type="media" data-type="file" data-width="709"><div class="media-card-viewport-anchor">  
</div><div class="new-file-experience-wrapper sc-rBLzX iFXQWA" data-testid="media-card-view"><div class="media-file-card-view sc-bMvGRv bGJJtE" data-test-media-name="image-20211011-094938.png" data-test-progress="1" data-test-status="complete" data-testid="media-file-card-view"></div></div></div></div></div></div>```shell
[Alte-Konfigurationsversionen]
AutoCleanUp=true

Spaltenkonfigurationen-v2-7=\Daten\HeaderSections.R2.7*
Spaltenkonfigurationen-v2-8=\Daten\HeaderSections.R2.80*
Spaltenkonfigurationen-v2-81=\Daten\HeaderSections.R2.81*
```

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk--1"><div class="css-1l6wiz9"><div data-alt="" data-collection="contentId-168722436" data-context-id="168722436" data-file-mime-type="image/png" data-file-name="image-20211011-094938.png" data-file-size="63236" data-height="653" data-id="a1dd0735-788c-440a-9acc-b30172229c3b" data-node-type="media" data-type="file" data-width="709"><div class="new-file-experience-wrapper sc-rBLzX iFXQWA" data-testid="media-card-view"><div class="media-file-card-view sc-bMvGRv bGJJtE" data-test-media-name="image-20211011-094938.png" data-test-progress="1" data-test-status="complete" data-testid="media-file-card-view">![](blob:https://shareholder.atlassian.net/331445e7-acb7-4db0-9bd4-0967166d7b6d#media-blob-url=true&id=a1dd0735-788c-440a-9acc-b30172229c3b&collection=contentId-168722436&contextId=168722436&mimeType=image%2Fpng&name=image-20211011-094938.png&size=63236&height=653&width=709&alt=)</div></div></div></div></div>Hierbei können “Bereiche” über \[ \] Klammern angelegt werden und daneben immer einfach &lt;Bezeichner&gt;=&lt;Datei-Suchmaske&gt; verwendet werden.

## Beschränkungen<button aria-label="Copy link to heading" class="css-19ilglq"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"></svg></button>

- Es ist nicht möglich automatisch leere Verzeichnisse zu bereinigen
- Es werden nur einfache Dateimasken mit \* erlaubt. Es sind keine RegEx-Ausdrücke zur Verwendung zugelassen
- Zugriff kann nur innerhalb bzw. unterhalb des Daten-Verzeichnisses erfolgen.

# Support und Unterstützung

# Support und Ticketsystem

Intern wird als Support-und Ticketsystem der Service-Desk von GitLab verwendet. Diese Ansicht ist zunächst nicht von außen einsehbar. Sie können jedoch jederzeit eine E-Mail-Adresse an das Support-Mail-Postfach: "[<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#1f1f1f">incoming+shareholder-code-shareholder-28856501-issue-@incoming.gitlab.com</span>](mailto:incoming+shareholder-code-shareholder-28856501-issue-@incoming.gitlab.com "mailto:incoming+shareholder-code-shareholder-28856501-issue-@incoming.gitlab.com")<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#1f1f1f">" senden. Sie erhalten dann umgehend ein Feedback vom System, ob Ihre Anfrage erfolgreich angenommen worden ist. Danach erhalten Sie automatisch Antworten und Kommentare per Mail zurückgemeldet, wenn sich hier Anpassungen und Änderungen ergeben.</span>

Bitte haben Sie dennoch etwas Geduld für die Antworten. Es kann durchaus einige Tage dauern, bis ich zu den Antworten nach Prüfung komme. Ihre Anfragen werden in jedem Fall geprüft und beantwortet! Nach Erstprüfung und Finalisierung werden diese optional anschließend auch für alle Nutzer für das Voting freigegeben.

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk-"><div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50"><div class="css-14qufnk"><div data-alt="" data-collection="contentId-6225691" data-context-id="6225691" data-file-mime-type="image/png" data-file-name="image-20210912-113307.png" data-file-size="82469" data-height="530" data-id="d8ea8140-4c91-4345-8a41-b98ee423d230" data-node-type="media" data-type="file" data-width="1064"><div class="media-card-viewport-anchor">  
</div><div class="new-file-experience-wrapper sc-rBLzX jULeEV" data-testid="media-card-view"><div class="media-file-card-view sc-bMvGRv bGJJtE" data-test-media-name="image-20210912-113307.png" data-test-progress="1" data-test-status="complete" data-testid="media-file-card-view">![](blob:https://shareholder.atlassian.net/09dbbd99-99af-491e-a592-8381317ea8a0#media-blob-url=true&id=d8ea8140-4c91-4345-8a41-b98ee423d230&collection=contentId-6225691&contextId=6225691&mimeType=image%2Fpng&name=image-20210912-113307.png&size=82469&height=530&width=1064&alt=)</div></div></div></div></div></div>[![image-1655632903685.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655632903685.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655632903685.png)

<div class="rich-media-item mediaSingleView-content-wrap image-align-start css-1i2f51z" data-layout="align-start" data-node-type="mediaSingle" data-width="50" id="bkmrk--1"><div class="css-14qufnk"><div data-alt="" data-collection="contentId-6225691" data-context-id="6225691" data-file-mime-type="image/png" data-file-name="image-20210912-113307.png" data-file-size="82469" data-height="530" data-id="d8ea8140-4c91-4345-8a41-b98ee423d230" data-node-type="media" data-type="file" data-width="1064"><div class="new-file-experience-wrapper sc-rBLzX jULeEV" data-testid="media-card-view"><div class="media-file-card-view sc-bMvGRv bGJJtE" data-test-media-name="image-20210912-113307.png" data-test-progress="1" data-test-status="complete" data-testid="media-file-card-view">  
</div></div><div class="media-card-viewport-anchor">  
</div></div></div></div>

# Qualitätssicherung

Da nicht alle Funktionen bei Änderungen immer manuell nachgetestet werden können, gibt es automatische Testumgebungen und -verfahren. Sogenannte Unit-Tests über DUnit, realisieren hier selektive gewählte Tests auf Routinen oder Formularverhalten. Die Tests bestehen dabei immer aus

<div id="bkmrk-testeinrichtung-test"><div><div class="highlighter-context page view" data-inline-comments-target="true" data-test-id="page-content-only"><div class="css-10izwvm en484vw0"><div class="css-1hhh3b9 e4p5jys0" data-test-appearance="full-page"><div class="page view"><div class="wiki-content" data-inline-comments-target="true">- Testeinrichtung
- Testdurchführung
- Überprüfung der Ergebnisse
- Testabschluss

</div></div></div></div></div></div></div>## Manueller Selbststart

Die Tests kann jeder selbst ausführen mit dem Programmparameter "-DUnit". Zur Zeit sind &gt;60 Tests für alle wichtigen Masken / Funktionen definiert. Der Ausbau der Tests erfolgt von mir kontinuierlich.

[![image-1655633029990.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633029990.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633029990.png)

<div id="bkmrk--0"><div class="highlighter-context page view" data-inline-comments-target="true" data-test-id="page-content-only" id="bkmrk--2"><div class="css-10izwvm en484vw0"><div class="css-1hhh3b9 e4p5jys0" data-test-appearance="full-page"><div class="page view" id="bkmrk--3"><div class="wiki-content" data-inline-comments-target="true" id="bkmrk--4"></div><div>  
</div></div></div></div></div></div>

# Häufige Fragen und Hinweise

# Nutzung von Optionen und Optionsscheinen

## Problem

Ich nutze im Normalfall für meine Anlagestrategien Optionen und Optionsscheine. Hiervon sind praktisch in ShareHolder im Standard aber keine Titel gepflegt. Wie muss ich hier vorgehen?  
Im Kern möchte ich eine Portfolio-Performance über die Zeit nutzen.

## Lösung

In ShareHolder können beliebige Titel insb. auch Optionen, Zertifikate, Optionsscheine sowohl in Long/Short-Richtung ebenso wie CFDs genutzt werden. Nachfolgend einmal am Beispiel eines Put-Optionsscheines für den NASDAQ100, der im Depot abgebildet werden soll und vor allem auch die Depotperformance sichtbar sein.

Die Abbildung im Programm erfolgt praktisch in zwei Schritten:

- Automatische Anlage des Titels auf Basis einer Titelsuche mit der ISIN: DE000JJ9RRF7
- Automatische (kostenlose) Kursdatenquelle suchen und zuordnen

Danach sind die Depotfunktionen nach Kauf des Titels bereits vorhanden.

[![image-1655633113797.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633113797.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633113797.png)

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel" id="bkmrk-schritt%3A-titelanlage"><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel"><div class="panelContent">Schritt: Titelanlage/-suche 1. Bitte einfach in die Detail-Liste wechseln und dort über das Suchfeld die ISIN des Titels eingeben:  
    Hier: "DE000JJ9RRF7"  
    [![image-1655633125096.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633125096.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633125096.png)
2. Die Rückfragen zur automatischen Titel-Anlage bestätigen und aus den vorhandenen und gefundenen Datenquellen (Tai-Pan, Tai-Pan RT / sofern vorhanden, Internet-Fundamental-Quelle):  
    [![image-1655633129032.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633129032.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633129032.png)

</div></div></div>  
Anschließend muss in der Theorie eine Kursdatenquelle manuell konfiguriert werden. Da dies auch bereits automatisch funktioniert, für alle Titel die im Depot sind, sollte daher zunächst einfach der Titel gekauft/angelegt werden, entweder über den [Depot-Import aus CSV-Dateien - Import Assistent](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Depot-Import%20aus%20CSV-Dateien%20-%20Import%20Assistent&linkCreation=true&fromPageId=133365705) oder manuell. Hier einmal manuell:

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel" id="bkmrk-die-depotansicht-sie"><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel"><div class="panelContent">1. [![image-1655633132577.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633132577.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633132577.png)
2. Die Depotansicht sieht dann zunächst immer noch unvollständig aus, da die Kursdatenquelle noch angelegt werden muss. [![image-1655633136635.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633136635.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633136635.png)
3. Dies kann manuell erfolgen (siehe [Internetaktualisierungen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/133365705/Nutzung+von+Optionen+und+Optionsscheinen)) oder automatisch mittels [Quick-Guide NN - Nutzung](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/133365705/Nutzung+von+Optionen+und+Optionsscheinen) d.h. einfach den QuickCheck in der Depotansicht über das Menüband aufrufen und (bei Bedarf) die Stammdaten korrigieren bzw. hier nur noch "Kursdaten-Einstellungen" prüfen.  
    [![image-1655633142476.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633142476.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633142476.png)

</div></div></div><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel" id="bkmrk-anschlie%C3%9Fend-steht-b"><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel"><div class="panelContent">- Anschließend steht bereits der Depot-Chart zur Verfügung und das Portfolio ist abgebildet:  
    [![image-1655633147160.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633147160.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633147160.png)

</div></div></div>Der ganze Vorgang kann beschleunigt werden, wenn lediglich folgende Schritte vorgenommen werden:

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="bcb64a02-4406-4661-8f26-240780380394" data-macro-name="panel" id="bkmrk-einmalige-transaktio"><div class="panelContent">- Einmalige Transaktionseingabe oder Import der Optionen/Knockouts
- Einmalige Nutzung der Quick-Check-Funktion mit "Kursdatenquellen-Prüfen" und "Stammdaten korrigieren". Dies wird 99% der Fälle bereits sauber ziehen.

</div></div>

# Break Even Point - Berechnung

## Problem

Wenn ich den Stoppkurs in der entsprechenden Bearbeitungsmaske bearbeiten will, scheint dieser die Gebühren nicht zu berücksichtigen. Der BEP wird einfach nur auf den Einkaufskurs gesetzt und die Gebühren bleiben unberücksichtigt.

[![image-1655633203178.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633203178.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633203178.png)

[![image-1655633207503.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633207503.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633207503.png)

## Lösung

Die Berechnung des Break-Even-Stops berücksicht Gebühren auf Basis der globalen Programm-Einstellungen. #

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="" data-macro-name="panel" id="bkmrk-daher-bitte-in-den-p"><div class="panelContent">1. Daher bitte in den Programmeinstellungen / Berechnungen diese Art der Berechnung festlegen:  
    [![image-1655633210994.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633210994.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633210994.png)

</div></div>

# Socket-Fehler bei Nutzung der Kursprognose

## Problem

Beim Versuch eine Kursprognose zu starten bekomme ich immer wieder folgende Fehler angezeigt.

[![image-1655633266442.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633266442.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633266442.png)

## Lösung

Das Kursprognose-System basiert auf die Nutzung von H2o als ML/KI-System. Dabei wird über eine API-Schnittstelle kommuniziert. Das Setup ist dabei so konstruiert, dass im Hintergrund immer H2o gestartet werden muss. Dies erfolgt dabei nach Möglichkeit automatisch. Dabei wird mind. 4 GB – RAM benötigt. Es kann es auch manuell gestartet werden über das \\Daten\\Bin-h2o – Verzeichnis, wo vorbereitete CMD-Shell-Programme zu finden sind. Diese lassen sich editieren, so dass weniger Speicher benötigt wird. In der CMD-Shell innerhalb der Zeile „java -Xmx20g -jar h2o.jar -flow\_dir %DIR%\\data -log\_dir %DIR%\\log -nthreads 8“ ist die Speicherzuweisung dabei hinter Xmx definiert und änderbar.

Dabei kann von folgenden Rahmenbedingungen ausgegangen werden:

- H2o wird kommentarlos beendet, wenn die Speicherzuweisung nicht möglich ist mangels ausreichendem Rest-Speicher. Ich vermute, dass dies bei Ihnen der Fall ist.
- H2O muss ordnungsgemäß im \\Bin-H2o-Verzeichnis installiert sein über das Modul d.h. es sollte dort eine h2o.jar Datei liegen mit ca. 125MB
- Für reine Vorhersagen können Sie mit lediglich 2GB Speicher arbeiten
- Für das Training eigener Netze sollte Sie mit ca. 12GB Speicher arbeiten!
- Grundsätzlich wird von einer funktionierenden Java 64Bit-Installation ausgegangen

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="f405f1e4-2734-4c1a-b33f-b7bed35ab946" data-macro-name="panel" id="bkmrk-folgende-schritte-he"><div class="panelContent">Folgende Schritte helfen daher weiter: 1. Prüfe in einer Windows-Shell kurz die Java-Version mit "java --version". Hier sollte eine lauffähige 64-Bit-Java-Version angezeigt werden.
2. Prüfe das Verhalten kurz nach Start der Prognose d.h. wird kurzfristig eine neues Shell-Fenster sichtbar (sollte der H2o-Startprozess sein)?
3. Wenn Ja dann wird der Start aufgrund eines Fehlers sofort abgebrochen und die API-Schnittstelle kann nicht genutzt werden!
4. Prüfen den freien verfügbaren Speicher! Es sollte mind. 4GB frei sein. Sollte weniger Speicher verfügbar sein, muss der Startprozess manuell durchführt werden und über das \\Daten\\Bin-H2o-Verzeichnis die CMD-Shell geöffnet werden und dort die -XmX Speicherzuweisung angepasst werden und z.B. mit 1GB starten. Empfohlen sind jedoch 4GB!
5. Wenn der [Kursprognose-Service](https://www.shareholder24.de/registrierung-boersensoftware/bestellung/kursprognose-service.html) genutzt wird, kann auf die Berechnungen verzichtet werden. Sie können über die Android-APP / Windows-APP direkt arbeiten mit den Vorberechnungen von über 200 Titeln, die täglich zur Verfügung gestellt werden. Sie können so auch die aktuellsten Vorhersagen über das Menü „Analyse / .. Vorberechnete Analysen … downloaden“ und so unmittelbar in ShareHolder nutzen.

</div></div>

# Scheinbar fehlerhafte Depotsummen (absolut&relativ)

## Problem

Im Depot werden fehlerhafte Depotsummen angezeigt. Dies betrifft sowohl die absoluten als auch relativen Werte.

## Lösung

Das Problem wird durch fehlerhafte Kursdaten der zugeordneten Währung eines Depottitels verursacht. Im häufigsten Fall betrifft dies die "Standardwährung Euro".

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="" data-macro-name="panel" id="bkmrk-f%C3%BChren-sie-zur-beheb"><div class="panelContent">Führen Sie zur Behebung folgende Schritte durch:  
  
1. Blenden Sie die Währungs-Spalten in der Depotansicht ein, um relativ schnell zu erkennen, ob hier die Problemursache liegt. Die erreichen Sie über die Anzeige der Spaltenauswahl (r. Maustaste über die Spaltenköpfe).  
    [![image-1655633297991.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633297991.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633297991.png)
2. Suchen Sie in der Marktliste (Shortcut F8) nach "Interne Standard Währung". Alternativ können Sie auch den "Devisen"-Reiter auswählen und dort den EUR-Titel suchen:  
    [![image-1655633303731.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633303731.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633303731.png)
3. Gehen Sie in die Stammdaten des Titels mit Doppelklick und dort auf den Reiter Kursdaten / Button "Alles löschen". Damit wird für diesen Titel immer der Kurs 1 angenommen. Alternativ können Sie auch einen Eintrag mit Close=1 hinterlegen.
4. Danach sollte in der Depotansicht (eventl. Refresh mit F5) die korrekte Berechnung erscheinen.

</div></div>

# Nutzung Nachrichten-Center (Microsoft Edge Browser) zeigt nur leeren Bildschirm

## Problem

Als Nutzer kann ich einen Nachrichten-Center benutzen der mir per Klick auf das Symbol angezeigt wird. Dabei wird eine integrierte Version des Microsoft-Edge-Browsers (Chromium-Engine, welches auch die Basis für den Chrome-Browser bildet) genutzt. Leider kann es bei fehlerhafter Installation dazu kommen, dass die Anzeige sich nicht aufbaut und nur eine leere Seite angezeigt wird.

## Lösung

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="9cf7c359-6dc1-4499-b78a-251cda31b750" data-macro-name="panel" id="bkmrk-siehe-anleitung-f%C3%BCr-"><div class="panelContent">1. Siehe Anleitung für die Installation unter: [Recherche-News-Browser](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2359088/Recherche-News-Browser)

</div></div>

# ein Zugriff. Jemand hat über Ihre IP-Adresse xx.xxx.xxx.xxx sehr häufig, vermutlich automatisiert, auf unsere Website zugegriffen

## Problem

Sie müssen beim Datenabruf über freie Angebote im Netz die Anzahl der erlaubten Abrufe beachten. Dies betrifft Datenabrufe verschiedener Anbieter. Die genaue Anzahl ab der geblockt wird ist dabei pro Anbieter individuell. ca. 200 Datenabrufe innerhalb von 10min scheinen aber bereits auszureichen.  
Die Sperrung erfolgt dabei auf IP-Adressen.

## Lösung

Grundsätzlich können Sie über Ihren Router sich natürlich mit einer ReConnect der Internetverbindung eine neue IP zuweisen lassen. Komfortabler ist es jedoch den Traffic nicht direkt, sondern über Proxy-Server zu routen. Sie können VPN oder Proxy-Server-Lösungen nutzen, die Sie auch in SHAREholder hinterlegen können, so dass praktisch nur SHAREholder über diese speziellen Server einen Umweg geht. Grundsätzlich kosten VPN-Verbindungen Performance. Auf einer 300MBit-Leitungen bleiben in einer Testumgebung bei mir nur ca. 250MBit down übrig. Daher sollten Sie es nur einsetzen, wenn Sie es begründen können.

Bitte beachten Sie grundsätzlich IMMER die Nutzungsbedingungen des Anbieters!

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="ee335ed2-e4d2-4915-a9f7-ed1e1bececec" data-macro-name="panel" id="bkmrk-folgende-schritte-am"><div class="panelContent">Folgende Schritte am Beispiel von [https://privatevpn.com/serverlist/](https://privatevpn.com/serverlist/)1. Registrieren Sie sich auf privateVPN mit EMail und einem selbst gewählten Kennwort
2. Installieren Sie optional (nicht notwendig) den VPN-Client
3. Konfigurieren Sie in SHAREholder die Proxy-Settings anhang der Serverliste von [https://privatevpn.com/serverlist/](https://privatevpn.com/serverlist/) .  
    Nachfolgend einmal am Beispiel des Servers in Frankfurt. Sie sollten den Server wählen mit der besten Latenz:  
    [![image-1655633370787.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633370787.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633370787.png)

</div></div>

# Nach einem Update sind Daten überschrieben

## Problem

Nach längerer Pause werden die aktuellen Updates von ShareHolder eingespielt. Diese haben die persönlichen Einstellungen überschrieben. Wie kann ich diese wiederherstellen bzw. muss ich die Daten neu erfassen?

## Einleitung und Hintergründe

Grundsätzlich gilt, dass Daten nicht ohne weiteres überschrieben werden in ShareHolder.

### Personalisierte Einstellungen mit nicht überschreibbaren Dateien

Das Programm nutzt eine Architektur, die es erlaubt zentrale Daten immer wieder aktuell einzuspielen und gleichzeitig alle wesentlichen Einstellungen personalisieren zu können. Alle Konfigurationen werden pro Typ mit einer eigenen Datei und der Endung "stm" im Datenverzeichnis geschrieben. Es gibt zu den wichtigen Einstellungen die personalisierte Variante mit den "stmc" Dateien. Diese enthalten im gleichen Format wie die Hauptdatei die als "individuell" gekennzeichneten Einträge und werden praktisch nachgeladen. Diese stmc-Dateien werden niemals überschrieben und sind gleichzeitig zusammen mit der Portfoliodatei "\*.depotR2" zu sichern und wiederherzustellen. Dies kann bequem per Backup-Routine, per Cloud-Speicher oder sogar zu Fuß passen und enthält im Normalfall immer nur wenige Bytes.

Die Personalisierung kann hier am Beispiel von Watchlisten einfach in den Konfigurationslisten erfolgen über das Kontextmenü durch "Setze den Eintrag auf Individualisiert". Fortan wird diese Konfiguration separat gesichert (in der STMC-Datei) und durch die Standard-Updates niemals berührt.

[![image-1655633426056.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633426056.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633426056.png)

### Automatische Versionierung auf Dateiebene mit bis zu 10x vorherige Versionen

Wird eine Datei gespeichert/überschrieben werden im Standard immer bis zu 10 vorherige Versionen gehalten, die sich im \\Daten\\Backup und im \\Daten\\Backup-Install-Verzeichnis befinden. Das Backup-Install-Verzeichnis wird immer genutzt, wenn das Setup-Programm oder das Modul/AddON-Update-Modul genutzt wird. Die Dateien aus diesem Verzeichnis können dabei manuell wiederhergestellt werden durch Kopien und Umbenennen der Dateien.

### Nutzung der Backup-Routine

Grundsätzlich sollten unabhängig von anderen Mechanismen die integrierte Backup-Routine genutzt werden. Diese sollte dabei den Fokus auf die Ihnen veränderten Dateien haben wie Watchlisten, Konteneinstellungen oder Transaktionsdateien. Dies kann bequem ausgewählt werden. Die Backup-Routine erzeugt dabei eine ausführbare Datei, die unabhängig vom Setup oder ShareHolder selbst wieder ausgeführt werden kann und einen lauffähigen Stand wiederherstellt.

[![image-1655633431200.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633431200.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633431200.png)

### Nutzung des Cloud-Speichers (GDrive oder Dropbox)

Um insb. die Arbeit mit mehreren parallelen Rechnern sicherzustellen sowie eine sehr schnelle und effektive Backup-/Restore-Routine zu haben, kann sowohl Dropbox als auch Google-Drive eingerichtet und genutzt werden. Es erfolgt dann jeweils eine Synchronisation auf Dateiebene. Auch so kann nach einem größeren Update jederzeit wieder der Stand wiederhergestellt werden, plus der interne Versionierung-Mechanismus von Google-Drive und Dropbox.

[![image-1655633435540.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633435540.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633435540.png)

### AddOn-Einspielung und Updates nur mit Prüfung durchführen

Bei der AddOn-Einspielung gibt es zwei Möglichkeiten zur Einspielung der Updates. Die eine versucht als "One-Klick-Installation" möglichst wenig Rückfragen zu stellen, die andere lässt praktisch jedes Update vom Nutzer bestätigen. Dabei werden die zu überschreibenden Inhalte gesondert markiert dargestellt.

[![image-1655633439455.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633439455.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633439455.png)

## Lösung

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="cb78d6fa-7548-4ba1-9cd9-cf8e2476b124" data-macro-name="panel" id="bkmrk-entsprechend-der-ein"><div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="cb78d6fa-7548-4ba1-9cd9-cf8e2476b124" data-macro-name="panel"><div class="panelContent">Entsprechend der Einleitung gibt es daher für die Problembeschreibung mind. folgende Lösungsvarianten 1. Prüfungen Sie die \\Daten\\Backup und \\Daten\\Backup-Install-Verzeichnisse ob die betroffenen Elemente wie Watchlisten, Konten, Depot-Dateien als Sicherungen vorliegen. Hier müsste am Beispiel der Standard.DepotR2-2021040811 vom 08.04. 11:29 Uhr lediglich die Datei in das \\Daten-Verzeichnis kopiert werden und umbenannt werden in Standard.DepotR2.  
    [![image-1655633443512.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633443512.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633443512.png)
2. Prüfung und Nutzung der Backup-Datei und einfache Rückspielung dieser Version
3. Prüfung einer Cloud-Speicherung und entsprechende Rückspielung dieser Version

</div></div></div>Sie sollten zudem bei zukünftigen Versionen sicherstellen, dass:

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="cb78d6fa-7548-4ba1-9cd9-cf8e2476b124" data-macro-name="panel" id="bkmrk-konfigurieren-sie-in"><div class="panelContent">1. Konfigurieren Sie in jedem Fall die personalisierten Einträge in Ihrem Setup, da dies die sauberste und effizienteste Methode ist
2. Nutzen Sie den Cloud-Speicher, um in wenigen Sekunden ein sauberen Sicherungspunkt zu haben
3. Stellen Sie sicher, dass Sie Ihr Depot nicht als Standard.DepotR2 nutzen. Dieses Portfolio ist für Demostrations-Zwecke vorgesehen. Die Standard.DepotR2 wird von mir historisch bedingt als Demo-Depot benutzt und damit auch bei Updates aktualisiert und überschrieben. Bitte legen Sie Ihre Transaktionen nicht in der Standard.DepotR2, sondern beginnen immer mit Portfolio / Neu!
4. Für Update-Einspielungen nutzen Sie einfach nicht die One-Klick-Installation insb. wenn Sie noch nicht alle Ihre Einträge personalisiert haben!

</div></div>

# Marktdaten z.B.DAX, MDAX nicht mehr korrekt

## Problem

Sie sehen beim Aufruf der Marktlisten eine nicht mehr jeweilige vollständige Liste z.B. für DAX und MDAX. Das Problem setzt sich eventl. in anderen Marktlisten ebenfalls fort.

## Lösung

Die Struktur der Marktdaten kann durch verschiedene Möglichkeiten wieder hergestellt werden. Grundsätzlich wird an den Einzelaktien eine Referenz zu eines oder mehreren Märkten gespeichert. Die Referenzen müssen dabei zu den Markt-IDs kompatibel sein d.h. die "Stammdaten.Aktien.R8.stm" muss kompatibel sein zu der "Stammdaten.Maerkte.stm".Sie haben daher folgende (sinnvolle) Optionen:

<div class="panel conf-macro output-block" data-hasbody="true" data-macro-id="" data-macro-name="panel" id="bkmrk-sie-spielen-eine-sic"><div class="panelContent">1. Sie spielen eine Sicherung zurück und spielen dabei sowohl die Aktien-Stammdaten als auch die Marktdaten zurück. Da die Kursdaten hiervon unabhängig gespeichert werden, gehen Ihnen bei dieser Variante die Kursdaten nicht verloren. Dennoch sollten Sie gedanklich prüfen, ob Sie wesentliche Änderungen an den Stammdaten wie Neue Titel, Zuordnungen zu Kursaktualisierungen, Alle Fundamentaldatenänderungen vorgenommen haben. Diese gehen so verloren.
2. Wenn Sie Tai-Pan EOD-Abo besitzen können Sie sehr einfach die beiden Märkte über Hauptmenü / Aktualisieren / Tai-Pan – Katalogansicht die DAX/MDAX-Kataloge auswählen und mit SHAREholder synchronisieren. Sie erhalten umgehend die korrekte Struktur zurück.  
    [![image-1655633491535.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633491535.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633491535.png)
    
      
    Eventl. können Sie auch die völlig unverbindliche und kostenlose Variante über [https://www.lp-software.de/shareholder/](https://www.lp-software.de/shareholder/) ausprobieren
3. Sie können eine Marktstruktur auch wiederherstellen über Einstellungen / Märkte / Button „Marktliste importieren“. Ich habe den Export für DAX und MDAX einmal durchgeführt und die Ergebnisdateien angehängt.  
    [DAX-Titel-Marktstruktur.CSV](https://shareholder.atlassian.net/wiki/download/attachments/34635563/DAX-Titel-Marktstruktur.CSV?version=1&modificationDate=1417951815000&cacheVersion=1&api=v2) und [MDAX-Titel-Marktstruktur.CSV](https://shareholder.atlassian.net/wiki/download/attachments/34635563/MDAX-Titel-Marktstruktur.CSV?version=1&modificationDate=1417951815000&cacheVersion=1&api=v2)  
      
    Diese jeweils für DAX und MDAX einzeln importieren mit „Marktliste-importieren“ in dem Einstellungsmenü / Märkte. Damit haben Sie praktisch nur die Marktzuordnungen wieder korrigiert.  
    [![image-1655633499251.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633499251.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633499251.png)
4. Sie können auch statt des Backups einfach die zugehörige Moduldatei neu wieder einspielen:  
    Bitte achten Sie hier unbedingt bei den Nachfragen darauf, was Sie zurückspielen wollen anhand der zu überschreibenen Dateien. Sie benötigen NUR die "Stammdaten.Aktien.R8.stm" und die "Stammdaten.Maerkte.stm". Sichern Sie vorsichtshalber Ihre Daten zuvor. Ihre Depotdaten werden in jedem Fall unberührt sein. Aber alle Konfigurationsanpassungen an Märkten, Trade-Einschätzungen, Programmeinstellungen etc. können so verloren gehen!  
    [![image-1655633503605.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633503605.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633503605.png)
5. Eine andere Variante ist eine Parallelinstallation der Demoversion. Dort Hilfe / Infos / Datenverzeichnis öffnen und die beiden relevanten Dateien auswählen und in das andere Datenverzeichnis überspielen. ACHTUNG: Achten Sie darauf, dass Sie nicht das gleiche Datenverzeichnis nutzen wie zuvor. Dies können Sie nur über die erweiterte Installationsvariante sicherstellen.

</div></div>

# Kursaktualisierungen für HTTPS-Adressen nicht möglich

<div class="css-12iqrvt e1u05xh11" id="bkmrk-shareholder-r%2F2-b%C3%B6rs"><div class="css-1mos0li e1u05xh10" data-test-id="header-animated-box" width="1002"><div class=" css-1sn6j8c e1g1mp7q0" id="bkmrk-shareholder-r%2F2-b%C3%B6rs-0"><div class="css-1b477nb e1g1mp7q5" data-test-id="breadcrumb"><div class="css-15ro776 e1nsz6t20"><nav aria-label="Breadcrumbs" tabindex="-1"><span style="color: #222222; font-size: 2.8275em; font-weight: 400;">Problem</span>

</nav></div></div></div></div></div>Auf bestimmten Windows-Installationen z.B. 1909 / 18363 -Versionen kann es vorkommen, dass Kursaktualisierungen für HTTPS-Adressen nicht funktionieren. Die Windows-Systemdateien sind dabei aber korrekt eingespielt.

## Lösung

Bitte installieren Sie hier wie nachfolgend nochmals händisch:;

Bitte die OpenSSL-Bibliotheken für die 32-Bit-Version und 64-Bit-Version nochmals manuell nachinstallieren:  
[https://www.heise.de/download/product/win32-openssl-47316](https://www.heise.de/download/product/win32-openssl-47316)

Probieren Sie nach der Installation die Aktualisierung aus! Sie können danach die OpenSSL-Installationen wieder löschen, da automatisch Windows-System-Korrekturen vorgenommen werden und die Fixes bei der Deinstallation nicht zurückgenommen werden.

# Fehlerhafte Kursdatenanzeige für ein Titel

## Problem

Ich habe z.B. bei einen Kauf von Baidu US0567521085 das Problem, dass mir ein Kurs von 2920,-€ angezeigt wird. Der tatsächliche Kurs sollte um die 170€ liegen. Das gleiche Problem habe ich auch mit Avago. Was kann hier die Ursache sein?

## Lösung

Nutzen Sie hierfür die Möglichkeiten der automatischen Prüfung der vorhandenen Kursaktualisierungs-Gruppen und der individuellen Währungseinstellung pro Titel.

Hierzu in einer Marktliste (F8) den Titel suchen z.B. US0567521085 und mit Doppelklick auf den Titel die Einstellungen öffnen.

Dort den Reiter Kursaktualisierung wählen und Alle prüfen auswählen. Je nach Wunsch für € oder US$ Notierung die Aktualisierungsgruppe auswählen und über das Kontextmenü „Selektieren“.

[![image-1655633581847.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633581847.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633581847.png)

[![image-1655633586059.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633586059.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633586059.png)

Auf dem Hauptreiter je nach gewünschter Währung die Basiswährung selektieren:

[![image-1655633590194.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633590194.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633590194.png)

# Anlagestrategien und Dokumentation

# Grundprinzip

## Modell-Beschreibung einer Anlagestrategie

[![image-1655633669055.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633669055.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633669055.png)

Titel

<div class="table-wrap" id="bkmrk-detail-beschreibung-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Detail: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Detail

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th><th aria-disabled="false" aria-label="Persönliche Optimierungspotentiale: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Persönliche Optimierungspotentiale

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Markt-Einstieg

</td><td class="confluenceTd">Wie erfolgt der Einstieg/Kauf von Positionen z.B.

- Nachbildung Musterdepot
- Technisches Signal z.B. Schnittpunkt Gleitender Durchschnitt etc.
- Fundamentale Auswahl z.B. Cashflow-Entwicklung, Stabile Ertragslage, Markt-Mitbewerbersituation  
    und welche
- Märkte z.B. Europa / Nur Deutschland etc.
- Segmente/Branchen z.B. nur Biotech-Aktien
- Assetklassen wie Aktien, Fonds, CFDs, OS, Zertifikate, Rohstoffe, Währungen werden überhaupt verwendet

</td><td class="confluenceTd">Wie können die bisherigen Entscheidungen optimiert werden?

</td></tr><tr role="row"><td class="confluenceTd">Markt-Ausstieg

</td><td class="confluenceTd">Wie erfolgt der Ausstieg/Verkauf von Positionen z.B.

- Stopp-Kurse, wenn ja welche Initial-Risk-Stop, Trailing-Stopp und mit welchen Detailgrößen, Zielkurse
- Technisches Ausstiegssignal

</td><td class="confluenceTd">Wie können die bisherigen Entscheidungen optimiert werden?

</td></tr><tr role="row"><td class="confluenceTd">Zeitliche Ausrichtung

</td><td class="confluenceTd">Auf welchen zeitlichen Horizont ist die Strategie ausgelegt bzw. Einzelpositionen. Was ist die durchschnittliche Haltedauer einer Position

- z.B. Haltedauer theoretisch nicht beschränkt
- Durchschnittliche Haltedauer dennoch 2Wochen

</td><td class="confluenceTd">Ist die Haltedauer wirklich optimal, oder wird zu kurzfristig und hektisch agiert oder ist eventl. sogar das Gegenteil der Fall, da das Modell zu langsam auf Marktsituationen reagiert und dadurch deutlich Rendite verschenkt?

</td></tr><tr role="row"><td class="confluenceTd">Performance

</td><td class="confluenceTd">- Zielperformance (Wunsch im Abgleich zu den bisherigen Modellerfahrungen)
- Reale: Tatsächliche Performance in möglichst vielen Vergleichsszenarien
- Modell: Performance im Backtesting und in Modellrechnungen. Mit welchem System wurde das Ergebnis erreicht.

</td><td class="confluenceTd">= Sind alle anderen Optimierungsmöglichkeiten ausgeschöpft

</td></tr><tr role="row"><td class="confluenceTd">Risiko

</td><td class="confluenceTd">- Wie risikohaft ist das Modell, was ist ein möglicher Verlust bei einem Einsatz von 10.000€? Wie ist die Stabilität des Modells z.B. anhand von max. prozentuale Drawdown?
- Welches Risikomodell passt zu mir selbst, d.h. welches max. Risiko möchte ich überhaupt eingehen? Bin ich bereits monatlich Geld dazuzugeben? Bei welchem Verlust wird es für mich selbst schmerzhaft? Diese Fragen sind grundlegend!

</td><td class="confluenceTd">Stimmt das eingegangene Risiko in der Praxis mit meinem Risikotyp überhaupt überein? Fühle ich mich wohl und sicher mit dem Modell.

</td></tr></tbody></table>

</div>## Modell-Charakter einer Anlagestrategie

[![image-1655633673693.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655633673693.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655633673693.png)

<div class="table-wrap" id="bkmrk-detail-beschreibung--0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Detail: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Detail

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th><th aria-disabled="false" aria-label="Persönliche Optimierungspotentiale: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Persönliche Optimierungspotentiale

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Disziplin

</td><td class="confluenceTd">Wieviel Disziplin verlangt das Modell? Bei Modellen mit geringer Trefferwahrscheinlichkeit, aber hohen Einzelgewinnen bei Treffern erfordert es sehr viel Disziplin. Ebenso bei Modellen mit hohem Kapitalbedarf. Dies sollte woher geprüft sein.

</td><td class="confluenceTd">Lässt sich Disziplin und Erfolg voneinander unabhängiger machen?

</td></tr><tr role="row"><td class="confluenceTd">Balancing

</td><td class="confluenceTd">Wie wird das Modell in den Assetklassen/ Segmenten ausbalanciert. Wird überhaupt eine Gewichtung vorgenommen?

</td><td class="confluenceTd">Stimmt die Gewichtung des Depots in den Einzelpositionen im Sinne einer Risikominimierung und Gewinn-Optimierung? Lässt sich eine Gesamtperformance von z.B. 5% nicht auch mit niedrigerem Risiko erreichen?

</td></tr><tr role="row"><td class="confluenceTd">Aufwand

</td><td class="confluenceTd">Welcher finanzielle und zeitliche Aufwand steckt hinter diesem Modell z.B.

- Kursdatenversorgung 20€/Monat mit EOD-Daten
- Einmal tägliche Prüfung für 15min am Abend

</td><td class="confluenceTd">Gibt es kostengünstigere Alternativen bzw. können bestimmte Punkte automatisch überwacht werden?

</td></tr></tbody></table>

</div>

# Beispiel einer Anlagestrategie - Long und Short - Technisches System mit Fundamentaler Pivotunterstützung

<div class="table-wrap" id="bkmrk-detail-beschreibung-"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 20.2543%;"></col><col style="width: 47.9776%;"></col><col style="width: 31.7674%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Detail: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Detail

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th><th aria-disabled="false" aria-label="Persönliche Optimierungspotentiale: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Persönliche Optimierungspotentiale

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Markt-Einstieg

</td><td class="confluenceTd">Wie erfolgt der Einstieg/Kauf von Positionen z.B.

- Ausschließliche Beschränkung auf Deutsche Indizes mit hohem Volumen und damit hoher Derivatauswahl. Im Kern MDAX, DAX, NeMax-Index. Das Modell kann aber leicht ausgedehnt werden auch auf umsatzstarke Aktien. Aktuell jedoch hier keine Anwendung.
- Fundamentale Grundeinordnung des Index-Primärtrends auf Basis einer Risikoabschätzung der Dimensionen: Politik, Wirtschaftszyklus, Weltwirtschaft. Dies bestimmt dann die primäre Ausrichtung des Einstiegs, d.h. Short oder Long und auch wesentliche Umkehrpunkte, wenn z.B. alle Fundamentaldaten auf einen Wendepunkt hindeuten
- Einstieg nur über Hebelprodukte, um verstärkt an Entwicklungen teilzunehmen, d.h. üblicherweise Endlos-Knockout-Papiere. Die Hebel werden ausgelegt auf Basis der Pivotpunkte im Basistitel
- Technisches Signal ist ausschlaggebend. Konkret des Arroon-Indikators mit den Settings. Die Parameter sind mit SHAREholder optimiert und in speziellen Handelssystemen systematisch optimiert: 
    - Long auf Basis Aroon: Up: 28,8, Down: 23,5, Kauf/Verkauf-Crossover-Verfallstage: 3d
    - Short auf Basis Aroon: Short: Up: 15 Down: 4
- Einstieg sowohl auf Long, als auch auf Short-Seite

</td><td class="confluenceTd">Wie können die bisherigen Entscheidungen optimiert werden?  
\- Idee: Trible-Screen-Modell: Wochenchart mit MACD, RSI auf Tagesebene, Intraday-Ausbrüche  
\- Sentimentdaten geordnet einsetzen  
\- bei 50% Verlust (aus OS-Sicht) könnte eine Gegenposition eröffnet werden, die die komplett andere Richtung einnimmt (Reparatur-Trade)

</td></tr><tr role="row"><td class="confluenceTd">Markt-Ausstieg

</td><td class="confluenceTd">Wie erfolgt der Ausstieg/Verkauf von Positionen z.B.

- Der Verkauf erfolgt ausschließlich über Stopp-Kurse: 
    - Initial-Risk-Stop: 
        - Long: 3% des Basistitels
        - Short: 1% des Basistitels bzw. 1 Tages-Schwankungsbreite
    - Trailing-Stop: 
        - Long: 16% des Basistitels
        - Short: 8% des Basistitels
    - Keine Zielkurse oder technische vormotivierte Ausstiege. Trailing-Stop ergänzt durch PSAR-System, d.h. Absicherung entsprechend PSAR bei kurzfristigen Trades

</td><td class="confluenceTd">Wie können die bisherigen Entscheidungen optimiert werden?

</td></tr><tr role="row"><td class="confluenceTd">Disziplin

</td><td class="confluenceTd">Wieviel Disziplin verlangt das Modell? Bei Modellen mit geringer Trefferwahrscheinlichkeit, aber hohen Einzelgewinnen bei Treffern erfordert es sehr viel Disziplin. Ebenso bei Modellen mit hohem Kapitalbedarf. Dies sollte vorher geprüft sein.

- Gewinnwahrscheinlichkeit nur bei 38%. Das Modell funktioniert daher nur mit Einhaltung des Money-Management und der Positionsbestimmung
- Sehr geringe Anzahl von Trades in diesem Modell, d.h. 
    - Short: 1176 Trades insg. über 17 Jahre, d.h. 70Trades/pro Jahr
    - Long: 171 Trades = 10 Trades/pro Jahr

</td><td class="confluenceTd">Lässt sich Disziplin und Erfolg voneinander unabhängiger machen?

</td></tr><tr role="row"><td class="confluenceTd">Balancing

</td><td class="confluenceTd">Praktisch aktuell kein Balancing, da ausschließlich Trading auf DAX-Index. Da der DAX selbst ja ein Aktienkorb darstellt, hohe Partizipation an der Gesamt-Marktentwicklung in Deutschland.

</td><td class="confluenceTd">Stimmt die Gewichtung des Depots in den Einzelpositionen im Sinne einer Risikominimierung und Gewinn-Optimierung? Lässt sich eine Gesamtperformance von z.B. 5% nicht auch mit niedrigerem Risiko erreichen?

</td></tr><tr role="row"><td class="confluenceTd">Aufwand

</td><td class="confluenceTd">Welcher finanzielle und zeitliche Aufwand steckt hinter diesem Modell z.B.

- Kursdatenversorgung 20€/Monat mit EOD-Daten
- Einmal tägliche Prüfung für 15min am Abend. Kein Eingreifen während des Handelstages. Kauf/Verkauf aber noch kurz vor Handelsende oder max. 20:00 Uhr über außerbörslichen Handel

</td><td class="confluenceTd">Gibt es kostengünstigere Alternativen bzw. können bestimmte Punkte automatisch überwacht werden?

</td></tr><tr role="row"><td class="confluenceTd">Zeitliche Ausrichtung

</td><td class="confluenceTd">Auf welchen zeitlichen Horizont ist die Strategie ausgelegt bzw. Einzelpositionen. Was ist die durchschnittliche Haltedauer einer Position

- z.B. Haltedauer theoretisch nicht beschränkt
- Durchschnittliche Haltedauer 200d (Long)

</td><td class="confluenceTd">Ist die Haltedauer wirklich optimal, oder wird zu kurzfristig und hektisch agiert oder ist eventl. sogar das Gegenteil der Fall, da das Modell zu langsam auf Marktsituationen reagiert und dadurch deutlich Rendite verschenkt?

</td></tr><tr role="row"><td class="confluenceTd">Performance

</td><td class="confluenceTd">- Zielperformance: 7%p.a. vom DAX x Hebel d.h. ca. 30% pro Jahr bei Investition von 10.000€
- Reale: Aktuelle Performance 2011: noch keine Ergebnisse
- Modell: Performance im Backtesting und in Modellrechnungen ab 1994: 886% Long (getestet in SHAREholder) bis 01.2010 nur mit dem Basistitel. Hebelwirkungen sind hierbei nicht berücksichtigt

</td><td class="confluenceTd">= Sind alle anderen Optimierungsmöglichkeiten ausgeschöpft

</td></tr><tr role="row"><td class="confluenceTd">Risiko

</td><td class="confluenceTd">- Einstieg nur mit max. 2% pro Trade vom Gesamtkapital
- Absicherung von Positionen entsprechend Stop-Kursen, sonst minimal Absicherung von 50% der Gewinne, 50% gehört dem Markt ;)

</td><td class="confluenceTd">Stimmt das eingegangene Risiko in der Praxis mit meinem Risikotyp überhaupt überein? Fühle ich mich wohl und sicher mit dem Modell.   
\- Optimal-f optimierte die Einsatzgröße einer Position

</td></tr></tbody></table>

</div>

# Aktienanalyse und Recherche

# Recherche-News-Browser

Hiermit wird der direkte Zugriff auf Webinhalte erlaubt. Als Aufrufparameter sind daher alle üblichen Aktienidentifikationen wie WKN, Name, ISIN und alle vorhanden Variablennamen erlaubt. Der Zugriff sollte somit in vielen Fällen direkt auf die einzelnen Wert des Infoanbieters möglich sein z.B. von Finanztreff, Comdirect, Consors, Wallstreet-Online usw.

[![image-1655705858028.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655705858028.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655705858028.png)

## Voraussetzung

Installation Microsoft Edge Browser und WebView2-Komponente

1. Es ist notwendig die sogenannte WebView2-Runtime zu installieren. Diese wird benötigt, um innerhalb von einer App den Browser nutzen zu können. Für die Installation ist es dabei ausreichend die Komponente einmalig zu installieren. Alternativ kann der MS-Edge-Chromium-Browser aus dem DEV-Channel installiert werden. Dies ist aber nur eine Fallback-Lösung!   
    [developer.microsoft.com/de-de/microsoft-edge/webview2/](https://developer.microsoft.com/de-de/microsoft-edge/webview2/ "https://developer.microsoft.com/de-de/microsoft-edge/webview2/")   
    [![image-1655705867195.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655705867195.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655705867195.png)
    
      
    
    1. Wenn die 32 Bit und die 64Bit Version von ShareHolder genutzt werden, müssen beide Clients d.h. die für 32Bit und die für 64Bit installiert werden! Nutzen Sie einfach die eigenständigen Installationsprogramme!
2. Sie müssen zusätzlich das Modul der "Windows-Systemdateien" einmalig aktualisieren über "Updates / Aktualisiere Module", da zugehörige Systembibliotheken als "Windowssystemdateien.MOD" für ShareHolder im Zugriff sein müssen. Hinweis: Konkret sollten folgende Dateien lokal vorliegen nach der Installation im Programmverzeichnis:  
    
    1. Im Programmverzeichnis die "WebView2Loader.dll"
    2. Im Programmunterverzeichnis "\\Win64" die "WebView2Loader\_x64.dll"
3. Vom Browser wird im Programmverzeichnis automatisch ein "Shareholder.exe.WebView2" Verzeichnis angelegt, was den Browser-Cache für die Applikation repräsentiert. Unter Umständen hat ShareHolder hierauf keine Schreibrechte. Probieren Sie es hier versuchsweise mit Administrationsrechten für ShareHolder zur weiteren Eingrenzung aus. Das Verzeichnis kann aktuell von ShareHolder noch nicht umkonfiguriert werden.

## Ansicht

Im Fenster werden unterhalb von Gruppenicons unterschiedliche Websites angezeigt. Diese werden auf Basis der Einstellungen in der Datei Internet.URLs.txt (Ordner Daten von Sharholder) dargestellt. Die Datei kann bequem editiert werden über einen Texteditor oder direkt aufgerufen werden über den Menüpunkt "Editieren". Die Einstellungen sind nach dem Speichern und erneutem Anzeigen der Onlinepannels aktiv.

Das Fenster kann entweder mit seperatem Fenster oder Innerhalb des Fensters dargestellt werden. Geändert wird die Einstellung durch das kleine Icon neben dem Titel.

Ausgehend von der kommenden Ursprungsliste z.B. einer Watchliste kann mit den Cursortasten &lt;Pfeil links&gt; und &lt;Pfeil rechts&gt; bequem zwischen den Einzeltiteln gewechselt werden. Mit &lt;ESC&gt; ist das Schließen des Fensters jederzeit möglich.

## Anpassung der gezeigten Adressen

Die Beschreibungsdatei (URL.TXT) ist ähnlich einer Windows INI Datei aufgebaut und enthält Segmentgruppen (z.B. News, Profile) die durch Schlüsselwörter eingeleitet werden. In diesen Segmentgruppen befinden sich die nach einem Schema organisierten Eintragungen.

Mögliche Segmentgruppen : \[News\], \[Charts\], \[Profile\], \[OS\], \[Quotes\]  
Schema: Name der Seite=URL

Innerhalb der URL sind mehrere Variablen erlaubt. Siehe hierzu in der Beispiel-Darstellung:

### Beispiel

Internet.Bookmarks.ini

```YAML
# Aufgabe : Direkter Zugriff "On Demand" auf Webcontent aus Shareholder heraus
# Zugriff : Die Datei wird komplett neu eingelesen bei jedem Aufruf des Startpanels, also
# nach dem Klick auf Profil mit der rechten Maustaste
#
# Mögliche Variablen:
# {ISIN} ISIN des aktuell ausgewählten Titels
# {WKN} WKN des aktuell ausgewählten Titels
# {SHORTNAME} Kurzname des aktuell ausgewählten Titels
# {VARNAME} Variablenname z.B. {Yahoo.Symbol.[isin]}
#
# Aufbau : Name der Seite=URL

[News]
Finanznachrichten=http://www.finanznachrichten.de//suche/suchergebnis.asp?words={ISIN}
Wallstreet:Online=http://www.wallstreet-online.de/suche/?suche=&q={ISIN}&sa=Suche
Ariva=http://www.ariva.de/search/search.m?searchname={ISIN}
Finanzen.net=https://www.finanzen.net/news/{finanzennetid}-News
Wikifolios=https://www.wikifolio.com/de/de/alle-wikifolios/suche#/?tags=aktde,akteur,aktusa,akthot,aktint,etf,fonds,anlagezert,hebel&media=true&private=true&ISIN={ISIN}

[Charts]
Consors=https://www.cortalconsors.de/euroWebDe/-?currentpage=msg.404&pattern={ISIN}&%24part=msg.404.security-search&%24%24%24event_search=search&%24%24event_search.x=33&%24%24event_search.y=9
Onvista=http://www.onvista.de/suche/?SELECTED_TOOL=ALL_TOOLS&SEARCH_TEXT=WKN%2C+ISIN%2C+Suchbegriff&SEARCH_VALUE={ISIN}&doSubmit=Suchen&doSubmit=Suche
Finanzen.NET=https://www.finanzen.net/aktien/{finanzennetid}-Aktie
JustETF=https://www.justetf.com/de/etf-profile.html?groupField=index&from=search&isin={ISIN}#chart
Ariva=https://www.ariva.de/{arivaSecuID[isin]}

```

Das Onlinepannel interpretiert die in der URL Konfigurationsdatei vorhandenen Parameter sowohl als POST als auch GET Variablen. Hiermit lassen sich somit nahezu alle Seiten direkt ansteuern, wenn die genutzten Variablen bekannt sind.

## Hinweise für die Einrichtung

Um neue Seiten einzubinden ist es ratsam zunächst die gewünschte Seite normal im Browser "anzusurfen". Hier können dann über das Kontextmenü die Eigenschaften der angezeigten Seite angezeigt werden. Hier finden Sie dann unter URL die komplette URL der angezeigten Seite. Der URL Text kann herauskopiert werden und an den passenden Stellen mit Platzhaltern ersetzt werden.

# Chartgallery

## Möglichkeiten

Sinn der Quickcharts ist in wenigen Sekunden eine Übersicht einer Beobachtungsliste zu bekommen. Insbesondere bei starker Verwendung der Candlesticktechnik erlaubt diese Chartssicht eine sehr gute Markteinschätzung. Die einzelnd dargestellten Charts können angepasst werden in der

- Matrixform (Größe)
- Anzahl der dargestellten Tage, sowie dem
- Reaktionsverhalten bei Click auf den Chart.

Neben den Quickcharts steht auch die Möglichkeit des direkten Vor-und Zurücksprungs zu anderen Werte der gleichen Ursprungsliste in einem Einzelchart zur Verfügung. Beispiel: Sie wählen ein Chart im Depot aus, so steht Ihnen in diesem Chart eine Vor-Rücksprung zu den anderen Wertes des Deports zur Verfügung. Der Einzelchart muss nicht geschlossen werden, um den anderen zu öffnen. Benutzen Sie hier einfach die &lt;Cursor Links&gt; und &lt;Cursor rechts&gt; Tasten. Im Chart gibt ist alternativ dazu links oben zugehörige Links/Rechts-Pfeil-Buttons (SpinUp-Buttons).

## Anzeige

[![image-1655728971452.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655728971452.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655728971452.png)

Es finden sich mit grauer Schrift dargestellt in jedem Chartfenster Vergleichswerte

- Startzeitpunkt: Zum ersten angezeigten Kurstag, d.h. dem vorgegebenen Stichtag (siehe obere Toolbar für die Einstellung)
- Tiefst-Punkt: Im Vergleich zum absoluten Tiefst-Punkt innerhalb des gesamten gezeigten Chart-Zeitraums
- Höchstpunkt: Im Vergleich zum absoluten Höchstpunkt innerhalb des gesamten gezeigten Chart-Zeitraums

Die Charts sind nicht zoombar oder verschiebbar in den Achsen. Klicken Sie hierzu einfach auf den Chart bzw. öffne das zugehörige Kontextmenü (rechte Maustaste) um das vollständige Chartfenster zu erhalten. Hier können Sie dann auch entsprechende Funktionen ausführen.

# Candlestick-Formations-und Pattern-Erkennung

## Grundlagen

Das Funktionsmodul zur automatischen Erkennung von Candlestick-Formationen erlaubt es automatisiert in Kurslisten nach Formationen zu suchen. Erkannt werden alle 54 Formationen, die auch im Grundlagenbereich beschrieben sind. Die Pattern basieren auf Analysen von Steve Nison im Buch "Technische Analyse mit Candlesticks".

Die Einstellungen für die Candlestick-Erkennung werden gemeinsam mit den allgemeinen Indikatoreinstellungen organisiert über Indikatoren-Gruppen verwaltet. In der Praxis bedeutet dies, dass Einstellungen im Candlestick-Scanner ebenfalls im Chart übernommen werden, da beide Systeme auf dem selben Einstellungsobjekt basieren.

Die Performance des Candlestick-Scanners erlaubt das Durchsuchen von ca. 200 Werten nach Candlestick-Patterns innerhalb von knapp 10 Sekunden (je nach Rechnerausstattung). Dabei werden alle Patterns mit Vorschaubildern angezeigt, so dass die Interpretation und Nutzung der Candlestick-Patterns deutlich erleichtert ist.

[![image-1655729002507.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729002507.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729002507.png)

## Besondere Kennzeichnungen von Patterns

- \[EV\] steht für Exklusives Volumenpattern, d.h. das Pattern wird nur gefunden, wenn spezifische Anforderungen an das Volumen erfüllt werden. Die Voraussetzungen sind spezifisch pro Pattern und in den meisten Fällen nach statistische Prüfungen festgelegt worden.
- \[V\] Neben dem normalen Pattern wird dieses Pattern gesondert aufgeführt, wenn definierte Nebenbedingungen im aufgetretenen Volumenumfeld auftreten.

## Einstellungen

[![image-1655729008926.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729008926.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729008926.png)

<div class="table-wrap" id="bkmrk-konfiguration-hinwei"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 19.7628%;"></col><col style="width: 80.2365%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfiguration: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfiguration</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">1.Validierung in Tagen

</td><td class="confluenceTd" colspan="1">Zur Prüfung der Performance können zwei Validierungs-Zeiträume eingegeben werden d.h. es wird nach X z.B. 3 und 7 Tagen geprüft, ob die Performance tatsächlich &lt; oder &gt; dem Ausgangsdatum liegt. Die Validierungsergebnisse werden in der Ergebnisliste einzeln aufgeführt in eigenen Spalten.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">2.Validierung in Tagen</td><td class="confluenceTd" colspan="1">analog der 1. Validierung für einen zweiten Zeitraum</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Suchzeitraum</td><td class="confluenceTd" colspan="1">Anzahl der Tage, die für die angegebenen Such-Raum (Segmente) für die Pattern-Suche genutzt werden können. Es werden dabei die letzten X Handelstage in der Kurshistorie verwendet und nicht Kalendertage.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Pattern-Signalstärke-Filter</td><td class="confluenceTd" colspan="1">Alle Patterns habe eine hinterlegte Signalstärke d.h. Wahrscheinlichkeit für einen Treffer. Hiermit kann dies zur Vorfilterung genutzt werden.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Leere Formationen anzeigen</td><td class="confluenceTd" colspan="1">Es werden knapp Formationen gesucht. In der Ergebnisliste wird eine Formation aber nur aufgeführt, wenn im angegebenen Suchzeitraum mind. 1 Wert gefunden wurde.</td></tr><tr role="row"><th class="confluenceTh" colspan="1">Aktionen</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd">Ergebnisliste aktualisieren</td><td class="confluenceTd">Aktualisierung der Pattern-Suche insb. wenn zuvor eine Kursaktualisierung durchgeführt worden ist oder Parameter-Einstellungen verändert worden sind.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Export nach Excel</td><td class="confluenceTd" colspan="1">Eine dargestellte Auswertungsliste wird als CSV Datei exportiert und geöffnet. Im Normalfall öffnet sich hier Excel. In Excel können hier Sortierungen, Auswertungen und Prüfungen vorgenommen werden. Beim Export werden sowohl das Datum, Programmversion neben den eigentlichen Pattern, Treffer, Gesamt, Quote gelistet.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kursaktualisierung</td><td class="confluenceTd" colspan="1">Für die Formationserkennung ist ist zwingend notwendig, dass die Kursdaten aktualisiert vorliegen sowohl im historischen Bereich, als auch im Intradaybereich (Tagesdaten), da einige Formationen Bestätigungskerzen erwarten. Um den Vorgang zu erleichtern ist eine entsprechende automatische Aktualisierung aller Werte aus der aktuell ausgewählten Watchliste integriert. Nach der Aktualisierung wird automatisch die Formationssuche erneut ausgeführt</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Zeige Chart zur Auswahl</td><td class="confluenceTd" colspan="1">Da Candlestickformationen charttechnischen Ursprungs sind und nur selten unter mathematischen Modellen eingeordnet werden, können die Charts zu gefundene Aktien mit einem Doppelklick auf einen Wert oder durch Auswahl eines Elements und dem Betätigen des Buttons "Chart" angezeigt werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Candlestick-Einstellungen</td><td class="confluenceTd" colspan="1">Einstellung: Candlesticks

[![image-1655729014549.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729014549.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729014549.png)

  
  
Hier werden alle Rahmenparameter für die Candlestickformationserkennung eingestellt: Wichtig ist hierbei zu verstehen, dass die Candlesticks in einem Trend eingeordnet werden müssen. Dies erfolgt über den DSmSt - Indikator, der eigentlich zu den Momentum/Oszillatoren gehört, hier aber dennoch effektiv eingesetzt werden kann. Die Parameter: Signalstärkefilter, Prüfungszeitraum können gleichzeitig auch direkt über die Hauptmaske eingestellt werden. Die Einstellungen werden intern beide gleichberechtigt am Indikator gespeichert.

</td></tr></tbody></table>

</div>## Auswertung

[![image-1655729019516.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729019516.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729019516.png)

Im Ergebnis nach der Suche werden alle Formationen gezeigt und aufklappbar über ![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) die gefundenen Werte entsprechend dem eingestellten Suchzeitraum!

<div class="table-wrap" id="bkmrk-spalten-%C3%9Cberschrift-"><table class="wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="width: 100%;"><colgroup><col style="width: 14.2107%;"></col><col style="width: 85.7886%;"></col></colgroup><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Spalten-Überschrift: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Spalten-Überschrift</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Treffer</td><td class="confluenceTd">Für die eingestellten Tage der 1./2.Validierung werden hier die Gesamtanzahl der Treffer im Verhältnis zur Gesamtanzahl der gefundenen Formationen für das aktuellen Pattern gezeigt. Als Treffer gilt alles, was nach dem Einstiegszeitpunkt +Tage(Close) &gt; Einstiegszeitpunkt(Close).

</td></tr><tr role="row"><td class="confluenceTd">Statistik (3d), Statistik (7d)</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Anzahl</td><td class="confluenceTd" colspan="1">Unter Anzahl wird die Menge der gefundenen Werte für das aktuelle Pattern beschrieben.</td></tr></tbody></table>

</div>- In der Spalte "Aktien" der gefundene Wert, mit einer im Klammern angegebenen DSmS-Wert zum Zeitpunkt der Fundstelle. DSmSt steht für den Indikator: Double Smooth Stochastik und wird intern für die Candlestickformationserkennung zur Einordnung von Trends genutzt, die für beinahe alle Formationen von sehr großer Bedeutung ist.

Weitere Funktionen innerhalb der Ergebnisliste

- Übernahme von Fundwerten in Watchlisten: Über das Kontextmenü der gefundenen Werte lassen sich diese sofort in eine Watchliste einordnen.
- Chart: Mit einem Doppelklick auf einen Wert wird das Chartmodul geöffnet. Sind auf Basis der bisherigen Charteinstellungen (sofern vorhanden) für diesen Wert die Candlestick-Formationen bisher nicht eingeblendet, werden diese hiermit automatisch aktiviert. Das Pattern wird im Chart sowohl räumlich, als auch zeitlich korrekt eingeordnet. Eine Sichtprüfung des technischen Umfeldes ist so möglich. Im Chart selbst findet sich zu jedem Pattern, die Bezeichnung, als auch der zugehörige Double Smooth Stochastik Wert für den Trendzustand. Der Wertebereich liegt hier zwischen 0..100. Große Werte stehen für einen überkauften Bereich, kleine Werte für überverkaufte. Existieren mehrere gefundene Patterns für einen Tag, so werden diese aggregiert dargestellt. Als Besonderheit gibt es Fortsetzungsmuster bzw. besonders interessante Bewegungen (hohe Prozententwicklung im Vergleich zur Durchschnitts-bewegung des Titels) die grau mit transparentem Hintergrund eingeblendet werden. Insb. die hohen Prozententwicklungen innerhalb eines Tages sind lukrativ für Trades. Diese technisch zu erkennen und im richtigen Moment die richtigen Nerven versteckt zu haben, ist sehr schwierig. Um diese dennoch aktiver beobachten zu können und sich im historischen Chart darin zu üben, werden diese Tage markiert.

# Marktanalyse

## Ziel

Das Analysetool erlaubt den Aufbau von visuellen Entscheidungsbäumen für eine Markteinschätzung. Es wird dabei bewusst vermieden eine Kauf/Verkaufsentscheidung dabei zu realisieren, sondern vielmehr die Möglichkeit der visuellen Markteinschätzung auf verschiedenen Zeitebenen, mit unterschiedlichen Gewichtungen und Beschriftungen zu unterstützen. Es werden dabei mehrere aufbaubare Modelle unterstützt, die parallel existieren können.

Es ist nicht das Ziel eine Kauf/Verkaufsentscheidung auf Basis einer "Formel" zu berechnen, sondern strukturiert wesentliche Markt-Einflussfaktoren für sich persönlich aufzuarbeiten und sich selbst ein Marktbild unabhängig von anderen zu bilden. Die Art der Zusammensetzung und die Herleitung ist völlig frei in Benutzerhand und folgt immer einer Baum-Struktur. Die Größenverhältnisse &amp; Anordnung ist dabei frei bestimmbar. Jedes Kriterium kann dabei die Status "Positiv", "Negativ" und "Neutral" einnehmen. Die Begründungen für eine Markteinschätzung, können dabei unter Beschreibung erfasst werden.

![(Glühbirne)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/lightbulb_on.png) Die Idee hierzu ist mir gekommen nach dem Start eines persönlichen Trading-Tagesbuchs, womit ich systematisch relevante Themen aufgearbeitet habe. Bislang fehlte mir hierzu jedoch das Tooling, um hierbei visuelle Strukturen zu nutzen. Es stellte sich so aber sehr schnell heraus, dass ein reiner Indikatoren-Ansatz für mich alleine nicht ausreichend war. Vielleicht kann ich Ihnen mit diesem Werkzeug ebenfalls helfen.

## Grundstruktur

Von mir vorgeschlagene Grundstruktur (wie auf der Abbildung zu sehen):

- Bestimmende Faktoren und Status für den Primärtrend (6M),
- Sekundärtrend (1M) und
- Tagesanalyse (1d)

bilden die Grundstruktur. Unterhalb dieser Hauptebenen erfolgt eine weitere Unterscheidung von kursbestimmenden Faktoren.

Jedes kursbildende Merkmal kann mit eigener Beschriftung, Einschätzung (positiv, negativ, neutral) und Größenverhältnis gesetzt werden. Um ein Element zu ändern, muss es mit der Maus (einfacher Mausklick) selektiert werden. Es wird hierbei mit einer rot gestrichelten Linie markiert und kann dann editiert werden über die Toolbar (Beschreibung, Bedeutung, Einschätzung). Der Beschreibungstext kann hierbei mehrzeilig sein und entsprechend mit dem "Pfeil" aufgeklappt werden. Es erscheint ein entsprechendes Mehrzeilen-Eingabefeld (Memo). Die Einstellungen hierfür werden über die Toolbar gesetzt und müssen mit "Übernehmen" abgeschlossen werden. Es kann dabei festgelegt werden, ob in diesem Moment gleichzeitig das Model gespeichert werden soll über die zugehörige Checkbox "Auto Speichern".

[![image-1655729116514.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729116514.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729116514.png)

Das hier gezeigte Beispiel verwendet Zeitebenen "Primärtrend" / "Sekundärtrend" etc. Dies muss nicht so sein und ist nur ein möglicher Ansatzpunkt. Sie können hierbei eigene Strukturen und Herleitungen nutzen. Knoten können hierzu gelöscht, als Kind-Knoten (unterhalb des aktuell gewählten) oder als Bruder-Knoten (neben dem aktuell ausgewählten) erzeugt werden.

Die Marktanalyse-Karte verwendet aufgrund des Levels eine automatische Farbgebung beginnend von hellblau zu weiß. Die Farbgebung wird dabei justiert zwischen 1 Level und niedrigsten Knoten-Level. Wird somit beispielsweise unterhalb von MACD ein weiterer Knoten erstellt, verschiebt sich die Farbskala. Jeder Knoten (auch die übergeordneten) können hierbei eine individuelle Status-Farbe ("Einschätzung") haben. Negativ wird damit als Orange, Positiv mit Grün belegt. Eine "Neutrale" Einschätzung führt zu der Verwendung des normalen Farbwertes innerhalb des Levels des Knoten d.h. damit ein hellblau...weiß Farb(verlaufs)wertes.

Die "Landkarte" ist zum aktuellen Zeitpunkt bewusst vollständig manuell und soll die eigene "Tagesanalyse" und "Markteinschätzung" strukturieren und unterstützen.

### Long-Wahrscheinlichkeits-Berechnung

Es gibt für alle Einträge bis Level 3 eine Wahrscheinlichkeitsberechnung in \[ ... %\] Darstellung vor den Beschreibungstexten. Hierbei werden die Bedeutungswerte im Verhältnis zu der Summe der Einträge auf gleicher Ebene gezogen. Hierbei werden "neutrale" Einträge in der Betrachtung ignoriert. Positive entsprechend führen zu einem positiven Beitrag und negative bleiben unberücksichtigt für die Long - Wahrscheinlichkeitsberechnung.

Beim Trivialfall von 2 Einträgen, bei dem

- 1 Positiv und 1 negativ bewertet wird ergibt dies damit 50% LONG
- 1 Positiv und 1 neutral bewertet ergibt damit 100% LONG, da neutrale Einträge ignoriert werden

<div id="bkmrk-die-berechnung-erfol">Die Berechnung erfolgt nach unten selbstverständlich vollständig und rekursiv. Nur die Anzeige der %-Werte ist begrenzt aus optischen Gründen unter den gegebenen Zielstellungen.</div>## Besonderheiten

- Es können über die Speichern/Laden Funktion unterschiedliche Modelle aufgebaut werden. Im Standard wird jedoch immer aus dem Datenverzeichnis die "Marktanalyse.TEE" Datei gezogen. Dies ist damit das Standardmodell, was bei Systemstart geladen wird. Werden Änderungen vorgenommen, so wird diese Datei entsprechend gespeichert.

# Chart-Parameter-Optimierung mit genetischen Algorithmen

## Ziel

Die Genetische Algorithmen sollen als heuristische Optimierungsverfahren und evolutionäre Algorithmen die triviale und einfache lineare Suche nach globalen Optimums für Einstellungen im Money-Management und Indikatorenwerten erleichert und teilweise überhaupt erst möglich machen.

## Quick-Guide

(1) Chart aufrufen und einen Indikator auswählen

(2) Indikatorsignalgebung einstellungen und für den Hauptchart übernehmen

(3) Handelssystem für den aktuellen Indikator aufrufen

(4) Ergebnisse des Handelssystems prüfen und über die genetischen Algorithmen schrittweise optimieren

[![image-1655729165362.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729165362.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729165362.png)

## Hintergrundwissen

Wie kann man sich das Prinzip vorstellen bzw. welche Schritte werden im GA umgesetzt:

1. Initialisierung: Erzeugen einer ausreichend großen Menge unterschiedlicher „Individuen" (Lösungskandidaten). Diese bilden die erste Generation. Die Menge wird durch die Festlegung der Populationsgröße (siehe Einstellung) bestimmt.
2. Evaluation: Für jeden Lösungskandidaten der aktuellen Generation wird anhand einer Zielfunktion (auch Fitness-Funktion genannt) ein Wert bestimmt, der seine Güte angibt. Die Fitnessfunktion ist die Performance des Handelssystems unter den gegebenen aktuellen Genomen und damit aktuellen numerischen Parameterwerten.
3. Selektion: Zufällige Auswahl von Lösungskandidaten aus der aktuellen Generation. Dabei werden Lösungskandidaten mit besseren Zielfunktionswerten mit einer höheren Wahrscheinlichkeit ausgewählt.
4. Rekombination: die Daten (Genome) der ausgewählten Individuen werden gemischt und daraus neue Individuen erzeugt (Vermehrung). Durch Crossover-Möglichkeiten erfolgen dabei auch Rekombinationen auch mit Individuen außerhalb der eigenen Population
5. Mutation: Zufällige Veränderung der neuen Individuen. Hierzu dient sowohl die Einstellung für die Mutationswahrscheinlichkeit.
6. Aus den neuen Individuen und aus den Individuen der aktuellen Generation werden die Mitglieder der neuen Generation ausgewählt und mit Schritt 2 fortgefahren bis die maximale Anzahl von Generationen (siehe Einstellung) erreicht ist.

Die Grundidee genetischer Algorithmen ist, ähnlich der biologischen Evolution, eine Menge (Population) von Lösungskandidaten (Individuen) zufällig zu erzeugen und diejenigen auszuwählen, die einem bestimmten Gütekriterium am besten entsprechen (Auslese). Deren Eigenschaften (Parameterwerte) werden dann leicht verändert (Mutation) und miteinander kombiniert (Rekombination), um eine neue Population von Lösungskandidaten (eine neue Generation) zu erzeugen. Auf diese wird wiederum die Auslese und Rekombination angewandt. Das wird viele Male wiederholt.

## Arbeitsschritte

### Konfiguration

[![image-1655729183784.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729183784.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729183784.png)

Wenn Sie wollen starten Sie einfach mit "Starten", da die Standardeinstellungen in vielen Fällen sehr gut funktionieren.

<div class="table-wrap" id="bkmrk-titel-beschreibung-p"><table class="wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Titel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Titel

</th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Beschreibung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Population

</td><td class="confluenceTd">Anzahl von Individuen pro Population

</td></tr><tr role="row"><td class="confluenceTd">Generation

</td><td class="confluenceTd">Anzahl von Generationen zur Findung eines Optimums

</td></tr><tr role="row"><td class="confluenceTd">Chromosom-Mutation

</td><td class="confluenceTd">Modifikationsparameter bei Mutation eines Genoms

</td></tr><tr role="row"><td class="confluenceTd">Crossover-Wahrscheinlichkeit

</td><td class="confluenceTd">Wahrscheinlichkeit zur Durchführung von Crossover -Mutationen, d.h. zwei Chromosome tauschen Ihre Positionen an verschiedenen Genen, womit zwei neue Chromosomen erzeugt werden.  
  
 Crossover Punkte zwischen 1 und 4:  
 1 **234** 567890 --&gt; 1 **999** 567890  
 8 **999** 888888 --&gt; 8 **234** 888888  
  
 Crossover Punkte zwischen 9 und 10):  
 12345678**9 0** --&gt; 12345678**9 0**  
 88888888**8 9** --&gt; 88888888**8 9**  
  
Alles zwischen den zwei Punkten wird in den Eltern-Chromosomen geswapped und es werden so zwei neue Kinder erzeugt. Das Verfahren wird daher auch als Two-Point-Crossover benannt.

[![image-1655729189322.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729189322.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729189322.png)

</td></tr><tr role="row"><td class="confluenceTd">Zufällige Selektion in %

</td><td class="confluenceTd">Elementar ist ein Selektionsmechanismus in der Evolution der Individuen. Diese orientiert sich grundsätzlich an der Fitness dieser. Mit der zufälligen Selektions-Wahrscheinlichkeit werden Individuen in die nächste Generation übernommen unabhängig von Ihrer "Performance" bzw. Fitness. Es soll so ein ausreichend breiter Individien-Stand gesichert werden.

</td></tr><tr role="row"><td class="confluenceTd">Optimale Indikatorenoptimierungen speichern

</td><td class="confluenceTd">Nur mit aktivierter Checkbox, werden die gefundenen optimierte Parameter nach abgeschlossener Berechnung gespeichert in den Indikatoren-Parameter-Einstellungen. Verwendet wird aktuell die zugrundeliegende Indikatoren-Gruppe, die auch im Chart eingestellt war.

</td></tr><tr role="row"><td class="confluenceTd">Optimale Handelssystem-Einstellungen speichern

</td><td class="confluenceTd">Nur mit aktivierter Checkbox, werden die gefundenen optimierte Parameter nach abgeschlossener Berechnung gespeichert in den aktuellen Handelssystem-Einstellungen.

</td></tr><tr role="row"><td class="confluenceTd">Anlageform

</td><td class="confluenceTd">Long=Optimierung für steigende Kurse  
Short=Optimierung auf fallende Kurse

</td></tr></tbody></table>

</div>### Auswertungstabelle

[![image-1655729226240.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729226240.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729226240.png)

Die Tabelle zeigt fortlaufend die "Elite" der Individien an, die eine neue optimale Performance aufzuweisen haben.

<div class="table-wrap" id="bkmrk-titel-bedeutung-tite"><table class="wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Titel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Titel

</th><th aria-disabled="false" aria-label="Bedeutung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Bedeutung

</th></tr></thead><thead class="tableFloatingHeader"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Titel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Titel

</th><th aria-disabled="false" aria-label="Bedeutung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Bedeutung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Generation

</td><td class="confluenceTd">X. Generation in der Evolution. Praktisch gleichzusetzen mit dem Anzahl der Durchläufe. Gestartet wird bei 0.

</td></tr><tr role="row"><td class="confluenceTd">Gen/Population

</td><td class="confluenceTd">X. Population innerhalb einer Generation. Gestartet wird bei 0.

</td></tr><tr role="row"><td class="confluenceTd">Fitness

</td><td class="confluenceTd">Aktuelle Performance es Handelssystems mit den nachfolgenden Einstellungen / Spaltenwerten

</td></tr><tr role="row"><td class="confluenceTd">MaxKapRisk

</td><td class="confluenceTd">Money-Management: Maximale Kapital Risiko pro Trade

</td></tr><tr role="row"><td class="confluenceTd">InitStopp

</td><td class="confluenceTd">Money-Management:Initialer Risk-Stopp, d.h. Abstand zwischen Stopp-Kurse und Einstiegskurs

</td></tr><tr role="row"><td class="confluenceTd">TrailingStopp

</td><td class="confluenceTd">Money-Management:Trailing-Stopp

</td></tr><tr role="row"><td class="confluenceTd">Up-Tage

</td><td class="confluenceTd">Indikator: 1. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator.

</td></tr><tr role="row"><td class="confluenceTd">Down-Tage

</td><td class="confluenceTd">Indikator: 2. Parameterwert. Praktisch damit nur ein Beispiel und unterscheidet sich je nach verwendeten Indikator.

</td></tr></tbody></table>

</div>### Fortschritts-Charts

[![image-1655729230959.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729230959.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729230959.png)

- Durchschnittliche Fitness pro Generation: Durchschnittswerte aller Individuen in einer Generation. Der Wert läuft im Normalfall den "Eliten" hinterher, da der Durchschnittswert und nicht das Maximum in einer Generation herangezogen wird. Die Fitness ist natürlich gleichzusetzen mit der Performance des Handelssystems.
- Durchschnittliche Konvergenz pro Generation: Wie stark unterscheiden sich die Individuen pro Generation. Durch initiale zufällige Befüllungen und einer schrittweisen Optimierung zeigt die Kurve oft eine konkave Kurve.

# Kursprognosen auf verschiedene Zeiteinheiten

Historisch bedingt war die bisherige Modellierung in ShareHolder für Neuronale Netze optimiert. Daher werden sogenannte Trainings-Eingabe-Werte definiert die sich auf Basis von technischen Indikatoren definieren. Im Modell-Training wird dann ein selbstlernendes Training umsetzt, um die Nutzung, Parametrisierung und Optimierung in der Verwendung automatisch zu bestimmen. Technisch wird dabei auf Basis vom H2o-Framework gearbeitet und intern in den optimierten Modellen mittels Distributed-Random-Forest und Gradient-Boost-Machine-Algorithmen verwendet. Diese sind den Neuronalen Netzen/ Deep-Learning-Netzen in diesem Anwendungsfall deutlich überlegen. (Hinweis: Mit dem Kursprognose-AddOn können aber auch diese aufgebaut, trainiert und genutzt werden).

Die Indikatoren werden hierbei in der vollen Breite der Möglichkeiten genutzt (Indikatorwert, Zonenwert, Signale, Divergenzen). Im aktuell optimierten Modell werden damit mehr als 120 Eingabedaten automatisch erstellt und für das Training bzw. für die Kursvorhersage verwendet.

Zielsetzung ist es, auf die bisherige Softwareumgebung abgestimmt, eine Vorhersage für die prozentuale Kursveränderung auf einen vorher eingestellten Zeitraum zu bieten. Eingebettet in das Programm geht die Prognose daher in einem sogenannten „Trading -Studio" auf.

Die Zielsetzung ist damit auf eine quantitative Aussage des Neuronalen Prognose-Netzes abgestimmt. Hiermit wird dann der Vergleich der Prognosen sehr differenziert möglich. Als Kontrastalternative steht hier vor allem die binäre Prognose mit den möglichen Aussagevarianten „steigt", „fällt" oder „keine Veränderung". Dies erlaubt aber nur eine sehr vage Aussage über die Sicherheit der Prognose, da es lediglich drei Abstufungen gibt. Für den Aktienhandel ist diese Form daher eher ungeeignet. Hierbei ergibt sich, wie sich später noch zeigen wird, bei binären Target-Werten eine Einschränkung des Informationsgehaltes. Die Qualität lässt zudem im Rahmen der Fehlerrückrechnung (Backpropagation- Lernalgorithmus) nach. Auch ein signifikanter Trend in den zu berücksichtigenden Zeitreihen kann Probleme machen, da evtl. das Netz bei den steigt/fällt Aussagen allein die Bewegungsrichtung der Zeitreihen nachbildet. Folglich wird ein Punkt- oder Differenzwert bevorzugt. Auf die Ausgabe von Handelssignalen (steigt/fällt) wird verzichtet.

## Datenaufbereitung 

Die Datenaufbereitung ist eines der Themen, denen sehr viel Aufmerksamkeit gewidmet werden sollte. Sie werden mit mangelhaften Kursdaten auch nur mangelhafte oder gar nicht funktionierende System erstellen können.

Um das Netz trainieren zu können, müssen die Daten massiert, sowie die Datenbasis festgelegt werden. Gleichzeitig wird die Gesamtdatenmenge in Trainingsdaten und in eine Validierungsmenge aufgeteilt. Nachfolgend sehen die Datenselektion auf Basis der verfügbaren Markt-Bereiche. Sollten Sie nur den Kursprognose-Service nutzen wollen, werden Sie diese Maske niemals nutzen.

## Training der Modelle

Das Training und die Validierung der Modelle erfolgt über das H2o-Framework, was durch das Kursprognose-AddOn automatisch installiert, gestartet und genutzt wird. Beim Training werden in der Börsensoftware spezielle Algorithmen fokussiert unterstützt, da diese sich in diesem Kontext als deutlich überlegen herausgestellt haben (DRF, GBM). Details hierzu werden bei Registrierung zur Verfügung gestellt.

## Anwendung und Nutzung der Kursprognosen

Praktisch gilt hier alles unter [Kursprognose-Service](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/kursprognose-service) beschriebene. Nachfolgend als Beispiel eine Kursprognose mit einem gezeichneten Chartbild. Im Hintergrund sehen Sie eine Watchliste die 4 verschiedene Kursprognose-Modelle (definierbar) direkt in einer Beobachtungsliste mit farblichen Markierungen gezeigt. Dabei "altert" die farbliche Markierung automatisch, wenn die Kursprognosen weiter zurückliegt.

[![image-1655729280993.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729280993.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729280993.png)

  
Über die Toolbar steht für jeden Titel über das Kontextmenü und dem Aufruf "Kursprognose" in der Profiversion die Funktion "Prognose" zur Verfügung. Es muss hier dann lediglich das Neuronale Netz ausgewählt werden und die Berechnung mit Starten begonnen werden. Die Berechnung erfolgt im Hintergrund über Threads und das Ergebnis wird bei Fertigstellung wie hier zu sehen gezeigt.

### Kursprognoseberechnung für Watchlisten

[![image-1655729285951.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729285951.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729285951.png)

  
Dargestellt unter dem Reiter "Watchlisten" sind neben der Watchlisten-Funktion auch die Abfrage der Prognosewerte  
des NN möglich inkl. einer übersichtlichen Auswertung der zugrundeliegenden Datenreihen. Sie sind somit gezwungen bereits eine Vorauswahl der tradebaren interessanten Werte vorzunehmen auf Basis von Watchlisten, um dann für diese eine Prognose erstellen zu können.

Als Basisinformationen sind neben der Stopp-Spalte hierzu der Prognosewert und eine Auswertungsspalte inkl. der Prognose für heute enthalten.

### Details zur Auswertungsstrategien/Optimierungen

Sie bekommen somit eine Möglichkeit übersichtlich und schnell die Prognosewerte darzustellen und mit einem Blick statistisch in Ihrer Prognosequalität einzuordnen. Der einfache Vergleich zwischen heutiger Tagesentwicklung und der vorhergesagten (fokussiert nun auf die letzte Qualitätsbeurteilung) hilft eigentlich nicht weiter. Aus diesem Grunde stehen zum einen die Korrelationsanalyse für die Bewertung der Qualität in der Prognoserichtung und -höhe, als auch die Bewertung der Wegstrecke für die Einordnung der gesamten Vorhersagequalität der Kursrichtung zur Verfügung.

Informationseinheiten der Prognoseauswertung:

[![image-1656157390835.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157390835.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157390835.png)

<span class="confluence-embedded-file-wrapper">  
</span>  
Als Informationsblock finden sich hier im Uhrzeigersinn (links oben beginnend):

- R: Korrelation zwischen den bisherigen Prognosen und den tatsächlichen Kursverläufen (0,55)
- WS: Wegstrecke (0,13)
- P: Vorhergesagte Entwicklung für den heutigen Tag (-0,4%)
- DS: Anzahl der für das Netz zur Verfügung stehende Datensätze des Titels (=Kurswerte) (6002)

# Performance-Analysen für Listen und Märkte

Um die Kursentwicklung in verschiedenen Zeitfenstern zu ermöglichen und dies für Sortierungen unmittelbar nutzbar zu machen, gibt es die Möglichkeit eigene Spalten einzublenden für verschiedene Zeiteinheiten. Die Spalten werden dabei wie gewohnt über das Kontextmenü "Spalten ..." oder über rechten Mausklick über die Spalten-Köpfe aufgerufen. Die Spalten sind dabei auf/absteigend sortierbar. Durch Klick auf den Spaltenkopf wird jeweils die andere Sortier-Richtung eingestellt.

Die Funktion steht in ALLEN relevanten Listen (Depot, Detail-Listen, Watchlisten) zur Verfügung. Wie gewohnt werden Veränderungen an den Spalten (Auswahl, Breite, Reihenfolge) auch die Performance-Spalten dauerhaft gespeichert und beim nächsten Programmstart wiederhergestellt.

[![image-1655729362050.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729362050.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729362050.png)

## Performancevergleich auf verschiedenen Zeitebenen

Als Zeiteinheiten stehen dabei W(ochen), M(onat) und J(ahr) zur Verfügung. Der Vergleich erfolgt dabei auf kalendarischer Ebene d.h. es wird keine Umrechnung in Handelstage vorgenommen, sondern z.B. unmittelbar 1 bis 6 Monate abgezogen und der nächstliegende Kurs-Datum verwendet und mit dem letzten Kursstempel verglichen.

Bei der Darstellung werden 5 verschiedene Farbcodes für steigende oder fallende Kursdaten verwendet.

# Watchlisten bzw. Beobachtungslisten

## Hintergründe

Watchlisten dienen der einfachen Überwachung von vorselektierten Werten. Watchlisten können als Ausgangslisten für Auswertungen von Filter, Candlestick-Formationserkennungen oder andere Auswertungen herangezogen werden. Sinn macht hier vor allem der fundamentale Vergleich innerhalb der Kursliste. Somit ist die Gesamtvorauswahl von interessanten Titeln z.B. aufgrund von Charttechnik, Analystenschätzungen, Änderungen der Marktsituation möglich. Der Vergleich der Gesamtliste einer Watchliste macht dann die konkrete Kaufentscheidung leichter z.B. direkt auf Basis von Relativer Stärke, KGV, Gewinnentwicklung der letzten Jahre (PEG).

## Watchlisten-Einträge und Titel hinzufügen und entfernen

Um die angezeigten Watchlisten zu ändern (nicht die enthaltenen Werte, sondern die verfügbaren Listen selbst) gehen Sie unter Hauptmenü / Einstellungen / Watchlisten.

[![image-1655729392682.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729392682.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729392682.png)

Die Zuordnung von Einzeltiteln ist über folgende Möglichkeiten gegeben:

- Kursliste . Titel markieren . Kontextmenü . Watchliste . Hinzufügen:  
    [![image-1655729396888.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729396888.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729396888.png)
- Candlestick-Charts . Suche . Titel markieren . Kontextmenü . Watchliste auswählen
- Automatisch gesetzt über Filter- Ergebnislisten (nach Rückfrage)
- Automatisch gesetzt über Handelsstrategien
- Automatisch gesetzt über den Import von Börse . Online . Statistiken (Positive, Negative Gewinnschätzungs-Änderungsliste)
- Markieren der gewünschten Titel in der Basisliste z.B. Depot, Watchliste, Detail-Liste, Filter-List . Auswahl der Watchliste in der Ribbon-Bar . Abschließen mit Enter:  
    [![image-1655729401326.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729401326.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729401326.png)

Das Entfernen einer Zuordnung von Einzeltiteln ist dagegen über folgende Schritte möglich:

- Hauptmenü . Einstellungen . Watchlisten . Titel markieren . Button Löschen
- Kursliste . Titel markieren . Kontextmenü . Watchliste . Entfernen
- Watchliste . Titel markieren . Aus der Liste entfernen  
    [![image-1655729405449.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729405449.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729405449.png)

### Watchlisten importieren und exportieren

Um nicht jeden Titel einzeln anlegen zu müssen, können Watchlisten importieren werden aus einer CSV-Datei. Hierzu wird im Konfigurationsdialog der Watchlisten ein Importfunktion angeboten. Um den Import vorzunehmen sind folgende Schritte notwendig:

- Anlage einer neuen Watchliste rechts über die Listenansicht mit "Hinzufügen" und Benennung
- Auswahl des Formats der Importdatei. Hier in dem nachfolgenden Beispiel muss die CSV-Datei pro Zeile den Namen des Titeln, die WKN und die ISIN enthalten getrennt durch ein Semikolon. Die Importformate sind dabei unter Einstellungen veränderbar und auch neue hinzufügbar. Es muss lediglich "\*Strukturliste\*" im Namen enthalten sein.
- Auswahl des Default-Marktes, um bei notwendigen Neuanlagen von Titeln eine Vorbelegung nutzen zu können. Titel werden dabei versucht anhand der vorhandenen Informationen abzugleichen hier also mittels Namen, WKN und ISIN. Kann jedoch kein Titel gefunden werden, wird der Titel automatisch angelegt.
- Optionale Festlegung eines Watchlisten-Kommentars für jeden einzelnen Titel. Der Anwendungsfall dahinter soll es sein, z.B. einen Hinweis zur Herkunft und Motivation für den Import festzulegen, der später genutzt werden kann.

[![image-1655729409384.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729409384.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729409384.png)

Der Export erfolgt analog andersherum. Sie können damit sich auch einen Beispiel-Export anfertigen und auf diesem dann Anpassungen vornehmen, wenn sinnvoll.

### Watchlisten aus ISIN-Listen z.B. aus Excel heraus übernehmen

Über die Hauptseite im Reiter Beobachtungslisten lassen sich über die Toolbar über die Eingabe der ISIN des Titels, Fonds oder Aktie neue Titel in die aktuelle Liste übernehmen. Hierbei kann das Eingabefeld auch ausgeklappt werden und so mehrere ISIN gleichzeitig übernehmen. Dies ist z.B. extrem hilfreich, wenn aus anderen Filtersystemen z.B. Traderfox Ergebnislisten aus Filterungen übernommen werden sollen. Das nachfolgende Kurz-Video zeigt das Setup. Wichtig ist lediglich, dass die ISIN jeweils in eine eigene Zeile geschrieben werden.

[![image-1656078863896.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656078863896.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656078863896.png)

## Ansichten und Nutzung

Watchlisten spielen in ShareHolder eine besondere Bedeutung. Nachfolgend werden eine Reihe von Darstellungen basierend auf Watchlisten dargestellt:

<div class="table-wrap" id="bkmrk-ansicht-relevant-und"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Ansicht: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Ansicht</div></th><th aria-disabled="false" aria-label="Relevant und Hintergründe: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Relevant und Hintergründe</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><th class="confluenceTh" colspan="1">**Watchlisten-Hauptreiter**</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd">[![image-1655729414490.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729414490.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729414490.png)

</td><td class="confluenceTd">Ansicht hat besondere Funktionen:

<div class="content-wrapper">- CRV-Chance-Risiko-Berechnungen auf Basis Stopp/Ziel-Kurswerte. Damit können gezielt werden herausgesucht werden, die große CRV-Werte aufweisen
- Prognose-Darstellungen auf Basis von Machine-Learning-Kursprognosen werden nur innerhalb von Watchlisten genutzt und dargestellt
- Benchmarking und Performance-Werte auf Tages, Wochen, Monats, Jahres-Basis sind auch in anderen Listen wie der Depotliste und den Detail-Listen möglich. Dennoch können diese auch hier gezielt genutzt werden

</div>Weitere Details siehe unten ...

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Zusatzfunktionen über die Ein-und Ausblendbaren Spalten

[![image-1655729419978.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729419978.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729419978.png)

</td><td class="confluenceTd" colspan="1">Watchlisten haben daneben weitere besondere Spalten wie Kommentare und Ranking-Werte. Diese können manuell gesetzt werden, sind aber vor allem für automatisch erstellte Watchlisten relevant.

- Ein Watchlisteneintrag hat dabei immer ein "Aufnahme-Datum". Dieses wird für den Vergleich zum heutigen Tag genutzt. Sie können daher auch im Nachhinein die Entwicklung seit der Aufnahme vergleichen.
- Ein Watchlisten-Eintrag kann zudem ein Verfallsdatum haben, wenn die Betrachtung nur temporär sein soll.

</td></tr><tr role="row"><th class="confluenceTh" colspan="1">Chart-Gallery</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">[![image-1655729423852.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729423852.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729423852.png)

</td><td class="confluenceTd" colspan="1">In der Chart-Gallery können Sie auf Basis von Watchlisten direkt Chart-Bilder einsehen und vergleichen. Der Zeithorizont und weitere Einstellungen sind hier zusätzlich in der Toolbar veränderbar.</td></tr><tr role="row"><th class="confluenceTh" colspan="1">Handels-Strategien</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">[![image-1655729428041.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729428041.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729428041.png)

</td><td class="confluenceTd" colspan="1">Auch Handels-Strategien können auf Watchlisten aufgesetzt werden d.h. die Vorselektion der relevanten Titel wurde durch die Aufnahme in eine Watchliste abgebildet. Danach kann dann z.B. eine Momentum-Strategie oder Susann-Levermann-Strategie darauf aufsetzen.</td></tr><tr role="row"><th class="confluenceTh" colspan="1">Detaillisten</th><th class="confluenceTh" colspan="1">  
</th></tr><tr role="row"><td class="confluenceTd" colspan="1">[![image-1655729432158.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729432158.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729432158.png)

</td><td class="confluenceTd" colspan="1">Auch in den Detail-Listen finden Sie am unteren Rand eine Liste aller vorhandenen Watchlisten. Dies ermöglicht auch hier eine fokussierte und schnelle Arbeit.</td></tr></tbody></table>

</div>## Technische Limits

Da jeder Titel zu jeder Watchliste zugeordnet werden kann, ist intern eine platzsparende und performante Bitzuordnung gewählt. Dadurch ist die Anzahl der möglichen Watchlisten begrenzt. Durch eine Nutzung eines Int64 Wertes sind so maximal 64 Watchlisten möglich.

## Automatisch aktualisierte/generierte Watchlisten

Watchlisten sind generell ein generisches Konzept in ShareHolder, um einen fokussierten Blick auf relevante und interessante Titel zu erhalten. Dabei werden drei spezielle Watchlisten automatisch generiert, die zwar temporär verändert werden können aber praktisch immer wieder neu zurückgesetzt werden:

- \*Depot-Aktuell: Alle aktuell noch offenen Depot-Positionen
- \*Depot-Realisiert: Alle jemals gehandelten Depot-Werte
- \*Devisen: Alle relevanten Kern-Devisen-Paare

Die generierten Watchlisten können dabei genauso benutzt werden wie normale Watchlisten d.h. haben einen eigene Listen-Ansicht, können in den Chart-Gallerien genutzt werden und haben auch in den Detail-Listen eine eigene Sicht als Tab-Liste.

[![image-1655729437944.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729437944.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729437944.png)

## Besondere Informationsspalten in Watchlisten

[![image-1655729442645.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729442645.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729442645.png)

  
Watchlisten besitzen neben der Anzeige von Candles, ISIN, Bracheninformationen, Anzeige von Stopkurse auch die Möglichkeit der Nutzung von Kursprognosen mittels Neuronalen Kursprognosenetzen und die Berechnung von CRR-Werten.

### CRV-Werte

CRV-Werte stehen für Chance-Risiko-Relation und berechnen sich aus Stoppkurs und Zielkurs eines Wertes. Die Chance wird durch den Zielkurs (Target) gesetzt, das Risiko durch den Stoppkurs. Das setzen beider Werte kann dabei manuell über das Setzen im Stopp-Kurs-Dialog erfolgen oder direkt grafisch unterstützt im Chart. Dabei wird im (1) Schritt nur ein Stopp-Kurs gesetzt. Danach werden in Schritt (2) die Stopp-Linie justiert, im Schritt (3) die Ziel-Linie angepasst und im Schritt (4) wird automatisch der neue CRV-Wert dargestellt.

Entsprechende CRV-Werte in der Watchliste werden dabei automatisch aktualisiert nach dem Schließen des Charts:

[![image-1655729446806.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729446806.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729446806.png)

  
Das Verhältnis zwischen Chance (Zielkurs-AK) / Risiko (AK-Stopkurs) ergibt das CRV. Der CRV Wert von genutzt um das Investment mit dem besten Verhältnis zwischen Chance und Risiko auszuwählen. Hierzu werden alle relevanten Wert in einer Watchliste zusammengeführt (eventl. durch Fundamentalanalyse, Filter, Candlesticks usw.) und einzeln im Chart manuell durch Ziel/Stopkurse verwertet.

Die Werte mit den besten (größten) CRV werden dann nach sorgfältiger Prüfung gekauft.  
Die Positionsgrößenbestimmung selbst erfolgt dann während der Transaktionseingabe mit Unterstützung durch das Positions-Management im Programm.

### Kommentare

[![image-1655729452000.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729452000.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729452000.png)

  
Der Aufruf erfolgt in Watchlisten über das Kontextmenü "Editieren" nach Selektion des Titels in der Liste über die rechte Maustaste. Jeder Watchlisten-Eintrag kann Zusatzinformationen über ein Freitextfeld aufnehmen.

Bei den automatisch generierten Watchlisten-Einträge enthalten Sie folgende Informationen:

- Depotwerte: Letzter Transaktionszeitpunkt (Verkauf). Sortierungen nach dem Kommentarfeld sind so vorwärts/rückwärts, möglich um die weitere Entwicklung der verkauften Positionen zu werten. \* Positiv/Negativ-Listen durch den Abgleich der Börse-Online-Statistiken: Prozentualer Anpassungswert zwischen zuvor gespeicherten Jahresgewinnergebnis und dem neuen zu aktualisierenden Wert.
- Filter: Aus Filtersystemen entstandene Watchlisten enthalten den Filternamen im Kommentarfeld.

Grundidee ist jedoch Gründe der Aufnahme oder Nebenbedingungen des Watchlisten-Eintrages abzuspeichern z.B. Deutlicher Ergebnisverbesserung, HotStock, Börsenmagazin, Depotaufnahme in einem Börsenbrief usw.

### Vergleichszeitpunkt

Zu jedem Watchlisten-Eintrag kann zusätzlich ein Datumswert gesetzt werden, der in der Anzeige als Vergleichszeitpunkt in der prozentualen Entwicklung seit dem Stichtag gewertet wird.

In den automatisch generierten Watchlisten-Einträgen sind folgende Zuordnungen getroffen:  
Depotwerte: Letzter Transaktionszeitpunkt (Verkauf)

### Löschdatum

Um Watchlisten-Werte, die mit einer zeitlich begrenzten Gültigkeit eingestellt werden, automatisch entfernen zu können, darf ein Löschdatum gesetzt werden. Interessant ist das Vorgehen, wenn z.B. auf Basis von Hauptversammlungsterminen Watchlisten aufgebaut werden.

### Positionsfeld (Gültig bis ...)

Die aus Filtersystemen entstandenen Watchlisten, enthalten das im Filtersystem berechneten Rankingwert. So bleiben festgelegte Rankings auch ohne Neuberechnung des zugrundeliegenden Filters vorhanden.

## Besondere Funktionen in Watchlisten

### Kursprognosen

Um für alle in einer Watchliste angezeigten Werte eine Kursprognose durchzuführen, muss lediglich am unteren Rand der Punkt Prognose ausgewählt werden. Danach wird in einem Hintergrundthread die Kursprognose für alle angezeigten Werte durchgeführt.

- siehe hierzu auch unter [Kursprognosen](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Kursprognosen&linkCreation=true&fromPageId=1179523)

# Charts und Zeichenfunktionen

# Grundaufbau

## Symbolleiste

[![image-1655729591765.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729591765.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729591765.png)

## Chartbild und Vertikale Achsen

[![image-1655729595301.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729595301.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729595301.png)

Als mögliche Ausprägungen für die Chartdarstellung sind die Candlesticks (s.o.) wie auch der Linienchart möglich. Auf Balkencharts wird bewusst verzichtet, da diese mit weniger Informationen als Candlesticks eher als leistungsärmere westliche Alternative zu den japanischen Kerzencharts zu sehen ist. Die Umstieg auf Kerzencharts sei deshalb jedem Anwender ans Herz gelegt.

Die Nutzung von Zeitrastern verleiht hierbei den Kerzencharts eine besondere Bedeutung. Durch diese wird sehr schnell ein Überblick über die in einem Zeitabschnitt wichtigen Kurspunkte gegeben: High (oberes Dochtende), Low (unteres Dochtende), Open (Kerzenkörper), Close (Kerzenkörper). Durch die Bildung der Zeitraster ist die Nutzung im Intraday-Bereich ebenso möglich wie auch bei Wochencharts. Der Reiz in der Chartform liegt in der Darstellung des Kampfes zwischen Bullen und Bären. Es ergeben sich hier auch immer wieder typische Verhaltensmuster, die teilweise zu extrem zuverlässigen Formationen führen. Bitte schauen Sie hier für nähere Informationen in entsprechender Literatur. Zu diesem Bereich existieren eine Reihe von Auflagen verschiedenster Autoren und Verlage.

### Achsen

- Links: Kursentwicklung in % im Bezug auf den ersten vorhandenen Kurspunkt
- Rechts: Absoluter Kurs

### Mausrad-Nutzung

Es ist möglich innerhalb eines Charts die Einstellungen für die Funktion des Mausrads im Chart zu verändern. Sie können dabei wechseln zwischen Zoom-Funktion durch Drehen des Mausrads und einer "einfachen" X-Achsen-Bewegung.

Die Einstellung wird am Chart aktuell nicht gespeichert. Sofern Sie mit der Blätter-Funktion die Einzelcharts wechseln, bleibt die Einstellung in der Nutzung erhalten. Schließen Sie den Chart, muss diese wiederholt werden.

[![image-1656080370376.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656080370376.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656080370376.png)

### Volumenchart

Der Volumenchart ist einiges der sehr wichtigen Instrumente um Ergebnisse anderer Analysen validieren zu können. So müssen viele Formationen, Ausbruchspatterns durch Entwicklungen im Handelsvolumen bestätigt werden um ernst genommen zu werden. Die Farbbelegung (rot | grün) zeigt allein ob der Tageskurs höher oder tiefer als der vorhergehende Schlusskurs liegt.

Wird die Maus im oberen Kurschart bewegt, wird im Volumenchart die zugehörige Volumenlinie durch eine Erhöhung des Farbkontrastes ( hellrot | hellgrün ) hervorgehoben. Ein Zoom ist in diesem Bereich ebenso wenig möglich wie die Achsenverschiebung. Bitte nutzen Sie hierfür den Hauptkurschart.

Im Volumenchart können zum aktuellen Stand des Programms keine eigenen Linien eingezeichnet werden.

Der Volumenchart kann die Volumendaten direkt anzeigen oder in einer normalisierten Form.  
Die Normalisierung erfolgt durch Division des 50Tage-Durchschnitts. Das Volumen schwankt so um die Durchschnittslinie 1. Volumenwerte &lt;1 werden nur grau dargestellt. Vorteil der Methode ist dass das Volumenumfeld (letzten 50Tage) beim Vergleich des Volumens berücksichtigt wird. Dies erlaubt eine wesentlich bessere Einschätzung der Informationen aus dem Volumen, da oft nicht die Höhe sondern das Verhältnis zum Umfeld entscheidend ist. Die Einstellung der GD-Tage ist zur Zeit nicht möglich.

## Horizontale Achsen, Zeit-Tabs und Notizen

[![image-1655729600116.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729600116.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729600116.png)

Achse Unten: Zeit/Datum, wobei bei Rasterung eine Skalierung vorgenommen wird, die bei Fibonacci-Retracements beachtet werden kann. So wird bei Nicht-Skalierung das Wochenende mit dargestellt, was aber zu Lücken und zu einer Expansion des Zeitachse und damit der X-Achse führt. Wird die Zeit bei Chartbetrachtungen einbezogen ist diese Skalierung daher zu beachten. Die Empfehlung ist daher für ernsthafte Anwendung nur die Handelstage einzublenden und damit die einfachste X-Skalierung zu verwenden.

## Einstellungen

Die Einstellungen in einem Chart sind als Standardeinstellungen oder spezifisch für eine Aktie abzulegen. Die Zuordnung der spezifischen Einstellungen erfolgt über die WKN/Symbol. Die Standardeinstellungen werden (falls vorhanden) genutzt, wenn keine Spezialisierung der Einstellungen vorhanden ist. In der Folge führen Veränderungen der Standardeinstellung zu keinen Veränderungen bei Charts die mit spezifischen Einstellungen vorhanden sind.

- Standardeinstellung: Nutzung wenn keine Spezialisierung vorhanden ist  
    Spezifisch : Wird vorrangig gegenüber der Standardeinstellung benutzt, soweit vorhanden; Nur in den Spezifischen Charts können Trendlinien gespeichert werden
- Automatische Standard-Antwort  
    Um evtl. Nachfragen aus dem Weg zu gehen, kann in den Programmeinstellungen ein Standardvorgehen (Immer Speichern, Immer Ignorieren, Immer Fragen) festgelegt werden. Dies erleichtert die Arbeit mit Charts.

### Einstellungsmenü

[![image-1655729607131.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729607131.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729607131.png)

- Einstellungsmenü: Abhängig von den genutzten Indikatoren wird der Zugriff auf die entsprechenden Indikatoren-Einstellungen erlaubt, sowie der Zugriff auf weitere Funktionen möglich.
- Indikatoren-Üarameter: Einstellungen der Indikatoren können gruppiert werden in Indikatorengruppen z.B. in kurzfristige (Intraday) als auch in langfristige Einstellungen im Sinne der geeigneten Parameterwahl. Die Erstellung neuer Gruppen erfolgt unter der Hauptansicht der Software (nicht im Chart) unter Einstellungen. Indikatoren-Gruppen. Der Wechsel erfolgt unter Auswahl der gewünschten Gruppe.
- Management: Da die Wahl eines geeigneten Stoppkurses sinnvoll vor allem durch Chartanalyse ermöglicht wird, kann durch die Aktivierung des Stoppkurs-Klick-Moduses dieser Schritt vereinfacht werden. Hierzu nach Aktivierung den Mauscursor auf die gewünschte Kurscursorposition bringen und einmal Klicken. Die Klickposition wird als Kursposition ausgelesen und als Stoppkurs festgelegt.
- Exportieren: Der Hauptchart sowie alle aktiven Indikatoren-Fenster werden als JPEG-Dateien und einer passenden HTML-Datei exportiert und sofort anschließend mit dem eingestellten Standardbrowser angezeigt.

### Logarithmierung

[![image-1655729612591.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729612591.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729612591.png)

- Logarithmierung/ Lineare Darstellung: Für die saubere Chartanalyse sollte immer die Logarithmierung (Defaulteinstellung) genutzt werden. Dies stellt sicher, dass Wertentwicklungen zwischen zwei Punkten grafisch in einem gleichen Abstand dargestellt wird. Das heisst Wertentwicklungen von 50 auf 100 werden ebenso skaliert und sichtbar (100%) wie von 1 auf 2(100%). Bei nicht logarithmierten Charts wird die Entwicklung optisch einfach nicht richtig gezeigt und der Anwender neigt daher dazu die Situation falsch einzuschätzen. Daneben gibt es aber handfeste mathematische Gründe.
- Invertierung der Chartansicht: Dies im ersten Moment unsinnige Verhalten erleichtert dem technischen Analysten/Chartisten die Erkennung von Formationen oder Trendlinien. So sind viele "Augen" auf die Erkennung von bullishen - Formationen trainiert, haben aber Schwierigkeiten die inversen Formationen (die immer existieren) zu erkennen. Die Funktion hilft hier weiter.
- Linienstärke: Kurslinie kann (1 Punkt | 2 Punkte ) dargestellt werden. Neben der Stärke wird bei Darstellung der Candlesticks auch zwischen durchgezogener und gestrichelter Linie gewechselt. Die gewählte Form liegt im Ermessen des Anwenders.

### Trendlinien

[![image-1655729617556.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729617556.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729617556.png)

- [+](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=%2B&linkCreation=true&fromPageId=1179525) Trendlinie hinzufügen: Im Chart können eigene Trendlinien gezeichnet werden. Nach Auswahl wird der erste Klick im Chart als Startpunkt zum Zeichnen einer Trendlinie verstanden. Der Endpunkt definiert sich mit dem zweiten Klick. Im Modus "Hinzufügen" können mehrere Trendlinie hinzugefügt werden. Das Zoomen und die Zeitachsenverschiebung ist in diesem Moment nicht möglich.
- [-](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=-&linkCreation=true&fromPageId=1179525) Trendlinien hinzufügen: Eingezeichnete Trendlinien können nicht modifiziert werden. Gelöscht werden diese indem der für eine Trendlinie zugehörig angezeigte Startpunkt (rot) angeklickt wird. Nach Rückfrage zum Anwender erfolgt dann die Löschung dieser.

[![image-1655729622787.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729622787.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729622787.png)

Hier ein wenig sinnvolles Beispiel, trotzdem ist klar, dass es sich um beliebig zeichenbare Linien handelt, die nach freier Wahl beschriftet und eingefärbt werden können. Trendlinien sind innerhalb eines Betrachtungshorizonts (Intraday | Historie) beliebig nutzbar, ohne Einschränkungen durch die Nutzung von Zeitraster.

Kursziele aus vielen Formationen ergeben sich bei Ausbildung oder Bestätigung dieser, bestimmte durch die Charttechnik definierte Kursziele. Um die Abstandsmessung von einem Punkte zum anderen zu erleichtern, ist die Kurszieleinzeichnung integriert. Während des Zeichenvorgang werden hinzu parallel zwei Linien (rot, blau) gezeigt, wobei die rote Linie als Ziellinie (Kurszielfestlegung) genutzt werden kann. Die Kursziellinie kann wie jede andere Trendlinie gelöscht werden.

Fibonacci-Retracements Kursbewegungen erfolgen nach der Elliot-Wave-Theorie in Kurswellen. Diese bewegen sich nach bestimmten Gesetzmäßigkeiten sowohl zeitlich als auch wertmäßig in festlegbaren Wellendurchmesser, die durch den, in der Natur so oft vorkommenden, Golden Schnitt beschrieben sind. d.h. Up/Down - Moves erfolgen in Höhe von 38%, 50%, 69%. In ungewöhnlich hoher Treffsicherheit kommen so auch heftige Kursbewegungen an einen der Fibonacci-Retracements zum Stehen. Eingezeichnet werden die Marken durch zwei Mausklicks. Der erste beschreibt den Hochpunkt und der zweite den bisherigen Tiefstpunkt (eventl. 0, wenn AK = LOW) der Kurse. Die Retracement Marken sind wie Trendlinien zu behandeln und können ebenfalls entsprechend gelöscht werden.

### Cursordaten

[![image-1655729627221.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729627221.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729627221.png)

Cursordaten in einem eigenen Fenster: Diese Möglichkeit erlaubt für viele Anwender eine übersichtlichere Nutzung des Charts, da bei Deaktivierung die Kursdaten (Datum, H, L, O, C, V ) direkt im Chart angezeigt werden und oftmals Kursbereiche überdeckt werden. Im Normalfall ist dies aber unproblematisch, da bei Mausbewegung dies wieder ausgeblendet werden. Es verbleibt wieder beim Ermessen des Anwenders.

Kauf - und Verkaufszeitpunkte: Wenn Käufe und Verkäufe zum aktuellen angezeigten Papier existieren, so werden die zugeörigen Transaktionszeitpunkte eingeblendet mit kleinen Fähnchen. Die Darstellung funktioniert dabei auch im Intradaybereich, sofern die Zeitpunkte in diesen Bereich hineinfallen.

### Candlesticks

[![image-1655729632080.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729632080.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729632080.png)

Candlesticks anzeigen: Wechsel der Chartdarstellung zwischen Linienchart und Candlestick-Chart. Die Einstellung ist unabhängig und funktioniert als Wechsel sowohl bei Verwendung von Rastern als auch bei gewünschten Wechsel der Darstellungsform in Intraday-Charts und History-Charts.

Candlestick-Formationen: Im Kursverlauf werden bekannte Formationen gesucht und mit kleinen Fähnchen angezeigt. Als Pattern werden z.B. Hammer, Morning Star, Evening Star, Hanging Man, Dark Cloud Over und andere gesucht. Der Suchalgorithmus entspricht einem Expertenwissen und damit einer kodierten Faktendatenbank. Automatische Neujustierungen oder Änderung des Such-Algorithmus sind dabei zur Zeit nicht implementiert.

### Bollinger Bands

[![image-1655729636489.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729636489.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729636489.png)

- Bollinger Bands: Sind durch die Volatilität des Basistitels beeinflusste Durchschnitte die in einem festgelegten prozentualen Abstand über und unter dem aktuellen Kurs eingezeichnet werden. Die Idee ist, dass Kurse sich in einem Kurs-Band und damit in einer Range bewegen. Die Range kann je nach Schwankungsbreite des Basistitels unterschiedlich groß sein. Bei Verengung des Kursbandes (Rückgang der Volatilität) wird oft mit einem plötzlichen Ausbruch beendet. Die Bollinger Bands helfen Marktphasen zu erkennen und Kursziele zu setzen. Sie können auch zur Festlegung von Stoppkursen genutzt werden, ähnlich anderen Systemen die auf GD/MA aufsetzen.
- Gleitende Durchschnitte anzeigen: Als Default-Einstellung werden in jedem Chart direkt zwei Gleitende Durchschnitte (gestrichelte, durchgezogene Linien) eingeblendet. Die Linienfarbe wird dadurch bestimmt, ob der GDkurs&lt; GDkurs-1 oder GDKurs &gt; GDKurs-1. So zeigt der GD Lang allein durch seine Farbe die wahrscheinliche Trendphase in der sich der Markt bewegt. Die kurze-GD-Linie entsprechend den kurzfristigen Trend. Die Änderung der verwendeten Parameter für den GD finden sich im Einstellungsmenü.

### Indikatoren

[![image-1655729641384.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729641384.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729641384.png)

- Trendbestimmung: Ausgangspunkt fast aller charttechnischer Überlegungen ist die Trendbestimmung. Eine Unterstützung zur Trendbestimmung bietet hier die Gruppe der Trendbestimmungsindikatoren. Eine Chartanalyse beginnt folglich zumeist mit der Auswertung dieser Indikatoren.
- Volatilität: Diese Gruppe beschreiben die Schwankungsbreite eines Titels. Daraus lassen sich zusammen mit anderen Indikatoren wertvolle Informationen über die Entschlossenheit der Marktteilnehmer gewinnen. Einige Formationen benötigen auch die Bestätigung durch das Volumen bzw. leiten indirekt daraus Entscheidungen ab wie z.B. das fallende/steigende Dreieck usw.
- Thronfolger: Diese Gruppe von Indikatoren setzen auf einen bestehenden Trend auf und versuchen diesen in seiner normalen Schwankungsbreite zum Traden greifbar zu machen. Eines der bekanntesten und häufig verwendeten ist der Gleitende Durchschnitt.
- Momentum/Oszillatoren: Anwendung finden diese Indikatoren vor allem in Trading Range-Märkten alias Seitwärtsbewegungen. In starken Trendphasen ist nicht gegen den Trend zu handeln und die Verwendung nur als zweites Hilfsmittel zu empfehlen.
- Umsatzindikatoren: Das Handelsvolumen spielt bei der Auswertung von Märkten/Titeln eine entscheidende Rolle, da hierdurch das Verhalten was im Chart erkennbar wird validiert werden kann, d.h. es kommt zu Bestätigungen oder zu Divergenzen. Die Indikatoren die auf das Handelsvolumen aufsetzen sind allerdings selbst nur als Ergänzung zu der obligatorischen Betrachtung der "Rohdaten" des Handelsvolumen zu sehen. Sie sollten nicht versuchen ohne diese Betrachtungen zu Entscheidungen auf Basis der Chartanalyse zu kommen.

### Fenster

[![image-1655729646682.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729646682.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729646682.png)

- Andocken der Fenster: Um die Anwendung der Indikatoren in der Chartanalyse zu erleichtern, hilft diese Funktion die Darstellung des Basistitels und deren markttechnische Auswertung optisch zu synchronisieren, d.h. die Indikatorenfenster werden direkt unter dem Hauptchart gelegt und gegebenfalls mit diesem in der Größe und Position angepasst. Die Einstellung kann mit dem Chart gespeichert werden. Die Größe der Indikatorenfenster bleibt beim Andocken erhalten.

### Zurücksetzen der Einstellungen

Dies führt zum Zurücksetzen der Einstellungen des Nutzers auf die Defaultwerte. Bei Spezifischen Charts führt dies automatisch zur Nutzung der Einstellungen in der Standardeinstellung. Ist bereits die Standardeinstellung in Nutzung führt das Zurücksetzen sogar zur Nutzung der intern fest beschriebenen Standardeinstellungen der Software.

Aufruf: Menü"Einstellungen".Charteinstellungen.Zurücksetzen

# Grundbedienung

## Tastaturbefehle

## Zeichenlinien

## Zoomen/Unzoomen

- Zoomen: Das Zoomen Chart ist in allen Charts gleich und wird durch Aufziehen eines Rechtecks beginnend mit der linken oberen Ecke vollzogen. Die Maus ist dazu zunächst zum Startpunkt zu führen und anschließend dann mit gehaltener Maustaste die untere rechte Ecke des Zoombereiches zu definieren.
- UndoZOOM: Soll ein Zoom rückgängig gemacht werden, ist ein Rechteck von rechts unten nach rechts oben aufzuziehen. Die Größe des gewählten Rechtecks spielt dabei keine Rolle, da danach immer eine 100% Skalierung im Chart zu sehen ist.

## Zeit-Fenster verschieben

Drücken Sie die rechte Maustaste innerhalb des Charts und bewegen Sie die Maus nach links oder rechts bei gehaltener Maustaste. Sie können sich so frei im Chart in der Zeitachse bewegen.

# Sonderfunktionen

## Indikatorenfenster

## Candlesticks

## Handelssystem für Chartindikator

In Charts kann innerhalb der Profiversion ein automatisch generiertes Handelssystem/Dynamic Filtersystem zur Prüfung der Signalqualität eines Indikatores verwendet werden. In einer späteren Version können beliebige Filtersysteme auf Basis eines Einzelcharts ausgeführt werden. Die generierten Signale eines Indikatores werden dabei durch ein Handelssystem interpretiert und hinsichtlich von Performancekennzahlen ausgewertet.

TODOS:

TODO: Einarbeitung von Besonderheiten

- Candlesticks: Anzeige von interessanten kurzfristigen Trades(nachträgliche prozentuale Prüfung) zur Systementwicklung, d.h. interessante starke Momentumbewegungen können so gezielt gesucht und nachträglich untersucht werden
- Fadenkreuz im Chartmodul aktivierbar (neuer Button im Chartmodul)
- Im Chartmodul wird der Drawmodus (Linienzeichnen/ ) beim Start nicht automatisch wieder aktiviert, wenn dieser zum Zeitpunkt des Speicherns aktiv war
- Im Chart kann nun ebenso wie für den Stopkurs der Zielkurs (siehe CRR) per Drag&amp;Drop verschoben werden. Die Festlegung ist damit allein charttechnisch möglich
- Heikin Ashi Candlesticks

# Indikatoren-Pannel für 360° Sicht

## Hintergrund

[![image-1655729859024.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729859024.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729859024.png)

  
Dieses Modul ist nur in der Profiversion freigeschaltet und wird vom Chartfenster aus aufgerufen. Das Indikatoren-Pannel zeigt alle vorhandenen Indikatoren übersichtlich hinsichtlich Indikatoren-Wert, Trigger, Zone, Aktivierungsgrad und Performance/Signal-Generierung der letzten 5 Tage an.

## Anzeige

Folgende Informationen werden im Detail gezeigt:

[![image-1655729863462.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729863462.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729863462.png)

- "25.06.2003" - Betrachtungszeitraum. Dieser wird durch Veränderung des Cursors im Hauptchart verändert und mit wenigen Millisekunden nachgezogen.
- "Ändern" - Hier verändern Sie die Berechnungsparameter des Indikators.
- "Wert" - Eigentlicher Indikatorwert. Der Wertebereich ist hierbei nicht normalisiert und liegt somit abhängig vom Indikator selbst in unterschiedlichen Wertebereichen. Details finden Sie in den Beschreibungen des Einzel-Indikators selbst.
- "Trigger" - Einige Indikatoren verwenden für die Signalgenerierung zusätzliche Trigger-Werte.
- "Zone" - Entsprechend der eingestellten Zonenanalyse wird hier übersichtlich die 1..3 Zone angezeigt.
- "Aktivierung" - Aktivierungsgrad der Signalgebung. Dies entspricht dem Kreisdiagramm am Anfang der Zeile. Verkaufssignale werden rot (&lt;0) und Kaufsignale grün (&gt;0) dargestellt.
- "Performance" - Alle Signale der letzten 4 Tage + Heute werden hier dargestellt. Wieder gilt die Farbregelung grün=Kauf, rot=Verkauf. Ausgangspunkt ist der aktuelle Tag (von rechts nach links)

Das Pannel kann nur geschlossen werden über das Pannel-Fenster selbst. Eine Deaktivierung des Funktionsbuttons mit Chartfenster schließt das Fenster nicht.

# Automatisches Handelssystem fuer Chartindikatoren

# Zielsetzung

Das Ziel, der hier zu beschreibenden automatischen Handelssysteme, ist ein geeignetes einfaches technisches System zu finden, dass ein in der Kapitalanlage unterstützt. Dies erfolgt über die automatische Bereitstellung von Handelssysteme für technische Indikatoren. Die Handelssysteme werden dabei mittels Kennzahlen bewertet und damit vergleichbar. Das eigene SETUP kann so ohne eingesetztes Geld getestet und optimiert werden.

- Über einen Basistitel-Chart werden dabei technische Indikatoren eingeblendet und über das Handelssystem zusammen mit Taktiken für den Ein-und Ausstieg optimierbar. Dies erlaubt somit den direkten Vergleich von der Zuverlässigkeit von technischen Signalen, von grundsätzlichen Aussagen über erfolgsversprechende Ein-und Ausstiegsstrategien und sinnvolle Money-Management-Parameter.
- Weitere Optimierungen im Umgang mit Hebel-Papieren und der automatischen Optimierung der Indikatorenparameter sind denkbar, bisher aber noch in Arbeit bzw. für weitere Ausbaustufen geplant.

Kurz-Zusammenfassung

<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-id="6123bcca-8002-4cd4-bfca-5341d6124707" data-macro-name="info" id="bkmrk-nach-auswahl-eines-t"><div class="confluence-information-macro-body">- Nach Auswahl eines Titels 
    - Optimierung der zu verwendenden Money-Management-Einstellungen anhand der Performance-Kennzahlen
    - Optimierung des zu verwendenden Indikators anhand der Performance-Kennzahlen
    - Optimierung nach Long / Short
    - Optimierung nach Einzel-Indikatoreneinstellungen
    - (i.A.) Optimierung von sinnvollen Hebeln mit dem aktuellem Handelssystem
- Komplette Nachverfolgbarkeit durch umfangreiche Logausgaben und direkter Abbildung der Handelssignale im Chart des Basistitels
- Weiterbearbeitung von erfolgreichen Einstellungen in einer Filter-Handelssystem-Statistik mit Exportfunktion nach Excel, Word usw.

</div></div>Das System steht nur in der Profiversion zur Verfügung

# Ausgangsüberlegungen

Sollten Sie sofort loslegen wollen, so überspringen Sie die nachfolgende Darstellungen, die als Hintergründe zum System verstanden werden sollen.

- Nutzung von Kauf-Verkaufssignalen der technischen Indikatoren
- Optimierung von Money-Management-Einstellungen wie Kapitalrisiko, Risikoanlage-Typ (fix, dynamisch mit Kapitalwachstum), Initial-Risk-Festlegung, Trailing-Stopp-Festlegungen
- Handelssystem muss manuellen Einstellungen folgen bzw. diese möglich sein
- Mit dem Wechsel von aktiven Indikatoren muss sofort eine Neuberechnung des aktiven Handelssystems erfolgen, ebenso für Änderungen von Indikatorenparameter
- Berechnung muss der normalen Handelslogik folgen können 
    - Zusätzliche Kosten wie Slippage, Gebühren für Stopps, für Trades müssen berücksichtigt sein
    - Einstiege folgen den Kapitalrisiko-Einstellungen (Typ, %)
    - Einstiege werden durch technische Indikatoren-Signale ausgelöst (entspechend den Einstellungen des Indikators)
    - Ausstiege werden je nach Einstellung im Handelssysstem durch Indikatoren-Signale und/oder Init-Stopps, Trailing-Stopps vorgenommen
    - Ein-und Ausstiegskurse können relativ gesetzt werden zum Einstiegszeitpunkt, d.h. direkt mit Close oder dem nachfolgenden Eröffnungskurs bzw. auch einer "Bestätigungs-Kurs"-Variante, wo der Eröffnungskurs &gt; Vortages-Close sein muss, womit dann der Eröffnungskurs verwendet wird

# Arbeitsschritte

## Aufruf eines Charts

Für den Basischart sollten Sie zunächst einen Titel auswählen, der für Sie als geeigneter Basistitel zum Trading geeignet ist. In diesem Beispiel wird der DAX-Performanceindex als Basistitel gewählt (Trading erfolgt in der Praxis dann über Index-Optionen oder CFDs).

## Festlegung des Signalindikators

Da das Handelssystem selbst auf generierte Kauf-und Verkaufssignale von technischen Indikatoren basiert, sollte ein Indikator hierfür ausgewählt sein. Hierzu eines der Indikatorenfenster öffnen:

[![image-1655732913260.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732913260.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732913260.png)

In diesem Indikatorenfenster kann nun über das "Augen-Icon" dieser Indikator in den Hauptchart mit den generierten Signalen übernommen werden. Gleichzeitig dient dieser Indikator als Basis für das Handelssystem. Um manuelle Optimierungen zu vereinfachen, wird nach dem Öffnen des Handelssystems (nächster Schritt), nachfolgend mit jedem Wechsel des aktuellen Indikators (ohne diesen als Chartindikator nutzen zu müssen), dass Handelssystem neu berechnet. Veränderungen über die Einstellungen des Indikators, führen ebenso zu einer Neuberechnung. Solange ein Handelssystem geöffnet bleibt, wird dabei mit jedem Durchlauf eine Statistik-Liste geführt, die als CSV exportierbar ist. Mehrere Optimierungsläufe sind damit sinnvoll möglich.

[![image-1655732917476.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732917476.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732917476.png)

## Öffnen des Handelssystems

Im Hauptchart öffnen Sie über die Toolleiste das Handelssystem. Das System muss hierbei nicht manuell erstellt werden, sondern wird auf Basis der aktuellen Indikatoreneinstellungen angezeigt. Der erste Durchlauf erfolgt sofort automatisch und kann über den Button "Abbrechen" unterbrochen werden. Danach muss der Start über den Button "Starten" initiiert werden. Die Berechnung erfolgt immer auf Basis der aktuellen Handelssystem-Einstellungen. Als Standardeinstellungen werden globale Programmeinstellungen für Handelssysteme verwendet. Diese ergeben sich aus dem letzten Speichervorgang, die über die untere Toolleiste mit dem Button "Speichern" erfolgen kann.

[![image-1655732922016.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732922016.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732922016.png)

Sie erhalten danach eine Ansicht wie diese:

[![image-1655732925395.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732925395.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732925395.png)

Das Fenster teilt sich dabei auf in die Reiter

- Einzelberechnung 
    - Obere Office-Ribbon-Bar 
        - Handelssystem: Grundsätzliche Steuerung der Berechnungen für das Handelssystem und grundlegende Einstellungen
        - Optimierung Money-Management: Grundsätzliche Steuerung der Optimierungsberechnungen für die Money-Management-Einstellungen wie Kapitalrisiko usw.
    - Bedingungen: zugrunde liegender Filter
    - Auswertungen: Aktuelle Kennzahlen des Handelssystems inkl. Performance-Chart. Die Neuberechnung der Auswertungen erfolgt auf einen Handelstag nur bei Veränderung durch Kauf- oder Verkauf. Dies macht das Chartbild stufenartig, erhöht die Performance aber signifikant.
    - Untere Toolleiste 
        - "Speichern": Speichert die aktuellen Handelssystem-Einstellungen als Standardeinstellungen in den Programmeinstellungen
        - "Abbrechen": Schließt das aktuelle Fenster (ohne zu Speichern)
- Statistiken 
    - Für jede abgeschlossene Berechnung eines Handelssystems wird hier "Buch" geführt, d.h. eine neue Vergleichszeile einführt. Die Kennzahlen hierfür sind nachfolgend erklärt. Die Statistiken sind temporär und werden mit dem Schließen des Hauptfensters verworfen. Über die obere Toolbar gibt es aber zusätzlich Zugriff auf eine nicht temporäre Ergebnisstatistik, die für alle Handelssystem gilt. Zudem kann für die weitere Verarbeitung in Excel, eine CSV-Datei exportiert werden.
- Log-Ausgaben 
    - Um weitgehend das System nicht als Schwarze - Box verstehen zu müssen, können unter diesem Reiter, alle Berechnungsschritte in einstellbarer Detailtiefe nachvollzogen werden als Log-Ausgaben. Der Detailgrad wird zuvor eingestellt im gewünschten Level.

## Kennzahlen und Statistiken

- Statistiken 
    - Spalte - Indikator: Name des verwendeten Indikators. In Klammern werden die verwendeten Indikatorenparameter gezeigt. Dies erlaubt die manuelle gezielte Optimierung, da bei Wechsel der Indikatorenparametern im Charthauptfenster, sofort eine Neuberechnung gestartet wird.
    - Spalte - Startdatum: Startzeitpunkt für die Berechnung des Handelssystems.
    - Spalte - Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute
    - Spalte - P-Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum
    - Spalte - P-Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum
    - Spalte - P-Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute)
    - Spalte - +Trades: Positiv abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    - Spalte - -Trades: Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    - Spalte - KapRisikoTyp: Kapitalrisiko-Typ: 
        - 'mpFixOnStartCapital': Startkapital für Käufe werden prozentual entsprechend den HS-Einstellungen zum Startkapital gesetzt. Damit ist dies eine fixe Summe.
        - 'mpProzOnCapital': Startkapital für Käufe wird prozentual entsprechend den HS-Einstellungen zum aktuell verfügbaren Kapital gesetzt.
    - Spalte - KapRisiko: Maximales einzugehendes Kapitalrisiko für Käufe
    - Spalte - InitStopp: Prozentualer zu verwendende Initial-Risk-Stopp unterhalb des Kaufkurses
    - Spalte - TrailingStopp: Prozentualer zu verwendende Trailing-Stopp unterhalb des aktuellen Kurses. Trailing-Stopps werden täglich nachgeführt, sofern der heutige berechnete Stopp höher als der vorherige ist.
- Kennzahlen 
    - Initialkontostand: Zu verwendendes Startkapital für die Berechnungen
    - Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute 
        - Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum
        - Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum
        - Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute)
        - Buy&amp;Hold: Differenz des Schlusskurses von Heute und dem vom Startzeitpunkt bzw. Entwicklung bei 100% Kauf zum Startzeitpunkt und Verkauf zum heutigen Schlusskurs. Gebühren sind dabei nicht berücksichtigt!

- - Zeitraum: Anzahl Kalendertage zwischen Heute und Startzeitpunkt
    - Trades: Anzahl der durchgeführten Kauf-und Verkaufstrades. Stopp-Transaktionen werden NICHT mitgezählt 
        - Positiv oder Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    - Mittlere Haltedauer: Die durchschnittliche Anzahl von Tagen, die Trades dauern bzw. der Titel gehalten wird (Verkauf minus Initial-Kauf)
    - Diversifikation: Anzahl unterschiedlicher Titel, die gehandelt wurden. Für automatische Handelssystem immer 1
    - Bruttogewinn: Gewinn ohne Abzug von Gebühren, Slippage, Stoppkursen
    - Nettogewinn: Gewinn unter Abzug von Gebühren, Slippage, Stoppkursen

## Einstieg und Ausstiegs-Szenarien (Entry-Exit-Setup)

Für Handelssysteme gibt es unterschiedliche Einstiegs-und Ausstiegsmethoden:

- Einstieg: Immer über Kaufsignal des zugrunde liegenden technischen Indikators. Gekauft wird entsprechend der Kapitalrisiko-Einstellung in Prozent zum Einstiegskapital (und damit fixen Wert) oder in Prozent zum aktuellen Kapital. Bei einem Restkapital von 100€ wird keine Position mehr eingegangen. Um auch Index-Systeme prüfen zu können, werden Stückzahl als Gleitkommawerte mit max. 3 Nachkommastellen zugelassen. Die Init-Stopps werden sofort angelegt, wenn eine Ausstiegs-Strategie gewählt wird, die Stopps vorsieht. Es ist damit möglich eine reine signalorientierte Strategie zu fahren.
- Ausstieg 
    - "Filter": Immer über Verkaufssignale des zugrunde liegenden technischen Indikators. Stopps werden in dieser Einstellung vollständig ignoriert.
    - "Filter oder Stopps": Verkauf erfolgt über die Verkaufssignale oder über Init-Stopps oder Trailing-Stopps. Für die Stopps gelten die entsprechenden Einstellungen in Prozent. Init-Stopps werden bei Mehrfachpositionen nur dann nachgezogen, wenn der neue berechnete Init-Stopp auf den gleitenden Durchschnitts-Kaufkurs größer ist als der bisherige. Trailing-Stopps werden mit jedem Handelstag nachgezogen und entsprechend ausgelöst, sofern notwendig. Bei allen Stopps gilt, dass diese einen sofortigen Verkauf der kompletten Position bewirken.

## Optimierung der Einstellungen

[![image-1655732931602.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732931602.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732931602.png)

Die Money-Management-Einstellungen können über einen Brute-Force-Algorithmus getestet und automatisch optimiert werden. Hierbei werden alle verfügbaren Varianten "durchgespielt" und die Performance in einem derartig eingestellten Handelssystem "gemessen". Der Start erfolgt über den Reiter "Optimierung Money-Management" und dem Button "Starten". Nach dem Start kann die Berechnung jederzeit unterbrochen werden mit "Abbrechen". Die Berechnung erfolgt dabei im Rahmen der unter "Testraum für Optimierungslauf" festgelegten Rahmenbedingungen. Konkret ist im oberen Beispiel damit ein Testrahmen von Kapitalrisiko von 20% bis 100% gesetzt. Für den Initial-Risk-Stopp wird ein 5%-30% Wert zur Prüfung vorgegeben. Für den Trailing-Stopp gilt der Testrahmen von 10-50%.

Da keine genetischen Algorithmen eingesetzt werden, wird um den Berechnungsaufwand überschaubar zu halten, folgende einfache Regelung genutzt (Range = rechter Wert - linker Wert):

- Trailing-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen &gt;10% ist. Bei einer Range &lt;=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.
- Initial-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen &gt;10% ist. Bei einer Range &lt;=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.
- Kapitalrisiko wird in Schritten von 10% getestet, wenn die eingestellte Range in den Optimierungseinstellungen &gt;10% ist. Bei einer Range &lt;=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.

Wird im Handelssystem für die Exit-Festlegung eine NICHT-Stopp-Variante, d.h. Ein-und Ausstieg nur auf Basis von Indikatorsignalen, verwendet, so werden im Durchlauf die beiden Stopp-Parameter ignoriert.

Während der Berechnung wird die Abarbeitung nach folgender Prio vorgenommen: Kapital-Risiko-Typ -&gt; Kapitalrisiko -&gt; Initstopp -&gt; Trailing-Stopp. Während der Berechnung wird laufend die Statistik aktualisiert und nach der Performance-Spalte eine Sortierung vorgenommen. Am Ende der Optimierung, wird der optimale Wert für das aktuelle Handelssystem übernommen. Bei gleicher Performancekennzahl werden Handelssystem-Einstellungen mit kleinerem Init-Stopp und kleinerem Trailing-Stopp bevorzugt, da hier die Risiken sinnvoll begrenzt werden können. Um die aktuellen Einstellungen des aktiven Handelssystems als Standardeinstellung in die Programmeinstellungen zu übernehmen, kann über die unterste Toolleiste der "Speichern"-Button gedrückt werden. Diese werden beim nächsten Programmstart wieder hergestellt und dienen als Basis für alle generierten Handelssysteme. Dynamische Filter aus SHAREholder besitzen jeweils eigene Handelssystem-Einstellungen, können über entsprechende Buttons aber auf die Standardeinstellungen zurückgesetzt werden.

# Fundamentaldaten

# Aktualisierung und Quellen für Fundamentaldaten

Grundlage jeder guten Handelsstrategie ist eine fundierte und vollständige Datenbasis. Insb. die Susan Levermann Strategie baut dabei sehr stark auf Fundamentaldaten, die so auch gesichert abgeglichen werden müssen. Shareholder bietet verschiedene Optionen:

- Abgleich über die Börse-Online-Statistiken mit dem notwendigen BO-Interactive-Zugriff der mit einem Zeitungs-Abo gegeben wird (siehe [https://premium.finanzenverlag.de/boerse-online/bo-data-interactive](https://premium.finanzenverlag.de/boerse-online/bo-data-interactive))  
    siehe auch [Import von Börse-Online-Statistiken](https://www.shareholder24.com/wiki/books/boersensoftware/page/import-von-borse-online-statistiken)
- Abgleich über die Tai-Pan Schnittstellen mit dem notwendigen Daten-Abo über Lenz&amp;Partner (siehe [https://www.lp-software.de/shareholder/abonnements\_bestellen.html](https://www.lp-software.de/shareholder/abonnements_bestellen.html))  
    siehe auch [Tai-Pan Fundamentaldaten](https://www.shareholder24.com/wiki/books/boersensoftware/page/tai-pan-fundamentaldaten)

Um hier eine weitere kostenlose Möglichkeit zur Aktualisierung der enorm relevanten Aktien-Stammdaten wie GuV, Kennzahlen und Statistiken, sowie Analystenbetrachtungen zu realisieren, steht ebenfalls ein Fundamentaldatenabgleich über freie Internetangebote oder API-Datenabrufe zur Verfügung.

Technisch werden hierbei in einer Konfigurationsdatei (INI) die Basis-Adressen (URLs) und zugehörige Ausdrücke (RegEx) definiert, die die zu verwendenden Informationen extrahieren und in in die Shareholder-Datenbank übernehmen.

## Anwendung

Die Nutzung ist einheitlich über die Tool-Leiste innerhalb des Depots oder innerhalb der Detaillisten geregelt. Wie auch bei der Kursaktualisierung wird immer die aktuell sichtbare Liste für den Aktualisierungsumfang verwendet. So werden innerhalb des Depots alle Depotwerte und bei von Watchlisten alle aktuell Watchlisten-Einträge für die Aktualisierung verwendet. Das gleiche gilt für Detaillisten.

[![image-1655729968134.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729968134.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729968134.png)

Die Nutzung des Fundamental-Datenabgleichs ist der Profiversion vorbehalten! Zudem werden die Fundamentaldatenbank-Konfigurationen als eigene Zusatzmodule angeboten. In der Standardauslieferung ist die Funktionsweise nur angedeutet und nicht vollständig. Dieses Vorgehen soll sicherstellen, dass ein dauerhafter Support gewährleistet werden kann, da diese Konfigurationen wartungsintensiv sind.

Nach dem Start werden alle ausgewählten Aktien einzeln aktualisiert entsprechend dem konfigurierten Setup. Notwendige Variablen werden dabei automatisch aufgelöst und sind mit { } gekennzeichnet. Jede aufgerufene URL wird dabei gesondert angezeigt und fett markiert. Alle nachfolgenden Ausdrücke (Expressions) beziehen sich dabei immer auf den zurückgegebenen Inhalt der URL. Es werden dabei auch Seiten (paging)-Operationen unterstützt d.h. es kann zwischen verschiedenen Seiten technisch geblättert werden z.B. um für 2012-2017 und 2006-2011 die Daten abzurufen. Dabei können nicht nur Einzelwerte abgerufen werden, sondern auch Unternehmensdaten in "Jahres-Spalten" (siehe z.B. Avira).

Der nachfolgende Screenshot zeigt sehr gut das Vorgehen und die Möglichkeiten:

- Mit den ersten zwei Zeilen wird der verwendete Modus d.h. ReadOnly und Debug angezeigt. Die Einstellungen erfolgen zusammen mit allen anderen Einstellungen direkt in der zugehörigen Konfigurationsdatei, die für die Aktie verwendet werden soll. Die Einstellung erfolgt dabei über die Aktualisierungsgruppen.
- Mit der fett dargestellten URL-Zeile beginnt der Datenabruf einer Zieladresse (hier ariva-search) und der nachfolgenden Datenzuordnungen auf Basis der abgerufene Inhalte/HTMl-Seite. Hier wird konkret mit {ArivaID} das Ariva-Search-Ergebnis-Seite genutzt, um eine Variable zu setzen, die für nachfolgende URL-Datenabrufe genutzt werden kann. Dabei können Zieladressen zusammengesetzt werden und Variablen beinhalten.
- Ab der Zeile "Jahr" wird eine Tabelle oder eine Grid-Darstellung aufgelöst in eine Art "Matrix" d.h. die Spaltenköpfe initialisieren eine entsprechende Matrix, die dann mit den nachfolgende Zeilen gefüllt werden kann. Dies funktioniert inkl. einem Paging-Ansatz d.h. kann mehrere Datenseiten beinhalten die auf der Original-Website mit "Vor" und "Zurück" dargestellt sind.

[![image-1655729973413.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729973413.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729973413.png)

## Debug-Mode und Entwicklungs-Optionen

Im Dialog kann über die untere Toolleiste ein Debug-Mode aktiviert werden. Dies bewirkt, dass jede Aktie einzeln aufgelöst wird und erst mit "Starten/Weiter" der nächste Durchlauf erfolgt. Als weitere Option besteht mit "Wiederholen" die Möglichkeit einen Durchlauf für den aktuellen Titel zu wiederholen. Dies ist insb. in der Konfigurationsphase hoch relevant, da im Hintergrund die Daten geändert werden können und mit Wiederholen bereits ein Testlauf erfolgen kann ohne ständig die Dialoge zu wechseln.

## Einrichtung und Konfiguration

Im \\Daten-Verzeichnis (Hilfe / Infos / Öffne Datenverzeichnis) können verschiedene Konfigurationsdateien abgelegt werden mit einem festen Namensschema: "Internet.Fundamental-Data-\*.ini".  
Diese Konfigurationen können dabei in den Aktualisierungsgruppen zugeordnet werden. Mit der Zuordnung ist es möglich analog zu den Kursaktualisierungen auch Aktualisierungen für Fundamentaldaten zu verwenden. Dies orientieren sich vollständig an den Konfigurationen in der Konfigurationsdatei.

[![image-1655729979922.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655729979922.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655729979922.png)

## Einstellungen 

<div class="table-wrap" id="bkmrk-spezial-attribute-au"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%; height: 4246.2px;"><colgroup><col style="width: 31.7674%;"></col><col style="width: 68.2319%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row" style="height: 29.7869px;"><th aria-disabled="false" aria-label="Spezial-Attribute: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" style="height: 29.7869px;" tabindex="0"><div class="tablesorter-header-inner">Spezial-Attribute</div></th><th aria-disabled="false" aria-label="Ausprägungen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" style="height: 29.7869px;" tabindex="0"><div class="tablesorter-header-inner">Ausprägungen</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row" style="height: 258.551px;"><td class="confluenceTd" style="height: 258.551px;">@include</td><td class="confluenceTd" colspan="1" style="height: 258.551px;">&lt;String&gt;

Fügt ein Segment oder eine komplette Definition von einer anderen Datei ein. Damit können Definitions-Dubletten komplett vermieden werden

```YAML

@include Internet.Fundamental-Data-Ariva-RegVersion.ini
 
# oder einzeln mit Segmenten
 
@include Internet.Fundamental-Data-Ariva.ini[Variablen]
@include Internet.Fundamental-Data-Ariva.ini[Profildaten]
@include Internet.Fundamental-Data-Ariva-RegVersion.ini[Finanzen-GuV-5y]
@include Internet.Fundamental-Data-Ariva-RegVersion.ini[Finanzen-GuV-10y]
@include Internet.Fundamental-Data-Ariva-RegVersion.ini[Finanzen-GuV-15y]
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="b286915f-0925-40ce-8f00-1efa4916ccc0" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--4"></div></div></div></div></div></td></tr><tr role="row" style="height: 165.241px;"><td class="confluenceTd" colspan="1" style="height: 165.241px;">debug</td><td class="confluenceTd" colspan="1" style="height: 165.241px;">&lt;True|False&gt;

Wenn aktiviert wird:

- Eine detailliertere Protokollanzeige beim Aufruf dargestellt
- Pro Aktie wird zunächst gewartet, bis der Nutzer den weiteren Abruf wünscht
- Es wird eine Protokolldatei geschrieben unter: "\\Daten\\Internet.Fundamental-Data-Debug-Include-Config.log"

</td></tr><tr role="row" style="height: 114.83px;"><td class="confluenceTd" colspan="1" style="height: 114.83px;">readonly</td><td class="confluenceTd" colspan="1" style="height: 114.83px;">&lt;True|False&gt;

Wenn "False" definiert, werden:

- Keine Variablen verändert
- Keine Notizen geschrieben

</td></tr><tr role="row" style="height: 106.52px;"><td class="confluenceTd" colspan="1" style="height: 106.52px;">decimalseperator</td><td class="confluenceTd" colspan="1" style="height: 106.52px;">&lt;Char&gt;

Für die Interpreation für alle Zahlenwerte wird diese Definition verwendet:

```YAML
decimalseperator=,
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="2cd269c3-74bb-4782-8710-bec8a5c7e605" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--5"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">disablerefreshifconditions</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;True|False&gt;</td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Caching</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 78.5227px;"><td class="confluenceTd" colspan="1" style="height: 78.5227px;">url</td><td class="confluenceTd" colspan="1" style="height: 78.5227px;"><div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="c1f0d093-96d0-4790-aea2-e213b18b5ae0" data-macro-name="code"><div class="codeContent panelContent pdl"><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div>```YAML
URL=https://www.ariva.de/search/search.m?searchname={ISIN}
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="c1f0d093-96d0-4790-aea2-e213b18b5ae0" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--6"></div></div></div></div></div></td></tr><tr role="row" style="height: 210.923px;"><td class="confluenceTd" colspan="1" style="height: 210.923px;">url.refreshif.anyfieldisempty</td><td class="confluenceTd" colspan="1" style="height: 210.923px;">Wichtig ist die Definition vor der eigentlichen URL-Definition zu setzen! Für Array-Definitionen kann in Klammern das gewünschte Geschäftsjahr geschrieben werden z.B. \[ 2020 \]

```YAML
URL.RefreshIf.MinDaysSinceLastUpdate=7
URL.RefreshIf.MaxDaysSinceLastUpdate=30
URL.RefreshIf.AnyFieldIsEmpty=(Mitarbeiter; Notizen; Mitarbeiter[2019]; Eigenkapital-in-Mio[2019]; Bilanzsumme-in-Mio[2019]; Tätigkeitsbereich )
URL=https://www.ariva.de/{WebArivaID}/bilanz-guv
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="ac16f824-1523-4d15-bd6c-1fcc25e1868a" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--7"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">url..refreshif.mindayssincelastupdate</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">  
</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">url.refreshif.maxdayssincelastupdate</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">  
</td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Verhalten</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 267.358px;"><td class="confluenceTd" colspan="1" style="height: 267.358px;">RegEx.Settings</td><td class="confluenceTd" colspan="1" style="height: 267.358px;"><div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="09359884-f1cb-48ab-80e0-d3e212425777" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div></div>```YAML
[RegEx-Settings]
# Optionale Einstellungen für die Perl-Expressions
# TPerlRegExOptions = set of (
#   preCaseLess,       // /i -> Case insensitive
#   preMultiLine,      // /m -> ^ and $ also match before/after a newline, not just at the beginning and the end of the string
#   preSingleLine,     // /s -> Dot matches any character, including \n (newline). Otherwise, it matches anything except \n
#   preExtended,       // /x -> Allow regex to contain extra whitespace, newlines and Perl-style comments, all of which will be filtered out
#   preAnchored,       // /A -> Successful match can only occur at the start of the subject or right after the previous match
#   preUnGreedy,       // Repeat operators (+, *, ?) are not greedy by default (i.e. they try to match the minimum number of characters instead of the maximum)
#   preNoAutoCapture   // (group) is a non-capturing group; only named groups capture
# );
 
RegEx.Settings=[preCaseLess, preSingleLine, preUnGreedy]
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="09359884-f1cb-48ab-80e0-d3e212425777" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--8"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Datenabruf</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 80.1847px;"><td class="confluenceTd" colspan="1" style="height: 80.1847px;">url</td><td class="confluenceTd" colspan="1" style="height: 80.1847px;">Als Variablen dürfen alle internen Internet-Variablen genutzt werden in { } Klammern ebens wie ISIN, WKN

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="0a90aec3-0f46-41fc-bb1f-5257f6080be4" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--9"></div></div></div></div></div></td></tr><tr role="row" style="height: 68.1392px;"><td class="confluenceTd" colspan="1" style="height: 68.1392px;">url.paging</td><td class="confluenceTd" colspan="1" style="height: 68.1392px;"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="59176a65-e829-49ee-b53e-2a9856fc75b4" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-url.paging%3Dhttps%3A%2F%2Fw"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`URL.Paging=https:``//www.ariva.de/{WebArivaID}/bilanz-guv?page=6`</div></div></td></tr></tbody></table>

</div></div></div></div></div></td></tr><tr role="row" style="height: 96.9886px;"><td class="confluenceTd" colspan="1" style="height: 96.9886px;">url.startpaging</td><td class="confluenceTd" colspan="1" style="height: 96.9886px;">Keine weiteren Parameter notwendig, da nur die Position verwendet wird. Der mit startpaging und endpaging definierte Block wird durch "paging" effektiv als URL angefragt und dann mit allen Teilelementen aufgelöst.

<div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="56e2a20b-7cdc-47af-9edb-76e8197d4682" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div></div><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="56e2a20b-7cdc-47af-9edb-76e8197d4682" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--10"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">url.endpaging</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">Keine weiteren Parameter notwendig, da nur die Position verwendet wird (s.o.)</td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Wert-Attribute</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 103.622px;"><td class="confluenceTd" colspan="1" style="height: 103.622px;">&lt;key&gt;.removespaces</td><td class="confluenceTd" colspan="1" style="height: 103.622px;"><div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="5ef77880-68e4-4a62-ab06-305d0f442493" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div></div>```YAML
Anzahl-Aktien.RemoveSpaces=true
Anzahl-Aktien=<b>Aktien</b>.*<td.*>.*</td><td.*>.*</td><td class="nfvtR">(.*)</td>
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="5ef77880-68e4-4a62-ab06-305d0f442493" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-anzahl-aktien.remove"></div></div></div></div></div></td></tr><tr role="row" style="height: 201.648px;"><td class="confluenceTd" colspan="1" style="height: 201.648px;">&lt;key&gt;.umrechnungsfaktor</td><td class="confluenceTd" colspan="1" style="height: 201.648px;">Nur für Anzahl-Aktien relevant z.B. um Anzahl-Aktien in Mio. umzurechnen. Intern werden &lt;Int64&gt; Zahlwerte verwendet.

```YAML
Anzahl-Aktien.UmrechnungsFaktor=1000000
Anzahl-Aktien=Aktien.im.Umlauf.*<td class="right"\s*>([-+]?[0-9]*.?[0-9]*)</td>.*([-+]?[0-9]*.?[0-9]*)</td>.*([-+]?[0-9]*.?[0-9]*)</td>.*([-+]?[0-9]*.?[0-9]*)</td>.*([-+]?[0-9]*.?[0-9]*)</td>.*([-+]?[0-9]*.?[0-9]*)</td>.*subtitle level
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="17d532f0-6728-44d3-9f62-257c9d187d81" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-anzahl-aktien.umrech"></div></div></div></div></div></td></tr><tr role="row" style="height: 108.281px;"><td class="confluenceTd" colspan="1" style="height: 108.281px;">&lt;key&gt;.datumsformat</td><td class="confluenceTd" colspan="1" style="height: 108.281px;">Nur für Datumsformate interessant

<div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="f9afc908-cf40-404d-a31c-495dbfd5c942" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div></div>```YAML
HV-Termin.datumsformat = dd.mm.yyyy   
HV-Termin=HV-Termin<div>(.*)</div>
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="f9afc908-cf40-404d-a31c-495dbfd5c942" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-hv-termin.datumsform"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Ausprägungen für Aktualisierungen</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">anzahl-aktien</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;integer&gt;</td></tr><tr role="row" style="height: 108.281px;"><td class="confluenceTd" colspan="1" style="height: 108.281px;">notizen</td><td class="confluenceTd" colspan="1" style="height: 108.281px;">&lt;string&gt;

```YAML
Notizen=<div id="profil_text" class="arrow0">(.*)Copyright.*</div>
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="066e06a1-fd19-46b4-b242-c15369007ac0" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-notizen%3D%3Cdiv-id%3D%22pro"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">fullname</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">shortname</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">wkn</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;wkn&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">wpart</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;wertpapierart&gt; - Zuordnung über Name</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">isin</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;isin&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">basiswertisin</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">logo-url</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">ir-weblink</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">weblink</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">x-analysten-buy</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;int&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">x-analysten-hold</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;int&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">x-analysten-sell</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;int&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">land</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">branche</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">tätigkeitsbereich</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">bilanzierungsmethode</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">mitarbeiter</td><td class="confluenceTd" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">währung</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt; - Zuordnung durch Short-Name</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">ende-fiskaljahr</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt; als Datum</td></tr><tr role="row" style="height: 108.281px;"><td class="confluenceTd" style="height: 108.281px;">hv-termin</td><td class="confluenceTd" style="height: 108.281px;">&lt;string&gt; als Datum

```YAML
HV-Termin=">\s*(\d{1,2}\.\d{1,2}\.\d{0,4})\s*</td>.<td.>\s*Hauptversammlung
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="d5eecbc6-cd1e-47cb-b376-5afe2659ebf4" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-hv-termin%3D%22%3E%5Cs%2A%28%5Cd%7B1"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">letzter-quartalsberichtszeitpunkt</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt; als Datum</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">kommender-quartalsberichtszeitpunkt</td><td class="confluenceTd" style="height: 29.7869px;">&lt;string&gt; als Datum</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">streubesitz-in%</td><td class="confluenceTd" style="height: 29.7869px;">&lt;double&gt;</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" style="height: 29.7869px;">verschuldungsgrad-in%</td><td class="confluenceTd" style="height: 29.7869px;">&lt;double&gt;</td></tr><tr role="row" style="height: 46.5909px;"><th class="confluenceTh" colspan="1" style="height: 46.5909px;">Array-Definitionen d.h. Definitionen pro Jahr z.B. Gewinn pro Jahr</th><th class="confluenceTh" colspan="1" style="height: 46.5909px;">  
</th></tr><tr role="row" style="height: 337.983px;"><td class="confluenceTd" colspan="1" style="height: 337.983px;">jahr</td><td class="confluenceTd" colspan="1" style="height: 337.983px;">&lt;int&gt; - Array was nachfolgende Feldzuordnungen erlaubt

```YAML
Jahr="subtitle.*">.*<td.*"right year">([0-9]*|- \  )</td>.*"right year">([0-9]*|- \  )</td>.*"right year">([0-9]*|- \  )</td>.*"right year">([0-9]*|- \  )</td>.*"right year">([0-9]*|- \  )</td>.*"right year">([0-9]*|- \  )</td>
 
Mitarbeiter=Personal.am.Ende.des.Jahres\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \  )</td> </tr>\s+<tr>\s+<td class="subtitle level"\s+>\s+Personalaufwand

```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="74c76e16-6056-41b7-8732-abb904d7b7fd" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-jahr%3D%22subtitle.%2A%22%3E.%2A"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">umsatz</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">ebit</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">gewinn</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">buchwert</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">cashflow</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">dividende</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">jahresueberschuss-in-Mio</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">bilanzsumme-in-mio</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">liquide-mittel-in-mio</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">eigenkapital-in-mio</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">cashflow-in-mio</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">dilutedEPS</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">&lt;double&gt; - Array basierend auf dem durch Jahr definierten Array</td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Array-Definitionen als ... pro Aktie</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 174.588px;"><td class="confluenceTd" colspan="1" style="height: 174.588px;">Gewinn-pro-Aktie</td><td class="confluenceTd" colspan="1" style="height: 174.588px;"><div class="content-wrapper"><div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="6937a1b1-3af2-4388-b5c8-ec3a38983e9a" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java">  
</div></div></div></div></div></div>```YAML
Gewinn-pro-Aktie=Ergebnis.je.Aktie.\(brutto\)\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \  )</td>
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="6937a1b1-3af2-4388-b5c8-ec3a38983e9a" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-gewinn-pro-aktie%3Derg"></div></div></div></div></div></td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">Cashflow-pro-Aktie</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">  
</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">Dividende-pro-Aktie</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">  
</td></tr><tr role="row" style="height: 29.7869px;"><td class="confluenceTd" colspan="1" style="height: 29.7869px;">Buchwert-pro-Aktie</td><td class="confluenceTd" colspan="1" style="height: 29.7869px;">  
</td></tr><tr role="row" style="height: 29.7869px;"><th class="confluenceTh" colspan="1" style="height: 29.7869px;">Variablen</th><th class="confluenceTh" colspan="1" style="height: 29.7869px;">  
</th></tr><tr role="row" style="height: 90.5398px;"><td class="confluenceTd" colspan="1" style="height: 90.5398px;">{&lt;Variablen-Name&gt;} = &lt;Wert&gt;</td><td class="confluenceTd" colspan="1" style="height: 90.5398px;">Setzen einer beliebigen Variable

```YAML
{WebArivaID}=<a href="/([\w-]*)/kurs"
```

<div class="content-wrapper"><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="44412637-124b-4ad4-95bd-d315b0466365" data-macro-name="code"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-%7Bwebarivaid%7D%3D%3Ca-href"></div></div></div></div></div></td></tr></tbody></table>

</div>```YAML

URL=https://www.ariva.de/{WebArivaID}/bilanz-guv
URL=https://www.ariva.de/search/search.m?searchname={ISIN}
URL=http://www.stockpup.com/data/{RIC[isin]}_quarterly_financial_data.csv
```

## Beispiel-Konfiguration "Internet.Fundamental-Data-Template.ini"

Nachfolgend eine Beispiel-Konfiguration die so im \\Daten-Verzeichnis abgelegt werden könnte.

```YAML
# Reine Template-Version, die jedoch alle typischen Kombinationen aufnimmt und als Beispiel-Referenz dienen sollte
# Status: INIT-Version
# History: 04.10.2017: Initialversion inkl. der neuen Stammdaten aus der 13.12.2 Version (04.10.2017)
 
[Development-Settings]
 
# debug true(default)|false
debug=true
 
# readonly true(default)|false
readonly=false
 
[RegEx-Settings]
# Optionale Einstellungen für die Perl-Expressions
# TPerlRegExOptions = set of (
#   preCaseLess,       // /i -> Case insensitive
#   preMultiLine,      // /m -> ^ and $ also match before/after a newline, not just at the beginning and the end of the string
#   preSingleLine,     // /s -> Dot matches any character, including \n (newline). Otherwise, it matches anything except \n
#   preExtended,       // /x -> Allow regex to contain extra whitespace, newlines and Perl-style comments, all of which will be filtered out
#   preAnchored,       // /A -> Successful match can only occur at the start of the subject or right after the previous match
#   preUnGreedy,       // Repeat operators (+, *, ?) are not greedy by default (i.e. they try to match the minimum number of characters instead of the maximum)
#   preNoAutoCapture   // (group) is a non-capturing group; only named groups capture
# );
 
RegEx.Settings=[preCaseLess, preSingleLine, preUnGreedy]
 
[Variablen]
 
# Das Dezimaltrennzeichen kann jederzeit neu gesetzt werden und ist dann fortan gültig
decimalseperator=,
 
# URLS können abhängig von dem letzten Aktualisierungszeitpunkt aufgerufen werden, um unnötige Aktualisierungen zu vermeiden
URL.RefreshIf.MinDaysSinceLastUpdate=7
 
# AnyFields enthält per Komma getrennt alle Stammdaten-Felder/Variablen die geprüft werden sollen, ob diese leer sind. Nur wenn dies der Fall ist, erfolgt die URL-Auflösung.
# Die Verarbeitung erfolgt dann erst beim nächstfolgenden URL-Request. Variablen werden dabei ohne { aufgeschrieben. Stammdaten-Felder werden analog der normalen Schreibweise
# vor dem = Zeichen aufgeschrieben
URL.RefreshIf.AnyFieldIsEmpty=(ArivaID)
 
# Jede URL wird genutzt um neuen Content abzurufen.
# Alle nachfolgenden RegEx werden dann auf diesem Content angewendet. Zeilenvorschübe werden dabei ersetzt mit einem Leerzeichen, um die RegEx zu vereinfachen
 
URL=https://www.zieladresse.com/search/search.m?searchname={ISIN}
 
# Mit einem Contentabruf können auch Variablen gebildet werden, die durch { } gekennzeichnet sind und nachfolgend wie andere Variablen genutzt werden können
{ReqID}.SaveInDatabase=true
{ReqID}=<a href="/([\w-]*)/kurs"
 
[Analystendaten]
 
URL.RefreshIf.MinDaysSinceLastUpdate=7
URL.RefreshIf.AnyFieldIsEmpty=(x-Analysten-Buy, x-Analysten-Hold, x-Analysten-Sell, Anzahl-Aktien, IR-Weblink)
 
URL=https://www.zieladresse.com/{ReqID}
 
x-Analysten-StrongBuy=
 
x-Analysten-Buy=analyst_type=analyst\&recommendation=buy"\>(\d*) \<\/a\>
 
x-Analysten-Hold=analyst_type=analyst\&recommendation=hold"\>(\d*) \<\/a\>
 
x-Analysten-Sell=analyst_type=analyst\&recommendation=sell"\>(\d*) \<\/a\>
 
x-Analysten-StrongSell=
 
# EPS-Revisionen=
 
[Stammdaten]
 
Anzahl-Aktien=Aktienanzahl</td>.*([0-9]*.[0-9]*).Mio
 
Notizen=div class="text".(.*)./div
 
IR-Weblink=class="subtitle">Website</td>.*href="(.*)"
 
Weblink=
 
Land=class="subtitle">Land</td> <td>(.*)</td>
 
Branche=class="subtitle">Branche</td> <td>(.*)</td>
 
Tätigkeitsbereich=class="subtitle">Sektor</td> <td>(.*)</td>
 
Mitarbeiter=Personal.am.Ende.des.Jahres\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td> </tr>\s+<tr>\s+<td class="subtitle level0"\s+>\s+Personalaufwand
 
Währung=class="subtitle">Währung</td> <td>(.*)</td>
 
Ende-Fiskaljahr=
 
HV-Termin.datumsformat = dd.mm.yyyy    
HV-Termin=HV-Termin<div>(.*)</div>
 
Streubesitz-in%=
 
Bilanzierungsmethode=
 
Letzter-Quartalsberichtszeitpunkt=
 
Kommender-Quartalsberichtszeitpunkt=
 
 
[Kennzahlen]
URL=https://www.zieladresse.com/{ReqID}/bilanz-guv
 
# Reguläre Ausdrücke analog: https://www.regular-expressions.info/quickstart.html. Es werden die Matchgruppen 1-10 verwendet.
 
Eigenkapitalquote-in%=Eigenkapitalquote.in.%\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
Eigenkapitalrendite-in%=Eigenkapitalrendite.in.%\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
Netto-Marge-in-%=Gewinnrendite.in.%\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
EBIT-Marge-in%=
 
EBITDA-marge-in%=
 
 
Cashquote-in%=
 
Verschuldungsgrad-in%=
 
[Bilanz]
 
Bilanzsumme-in-Mio=Summe Aktiva\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
Liquide-Mittel-in-Mio=
 
Cashflow-in-Mio=
 
Jahresueberschuss-in-Mio=
 
 
[Bilanz-mit-Jahresdaten]
 
URL.StartPaging
 
Jahr="subtitle.*">.*<td.*"right year">([0-9]*|- \&nbsp; )</td>.*"right year">([0-9]*|- \&nbsp; )</td>.*"right year">([0-9]*|- \&nbsp; )</td>.*"right year">([0-9]*|- \&nbsp; )</td>.*"right year">([0-9]*|- \&nbsp; )</td>.*"right year">([0-9]*|- \&nbsp; )</td>
 
Jahr=Gewinn-.und.Verlustrechnung.*<thead>.*<th>([0-9]{4}).?</th>.*<th>([0-9]{4}).?</th>.*<th>([0-9]{4}).?</th>.*<th>([0-9]{4}).?</th>.*<th>([0-9]{4}).?</th>.*<th>([0-9]{4}).?</th>
 
Umsatz=(?:Umsatz|Gesamtertrag)\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
Jahresueberschuss-in-Mio=Jahresüberschuss\/-fehlbetrag\s+</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>\s+<td class="right"  >([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
EBIT.UmrechnungsFaktor=1000
EBIT=EBIT</td>.*<td>([-+]?[0-9,\,]*)</td>.*<td>([-+]?[0-9,\,]*)</td>.*<td>([-+]?[0-9,\,]*)</td>.*<td>([-+]?[0-9,\,]*)</td>.*<td>([-+]?[0-9,\,]*)</td>.*<td>([-+]?[0-9,\,]*)</td>
 
# ... wird umgerechnet in Gewinn-pro-Aktie
Gewinn=
 
Gewinn-pro-Aktie=Ergebnis.je.Aktie.\(brutto\)\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
# ... wird umgerechnet in Buchwert-pro-Aktie
Buchwert=
 
Buchwert-pro-Aktie=Buchwert.je.Aktie\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
# ... wird umgerechnet in Cashflow-pro-Aktie
Cashflow=
 
Cashflow-pro-Aktie=Cashflow.je.Aktie\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
# ... wird umgerechnet in Dividende-pro-Aktie
Dividende=
 
Dividende-pro-Aktie=Dividende.je.Aktie\s.*class="right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>(.*)</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>.*"right"\s+>([-+]?[0-9]*.?[0-9]*|- \&nbsp; )</td>
 
 
URL.EndPaging
 
[Finanzen-GuV-10y]
# Wenn ein Paging benötigt wird, kann dies mit .Paging eingeleitet werden. Es erfolgt automatisch ein Rücksprung auf die letzte definierte URL und dessen Formatbeschreibungen
# URL.Paging=https://www.zieladresse.com/{ReqID}/bilanz-guv?page=6
 
[Finanzen-GuV-15y]
# Wenn ein Paging benötigt wird, kann dies mit .Paging eingeleitet werden. Es erfolgt automatisch ein Rücksprung auf die letzte definierte URL und dessen Formatbeschreibungen
# URL.Paging=https://www.zieladresse.com/{ReqID}/bilanz-guv?page=12
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="938a36f4-6ab2-4312-9876-34f66ed5ac82" data-macro-name="code" id="bkmrk--3"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--11"></div></div></div></div>

# Import von Börse-Online-Statistiken

## Registrierung Premium Bereich

Um die Statistiken von Börse Online verwenden zu können, muss eine Registrierung für den entsprechenden Premium-Bereich vorliegen. Als Abonnent des Magazins BÖRSE ONLINE können zusätzlich alle exklusiven Angebote für Magazin-Abonnenten unter www.boerse-online.de uneingeschränkt genutzt werden - ohne zusätzliche Kosten. Hierzu müssen mit Ihrer BÖRSE ONLINE Abo-Nummer die Zugangsdaten angefordert werden.

Details finden Sie hier: [https://www.boerse-online.de/premium](https://www.boerse-online.de/premium)

## Statistik-Excelliste

Im Premiumbereich wird eine täglich aktualisierte Unternehmensdatenstatistik bereitgestellt als Excel-Tabelle. Um die Downloadmengen gering zu halten, wird eine Basis-Excel-Datei bereitgestellt. Diese wird dann wöchentlich mit einer Updatedatei aktualisiert. Hierzu muss diese Datei heruntergeladen und in das selbe Verzeichnis wie die Basisdatei gelegt werden. Danach kann über die Exceldatei ein Aktualisierungsmakro aufgerufen werden.

## Arbeitsschritte

[![image-1655730567733.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730567733.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730567733.png)

## Direktaktualisierung ohne Excel-Zwischenschritt

Die Stammdaten können direkt aus der aktuellen Updatedatei eingelesen werden. Starten Sie hierzu einfach über den Import-Button.

### Voraussetzung für die Aktualisierung

Um die Daten erfolgreich von der Börse-Online-Statistik übernehmen zu können, müssen zunächst die Logindaten unter dem Hauptmenü.Einstellungen geändert werden. Zunächst reicht es hier aus den Loginnamen und das Kennwort festzulegen.

Die Premium-URL wird als Login-Adresse zur Anmeldung an den Premiumservice verwendet. Anschließend wird die Download-URL-XLS Adresse verwendet, um die Basis-Excel-Liste zu downloaden bzw. die zugehörige Updatedatei. Das Einstellungsmenü erlaubt Aktualisierungen dieser Adressen, falls Börse-Online seinen Premium-Service umstrukturieren sollte.

### Datenabgleich

Folgende Daten werden mit der Statistik abgeglichen:

- Name
- Branche
- ISIN
- WKN
- Aktienstückzahl
- Umsatz
- Buchwert
- Cashflow
- Ergebnisse je Aktie für die vorhandenen Gewinnschätzungen (z.B. 1997-2006)
- Dividende je Aktie für die angegebenen Jahren (z.B. 1997-2006)

Alle oben rot markierten Bereiche werden somit durch die BO-Statistik aktualisiert. Daraus ableitend, können im Programm berechnete Kennzahlen wie KGV, UMK, PEG usw. bereitgestellt werden. Diesen Aktualisierungsumfang leistet ein persönliches Research niemals und es für den Preis des BO-Abos kaum zu toppen.

### Importvorgang

Um den Aktualisierungsvorgang und Import in SHAREholder so einfach wie möglich zu halten, werden folgende Schritte automatisch durch SHAREholder durchgeführt:

- Download der Aktualisierungsdatei
- Import der aktuellen Statistik in SHAREholder zur Aktualisierung der Unternehmensdaten
- Abgleich wenn gewünscht gegen Watchlisten/Beobachtungslisten

Damit der Vorgang erfolgreich abgeschlossen werden kann, müssen zuvor unter Hauptmenü.Einstellungen.BO die Logindaten für den Premiumbereich hinterlegt werden, da diese für den automatischen Download der Dateien benötigt werden.

### Auf Wunsch als Beobachtungslisten Positiv/Negativ

Auf Wunsch werden nach Abschluss des Abgleichs Positiv/Negativ Watchlisten erzeugt. Positiv meint hier positiv veränderte Unternehmensgewinne. Negativ entsprechend übertragend. Bei der Aktualisierung werden Positive-Negative-Änderungen bei Unternehmensgewinnen mit grün oder rot markiert, sowie mit entsprechenden Prozentwerten für die Änderung beschrieben. Als Basis dient immer das eingestellte Basisjahr.

Shareholder sollte so mindestens einmal wöchentlich mit den Statistikdaten aktualisiert werden!

# Detaillisten alias Cockpit

# Grundbedienung

## Einleitung

Die Detail-Liste (alias Trading-Cockpit) erlaubt es Ihnen in filterbaren, sortierbaren Tabellendarstellungen auf Basis von Depot-Listen, Watchlisten und Marktlisten individuelle Vergleiche und Analysen durchzuführen. Sie definieren dabei durch die eingeblendeten "Spalten" Ihren gewählten Daten/Sichtbereich d.h. Ihre "Lupe" für die weiteren Betrachtungen.  
  
In den Detaillisten haben Sie Zugriff auf:

- über 130 Detail-Informationen pro Titel auf Basis von Stammdaten, Kennzahlen, Fundamentaldaten und technischen Auswertungen wie Kurs-Performance, Spreads, Volatilität etc.
- Indikatoren-Berechnungen und Analysen (separat konfigurierbar)
- Prognose-Berechnungen und Prognose-Werte
- Stopp-Kurs-Einstellungen (unabhängig davon ob der Titel im Depot ist oder nicht)

## Aufruf

Der Aufruf der Detail-Listen kann nach verschiedenen Kategorien erfolgen, die inhaltlich über die gepflegten Stammdaten der Einzeltitel aufgelöst werden. Es werden dabei nur die effektiv vorhandenen und sinnvollen Kategorien angezeigt.

[![image-1656080294368.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656080294368.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656080294368.png)

#### Konfiguration der Katalog-Gruppierung 

Um die Gruppierungen für das Menü "Detail-Listen" anzupassen, müssen die Konfigurationen der vorhandenen Kataloge angepasst werden. Nachfolgend visuell einmal dargestellt.

[![image-1656080593275.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656080593275.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656080593275.png)

## Aufbau 

Im Hauptfenster können Sie die Detailliste folgendermaßen aufrufen.

- Detaillisten
- Rechte Maustaste - Detaillisten

Die Detailliste erscheint als schwebendes Fenster vor dem Hauptprogramm und Sie können dieses parallel auf einem zweiten Bildschirm nutzen. Es gibt die Möglichkeit durch "Andocken" / "Abdocken" das Fenster im ständigen Zugriff im Hauptprogramm einzubinden. Damit ist es aber nicht mehr parallel nutzbar sondern es muss hin- und her geschaltet werden.

[![image-1655730962246.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730962246.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730962246.png)

<div class="table-wrap" id="bkmrk-element-beschreibung"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Element: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Element</div></th><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">B</td><td class="confluenceTd">**Kontext Trading** für zu- / ausbuchen von Wertpapieren über die Kauf-/Verkauffunktion

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">C</td><td class="confluenceTd" colspan="1">**Kurs/Fundamental-Daten-Aktualisierung**  für die schnelle Kursdatenaktualisierung der angezeigten Kurstitel</td></tr><tr role="row"><td class="confluenceTd" colspan="1">D</td><td class="confluenceTd" colspan="1">**Suche** für die Schnellsuche nach ISIN, WKN, Name, Variablen-Berzeichnung über alle Titel und bietet als Information ergänzend Gewinne und Verlierer-Daten für die aktuelle Auswahl</td></tr><tr role="row"><td class="confluenceTd" colspan="1">E</td><td class="confluenceTd" colspan="1">**Indikatoren** erlaubt Ihnen individuelle Berechnungen zu charakterisieren - Indikatoren ermöglichen individuelle Berechnungen, die in der Liste dargestellt werden können
- ROC definiert das Zeitfenster das Sie innerhalb Ihrer Lupe betrachten

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">F</td><td class="confluenceTd" colspan="1">**Auswertung** für die aktuell dargestellten Titel. Zeigt Ihnen Grenzwerte (KGV, KWV, DivR und Tagesentwicklung) Ihrer betrachteten Wertpapierauswahl zum aktuellen Zeitpunkt in einem Infopannel (Median und Durchschnitt)   
- KGV: Kurs Gewinn Verhältnis
- KWV: Kurs Wachstums Verhältnis
- DivR: Dividendenrendite
- Entwicklung: Tagesentwicklung

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">G</td><td class="confluenceTd" colspan="1">**Schnellauswahl von Markt/Watchlisten**. Hier wählen Sie entweder eine Beobachtungsliste oder eine Marktliste wie DAX, DOW Jones usw. Als Tabauswahl unten steht Ihnen immer eine Alternative in der Selektion zur Verfügung. Der Inhalt wechselt dabei zwischen Beobachtungslisten-Tabs und Marktlisten-Tabs, je nach letzter Selektion.</td></tr></tbody></table>

</div>### (D) Suche und Schnellsprung

[![image-1655730968805.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730968805.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730968805.png)

  
Grundsätzlich ist die Marktliste als Tabelle sortiert. Die Sortierung wird durch Klicks auf die Spaltenköpfe jederzeit verändert. Zudem wird aber auf die Titelnamen einen interes Nachschlagen verwendet, so dass Sie sehr schnell innerhalb der Liste zu Intel springen können, indem Sie einfach die Anfangsbuchstaben z.B. "IN" eingeben.

Die eigentliche Suche ist immer eine Volltextteilsuche. Als Suchtext können entsprechend den Angaben im Marktsegmentfenster verwendet werden:

- WKN/ISIN
- Kurzname
- Symbolkennung
- Alle vorhandenen Variablenwerte (definiert als Internet.Variablen) und einzusehen in den Stammdaten (Doppelklick), Variablen
- Name  
    d.h. sowohl die Suche mit der ISIN: DE000804 ohne ..5501 führt zum Erfolg wie auch einfach nur DVB für den Titel DVB Bank.

### (E) Indikatorenliste

Es ist möglich für alle Indikatoren ein oder mehrfach diese in die Kursliste einzublenden.

- Mehr Details unter: [Indikatorenlisten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605439/Indikatorenlisten)

### (E) Veränderung zum Stichtag anzeigen (ROC)

[![image-1655730978923.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730978923.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730978923.png)

Als Sonderfunktion steht über die Titelleiste die Berechnung eines Rate-Of-Change-Wertes zur Verfügung. Dies kann über einen festlegbaren Zeitraum die Performance der Titel berechnen. Zur Aktivierung muss das kleine schwarze Dreieck angeklickt werden Anschließend kann eine Eingrenzung VON-BIS vorgenommen werden. Das BIS ist insb. sinnvoll, da so sogar Performanceanalysen zu einem bestimmten Ereignis vorgenommen werden können. Ein Beispiel wäre, welcher Wert ist in der letzte Hausse am schnellsten gestiegen direkt nach dem Wendepunkt.

### (F) Auswertung der aktuellen Liste

[![image-1655730984024.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730984024.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730984024.png)

Im Infopannel wird gruppiert nach den Informationen KGV, KWV, DivR und Tagesentwicklung jeweils der Median (M) und der Durchschnittswert (A) angezeigt, aller aktuell in der Liste aufgeführten Werte.

- KGV: Kurs Gewinn Verhältnis
- KWV: Kurs Wachstums Verhältnis
- DivR: Dividendenrendite
- Entwicklung: Tagesentwicklung
- Aktualität: Prozentuale grafische Darstellung der Aktualität aller gezeigten Kurslistenwerte für den Tag, sowie für die historischen Kursdaten. Die History wird für einen Titel nur als aktuell betrachtet, wenn die letzten 5 logischen Kurstage vorliegen. Feiertage werden nicht berücksichtigt und führen zu Falschdarstellungen.

![(Frage)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/help_16.png) Median: Die Zahlenwerte werden z. B. aus einer zeitlichen Reihenfolge so umgeordnet, dass eine Datentabelle entsteht, in der die Messwerte der Größe nach geordnet sind. Bei ungeradzahliger Anzahl wird der in der Mitte stehende Wert als charakteristischer Wert angesehen (Median). Stehen in der Tabelle eine gerade Anzahl von Messwerten, so wird der Mittelwert der beiden benachbarten mittleren Werte genommen (Pseudomedian). Median ist ein besseres Maß für den häufigsten Wert als der Mittelwert. Dies gilt in allen Fällen, besonders aber bei schiefen oder mehrgipfeligen Verteilungen.

## Anwendungsfälle

### Detail-Filterung und spezifische Auswertungen

Sie sollten zunächst über das Kontextmenü und der Spalten-Auswahl für sich eine geeignete Datenauswahl treffen. Es ist selten notwendig alle Informationen gleichzeitig angezeigt zu bekommen:

[![image-1655730989184.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730989184.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730989184.png)

Die Einstellungen für die gewählten Spalten bleiben dabei dauerhaft erhalten. Sie haben zusätzlich einen sogenannten Pflegemodus für die Stammdaten-Pflege zur Verfügung. Technisch wird praktisch eine zweite Konfiguration für die aktuelle Spaltenauswahl geladen und gespeichert. Sie haben damit technisch zwei verschiedene Profile zur Verfügung für geeignete Spalten-Konfigurationen.

[![image-1655730994531.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655730994531.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655730994531.png)

Um mit den Daten schnell zu arbeiten, können Sie in den Spaltenköpfen über die "..." jederzeit auch ein Filter aktivieren, der mit &lt; , &gt; , = Operatoren arbeiten knn. Nach dem Klick auf die kleinen Punkte wird ein kleines Eingabefeld für den Suchfilter aktiviert. Der Suchfilter wird mit der Entertaste aktiviert. Zurückgesetzt wird dieser durch Löschen der vorherigen Eingabe. Filter können additiv genutzt werden und werden im Spaltenkopf rot markiert, hier die Nutzung eines Kursfilters in der Form: Suche Branche "Bio" mit einem "KGV&lt;13". Filter werden wieder deaktiviert durch Wechsel der Kursliste oder durch Neuaufbau der Gesamtliste d.h. z.B. durch Refresh /F5. Zahlenfilter erlauben durch vorgesetztes "&lt;" oder "&gt;" Zeichen einfachste Auswertungen.

### Technische Indikatoren-Auswertungen zur übergreifenden Marktbetrachtung für komplette Auswahllisten

Sie wählen über die unteren Reiter eine bevorzugte Markt oder Watchliste aus. Sie können auch die Suche benutzen, wenn Sie es auf spezielle Titel anwenden möchten. Idealerweise stellen Sie jedoch bevorzugte Listen immer als Watchlisten zusammen. Dies können Sie auch direkt über die Kontextmenüs im Programm machen.

Um Indikatoren für die aktuelle Liste zusammenzustellen, müssen Sie lediglich über (1) die Auswahl-Liste aufrufen aller verfügbaren Indikatoren, dann unter (2) die relevanten Indikatoren auswählen und unter (3) die Ergebnis-Typ-Auswahl vornehmen.  
Dabei gilt:

- Wert - Eigentliche Indikatorenwert aus der Berechnung
- Zone - Wert zwischen 1..3 und beschreibt je nach Konfiguration des Indikators, wo der aktuell Wert sich aufhält auf Basis vor gleichverteilten oder gewichteten berechneten Zonen. 1 wäre damit das obere Percentil, 2 der mittlere Bereich und 3 das untere Percentil.
- Signal - Kauf (Wert zwischen 0&gt;..1 und Verkaufssignal als Werte zwischen -1 ..&lt;0). Am Signaltag werden damit bei Kaufsignal 1 und bei Verkaufssignal -1 generiert. Da die Signalgenerierung eine konfigurierbare "Verfallszeit" besitzt, sind die Werte dann an den nachfolgenden Tagen umgekehrt expotentiell abfallend. Ist das Signal &gt; Verfallszeit wird nur wieder 0 zurückgegeben.
- Signalstärke ist ein Sonderfall für Candlestick-Indikatoren, wo die einzelnen Patterns eigene statische Wirk-Stärken besitzen

[![image-1655731000298.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731000298.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731000298.png)

### Stammdaten-Pflege 

#### Anlage eines neuen Titels

[![image-1655731005681.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731005681.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731005681.png)

  
Ebenso wird hier das Anlegen eines neuen Titels möglich gemacht. Als Basiseinstellungen dient hierbei das aktuell ausgewählte Marktsegment. Diese wird dann aber ohnehin in den anschließend angezeigten Stammdaten editierbar.

#### Titel-und Stammdatenpflege-Modus und Spezialfilter

[![image-1655731010199.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731010199.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731010199.png)

Die große Stärke von ShareHolder soll die Möglichkeit zur Pflege und zum Management von eigenen Titeln sein. Damit dies zusätzlich unterstützt wird, gibt es einen eigenen Reiter mit gesonderten Filtern.

##### (A) Pflegemodus aktivieren

  
Sie können einen besonderen Pflegemodus aktivieren. Damit wird in der Ansicht ein gesondertes Konfigurations-Setup geladen. Nach der Aktivierung bleiben dann von Ihnen vorgenommene Einstellungen aber behalten, so dass es technisch wie eine zweite Konfiguration für die Detail-Liste insb. der Spalten-Köpfe, -Positionen und Größen verwendet werden kann. Ziel ist es aber speziell die Spalten anzuzeigen, die für die Stammdatenpflege relevant sind.  
  
Im Default werden daher folgende Informationen angezeigt:

[![image-1655731015055.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731015055.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731015055.png)

Folgende Spalten sind dabei von besonderem Interesse, um systematisch die Datenpflege zu realisieren:

- Aktualisierungsgruppe: Welches Aktualisierungsprofil wird hier eigentlich genutzt. Die Aktualisierungsprofile nutzen dabei Namen, woraus erkennbar ist, welche Datenquelle/Markt/Währung benutzt wird.
- Internetvariablen.First: Dies ist die zuerst genutzte Internetvariable die für Internetkursaktualisierungen benutzt wird. Wird beispielsweise "Ariva/Xetra/€" benutzt, wird die arivaSecuID intern technisch zur Auslösung der korrekten Zieladresse benutzt. In dem Schema "&lt;Variablenname&gt;=&lt;Wert&gt;" wird dabei die Variable und der verwendete Wert angezeigt. Aktiviert man mit &lt;Strg&gt;&lt;F&gt; einmal das Protokoll und aktualisiert mit &lt;Strg&gt;&lt;F5&gt; z.B. einfach einmal für den "Allianz"-Titel die Internetkursdaten erhält man folgendes Protokoll. Hier sieht man sehr schön, dass die Ziel-URl auf Basis der secu=292 und der Börsen mit der boerse\_id=6 technisch aufgelöst wird. Der 292-Wert ist in der Variable "arivaSecuID" hinterlegt für die Aktie und die Börse (für Xetra) an der Aktualisierungsgruppe "Ariva/Xetra/€".  
      
    [![image-1655731021305.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731021305.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731021305.png)

##### (B) Filterung von Titeln mit unsauberen Stammdaten

[![image-1655731026224.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731026224.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731026224.png)

Wenn Sie den Button "Filtere Titel mit unsauberen Stammdante" drücken, wird entweder für die aktuelle Liste oder für alle Titel geprüft, ob ein Markt-Segment nicht gesetzt worden ist oder eine Aktualisierungsgruppe (siehe auch die Spalten-Anzeige) nicht gesetzt wurde für Internetaktualisierungen.

##### (C) Filtere nach aktuellem Kursdaten-Alter  


[![image-1655731106107.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731106107.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731106107.png)

Um fehlerhafte Aktualisierungsprofile oder ungenaue Kurs-Daten ebenfalls mit einem Klick filtern zu können, gibt es diese ergänzende Option. Sie hinterlegen einfach die Anzahl von Tagen oder Stunden, die maximal der letzte Kursstempel der Aktie alt sein darf. Anders ausgedrückt: Filtere alle Titel die beispielsweise ein letzten Kursstempel &gt;3 Tage haben und damit praktisch veraltet sind.

#### Variablenverwaltung

[![image-1655731112539.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731112539.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731112539.png)

Mit "Variablen Reset: &lt;Name&gt;" ist das Zurücksetzen der zuvor selektierten Werte auf einen Leerstring für den betroffenen Variablenwert gemeint. Variablen werden insb. für die Internetkursaktualisierung genutzt um spezifische Referenzfelder für Adressauflösungen zu verwenden wie z.B. für Yahoo-Symbolkennungen. Dies kann nützlich sein, bei automatisch durch das Programm ausgelesenen statischen Variablen, die durch Änderung des Datenlieferanten (teilweise) ungültig geworden sind. Mit erneuter Aktualisierung würde hier bei korrekter Konfiguration die Variable automatisch neu zugeordnet.

#### Watchlistenzuordnung

[![image-1655731119732.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731119732.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731119732.png)

Nach Auswahl der Toolbar "Stammdaten" werden alle vorhandenen Watchlisten dargestellt. Sind aktuell Werte markiert in der Kursliste kann nach Auswahl einer Watchliste die Zuordnung zu dieser ausgewählten Watchliste neu getroffen werden. Als Alternative steht Ihnen zu allen selektieren Werte das Kontextmenü über die rechte Maustaste innerhalb der Liste zur Verfügung.

#### Marktzuordnung

[![image-1655731124893.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731124893.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731124893.png)

  
Ähnlich dem Prinzip von Watchlistenzuordnungen werden zunächst die zu verändernden Werte in der Kursliste markiert (kann auch nur ein Wert sein). Über das Kontextmenü wird dann über das Untermenü von Marktzuordnung ein Markt gewählt. Die Zuordnung des Wertes zu diesem Papier erfolgt dann sofort. Diese Zuordnung ist gegenüber der Stammdatenänderung im Vorteil durch die gleichzeitige Manipulation von mehreren Werten.

## Anhang:

### Kennzahlen und Informationen

<div class="table-wrap" id="bkmrk-spalte-kurz-erl%C3%A4uter"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 6.67486%;"></col><col style="width: 15.4459%;"></col><col style="width: 77.8785%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Spalte: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Spalte</div></th><th aria-disabled="false" aria-label="Kurz-Erläuterung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Kurz-Erläuterung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">1</td><td class="confluenceTd" colspan="1">Bezeichnung</td><td class="confluenceTd" colspan="1">Langbezeichnung, so wir diese in den Stammdaten hinterlegt worden ist. Es können UTF-8-Kodierungen dabei verwendet werden. Im Default wird immer der Langname verwendet.</td></tr><tr role="row"><td class="confluenceTd">2</td><td class="confluenceTd" colspan="1">Kurzname</td><td class="confluenceTd" colspan="1">Kurzbezeichnung, um insb. in Depot-Ansichten und Berichten und Charts eine alternative kurze Bezeichnung verwenden zu können.</td></tr><tr role="row"><td class="confluenceTd">3</td><td class="confluenceTd" colspan="1">ISIN</td><td class="confluenceTd" colspan="1">Internationale Wertpapierkennnummer (englisch International Securities Identification Number, abgekürzt ISIN) ist eine zwölfstellige Buchstaben-Zahlen-Kombination und stellt eine Identifikation hauptsächlich – aber nicht ausschließlich – für an der Börse gehandelte Wertpapiere dar.  
Weiteres zum Aufbau: [Internationale Wertpapierkennnummer – Wikipedia](https://de.wikipedia.org/wiki/Internationale_Wertpapierkennnummer)

Technisch ist die ISIN in ShareHolder der Primärschlüssel, worüber ein Titel eindeutig identifiziert werden muss. ISIN nummern können automatisch generiert werden, wenn keine festgelegt wird. Diese sind am A000XXXX, B0000XXXX zu erkennen.

</td></tr><tr role="row"><td class="confluenceTd">4</td><td class="confluenceTd" colspan="1">WKN</td><td class="confluenceTd" colspan="1">Die Wertpapierkennnummer ist eine in Deutschland verwendete sechsstellige Ziffern- und Buchstabenkombination zur Identifizierung von Wertpapieren. Schreibt man drei Nullen vor die WKN, so erhält man die neunstellige deutsche National Securities Identifying Number des jeweiligen Wertpapiers.</td></tr><tr role="row"><td class="confluenceTd">5</td><td class="confluenceTd" colspan="1">Branche</td><td class="confluenceTd" colspan="1">Optionale Zuordnung zu einer Branche als freies Textfeld</td></tr><tr role="row"><td class="confluenceTd">6</td><td class="confluenceTd" colspan="1">Land</td><td class="confluenceTd" colspan="1">Optionale Zuordnung zu einem Land als freies Textfeld</td></tr><tr role="row"><td class="confluenceTd">7</td><td class="confluenceTd" colspan="1">Bereich</td><td class="confluenceTd" colspan="1">Optionale Zuordnung zu einem Sektor/Bereich als freies Textfeld</td></tr><tr role="row"><td class="confluenceTd">8</td><td class="confluenceTd" colspan="1">OS-Laufzeit</td><td class="confluenceTd" colspan="1">Optionale Darstellung der Laufzeit von Optionen und Optionsscheinen, Zertifikaten</td></tr><tr role="row"><td class="confluenceTd">9</td><td class="confluenceTd" colspan="1">OS-Basiswert</td><td class="confluenceTd" colspan="1">Optionale Darstellung des Basiswertes von Optionen und Optionsscheinen, Zertifikaten z.B. Long-CALL auf den DAX. Womit DAX der Basiswert ist.</td></tr><tr role="row"><td class="confluenceTd">10</td><td class="confluenceTd" colspan="1">OS-Typ</td><td class="confluenceTd" colspan="1">Optionale Darstellung des Typs als Long oder Short</td></tr><tr role="row"><td class="confluenceTd">11</td><td class="confluenceTd" colspan="1">OS-Schwelle</td><td class="confluenceTd" colspan="1">Optionale Darstellung von Schwellwerten von Optionen und Optionsscheinen, Zertifikaten z.B. die Knockout-Schwelle</td></tr><tr role="row"><td class="confluenceTd">12</td><td class="confluenceTd" colspan="1">OS-BezVer</td><td class="confluenceTd" colspan="1">Optionale Darstellung des Bezugsverhältnisses 1: XXX</td></tr><tr role="row"><td class="confluenceTd">13</td><td class="confluenceTd" colspan="1">Zeit</td><td class="confluenceTd" colspan="1">Letzter Kursstempel mit Datum, Zeit</td></tr><tr role="row"><td class="confluenceTd">14</td><td class="confluenceTd" colspan="1">Candle</td><td class="confluenceTd" colspan="1">Ein um 90° nach rechts gedrehter Candlestick des Tageskurs

</td></tr><tr role="row"><td class="confluenceTd">15</td><td class="confluenceTd" colspan="1">Entwicklung</td><td class="confluenceTd" colspan="1">% und Absolute Darstellung der Wertentwicklung</td></tr><tr role="row"><td class="confluenceTd">16</td><td class="confluenceTd" colspan="1">AK</td><td class="confluenceTd" colspan="1">Aktueller Kurs bzw. letzter Kurs</td></tr><tr role="row"><td class="confluenceTd">17</td><td class="confluenceTd">ROC</td><td class="confluenceTd">RateOfChange zu einem festgelegtem Zeitraum (nicht nur Stichtag). Betrachtungszeitraum wird abgefragt, sobald auf das kleine schwarze Rechteck im Spaltenkopf geklickt wird oder über die obere Toolbar.</td></tr><tr role="row"><td class="confluenceTd">18</td><td class="confluenceTd" colspan="1">Stopp</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">19</td><td class="confluenceTd" colspan="1">Volumen</td><td class="confluenceTd" colspan="1">Handelsvolumen. Der Wert ist extrem davon abhängig welcher Börsenplatz zur Kursaktualisierung verwendet worden ist.</td></tr><tr role="row"><td class="confluenceTd">20</td><td class="confluenceTd">KUV</td><td class="confluenceTd">Kurs-Umsatz-Verhältnis. Formel: Börsenwert/Umsatzerlöse (des zuletzt abgelaufenen Geschäftsjahres). Interpretation: Je niedriger, desto günstiger</td></tr><tr role="row"><td class="confluenceTd">21</td><td class="confluenceTd">KGV</td><td class="confluenceTd">Kurs-Gewinn-Verhältnis. Das KGV ist die populärste Kennzahl zur Aktienbewertung.Formel: Aktienkurs/Ergebnis je Aktie für 2012. Interpretation: Je niedriger, desto günstiger</td></tr><tr role="row"><td class="confluenceTd">22</td><td class="confluenceTd">KCV</td><td class="confluenceTd">Kurs-Cashflow-Verhältnis. Formel: Aktienkurs/(Cashflow der gewöhnlichen Geschäftstätigkeit/Aktienstückzahl). Interpretation: Je niedriger, desto günstiger. Basis: Aktueller Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">23</td><td class="confluenceTd">KBV</td><td class="confluenceTd">Kurs-Buchwert-Verhältnis. Wichtige Substanzkennzahl. Formel: Aktienkurs/((Eigenkapital – Anteile Dritte – Dividendenzahlung)/Aktienstückzahl). Interpretation: Je niedriger, desto attraktiver. Basis: In der Regel der aktuelle Geschäftsbericht. Bei Firmen aus dem DAX werden die Daten quartalsweise aktualisiert</td></tr><tr role="row"><td class="confluenceTd">24</td><td class="confluenceTd">PEG(KWV)</td><td class="confluenceTd">KGV-Wachstum-Verhältnis bzw. PEG und somit Verhältnis zwischen dem Gewinnwachstum der letzten 5 Jahre und dem aktuellen KGV.</td></tr><tr role="row"><td class="confluenceTd">25</td><td class="confluenceTd">DivR</td><td class="confluenceTd">Dividendenrendite in %: Besonders unter Privatanlegern wichtige Kennzahl. Formel: (Dividende/Aktienkurs)\*100. Interpretation: Je höher, desto attraktiver</td></tr><tr role="row"><td class="confluenceTd">26</td><td class="confluenceTd">Umsatzerlöse in Mio. €</td><td class="confluenceTd">Basis: Aktueller Geschäftsbericht. EBIT (Earnings before interest and taxes) = Gewinn vor Zinsen und Steuern. Basis: Aktueller Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">27</td><td class="confluenceTd" colspan="1">EBIT</td><td class="confluenceTd" colspan="1">EBIT (Earnings Before Interest and Taxes): Gewinn vor Zinsen und Steuern bzw. Operativer Gewinn. Der EBIT gibt einen Anhaltspunkt über die operative Profitabilität des Unternehmens.

Weil der EBIT unabhängig ist von der Art der Finanzierung (Eigenkapital versus Fremdkapital) und der Steuergesetzgebung (lokaler Steuersatz) wird der EBIT bzw. die EBIT-Marge oft als Maßzahl für Unternehmens-übergreifende Industrievergleiche herangezogen.

Der EBIT wird typischerweise in der Gewinn- und Verlustrechnung ausgewiesen. Alternative Bezeichnungen sind Operatives Ergebnis, Operativer Gewinn oder Betriebsergebnis.

Berechnung des EBIT:

EBIT = Umsätze – operative Kosten = Umsätze – COGS – SG&amp;A – F&amp;E – andere operative Kosten  
Englische Bezeichnungen: Operating Income, Operating Profit

</td></tr><tr role="row"><td class="confluenceTd">28</td><td class="confluenceTd">Buchwert je Aktie in €</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd">29</td><td class="confluenceTd">Cashflow je Aktie in €</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd">30</td><td class="confluenceTd">Dividende je Aktie</td><td class="confluenceTd">Dividende pro Aktie soweit verfügbar. Schätzungen stammen von BÖRSE ONLINE und werden regelmäßig aktualisiert</td></tr><tr role="row"><td class="confluenceTd">31</td><td class="confluenceTd" colspan="1">Spread LH</td><td class="confluenceTd" colspan="1">Schwankungsbreite in % zwischen Hoch und Tief-Punkt des Tages als % Wert im Verhältnis zum Vortag. Es gibt damit praktisch eine Tages-Volatilität zurück,</td></tr><tr role="row"><td class="confluenceTd">32</td><td class="confluenceTd" colspan="1">Internetvariablen First</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">33</td><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">Hauptwährung des Titels. Ein Titel kann technisch mehrere Kursdaten in verschiedene Währungen vorhalten. Es kann aber immer nur eine gewünschte Hauptwährung eines Titels geben. Die Kursaktualisierung sollte hierfür abgestimmt sein d.h. bei einem €-Titel auch Kursaktualisierungen mit € Rückgaben verwenden. </td></tr><tr role="row"><td class="confluenceTd">34</td><td class="confluenceTd" colspan="1">HV-Termin</td><td class="confluenceTd">Datum der Hauptversammlung. Bei deutschen Unternehmen wird die Dividende in der Regel am Tag nach der Hauptversammlung ausgezahlt und auch vom Kurs abgezogen.</td></tr><tr role="row"><td class="confluenceTd">35</td><td class="confluenceTd" colspan="1">Fiskal-Jahresende</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">36</td><td class="confluenceTd" colspan="1">Nachkommastellen</td><td class="confluenceTd" colspan="1">In den Stammdaten eingestellte gewünschte Anzahl von Nachkomma-Stellen für die Anzeige z.B. in Listen</td></tr><tr role="row"><td class="confluenceTd">37</td><td class="confluenceTd" colspan="1">Tai-Pan-Symbol</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">38</td><td class="confluenceTd">Ticker-Symbol</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd">39</td><td class="confluenceTd">Anzahl Aktien Gesamt/Gattung:</td><td class="confluenceTd">Basis für die Berechnung des Börsenwerts. In der Regel haben Unternehmen in Deutschland ausschließlich Stammaktien emittiert. Mitunter gibt es aber auch Gesellschaften, die sowohl Stammaktien als auch stimmrechtslose Vorzüge im Umlauf haben. In diesem Fall gilt: Anzahl Aktien Gesamt = Anzahl ST + Anzahl VZ</td></tr><tr role="row"><td class="confluenceTd">40</td><td class="confluenceTd" colspan="1">Index</td><td class="confluenceTd">Zugehörigkeit zu einem der Auswahlindizes der Deutschen Börse (DAX, MDAX, SDAX oder TecDAX)</td></tr><tr role="row"><td class="confluenceTd">41</td><td class="confluenceTd" colspan="1">Marktkapitalisierung</td><td class="confluenceTd">Der Börsenwert, auch Marktkapitalisierung genannt, gibt an, wie teuer ein Unternehmen an der Börse ist. Er berechnet sich aus der Stückzahl aller Aktien (Stämme und Vorzüge) multipliziert mit dem Kurs. Bei Unternehmen, wo sowohl Stämme (ST) als auch Vorzüge (VZ) existieren, aber nur eine Aktiengattung an der Börse notiert ist (Beispiel Porsche), erfolgt die Berechnung nach der Formel: Kurs VZ mal Aktienstückzahl gesamt.</td></tr><tr role="row"><td class="confluenceTd">42</td><td class="confluenceTd" colspan="1">WPArt</td><td class="confluenceTd" colspan="1">Wertpapierart: </td></tr><tr role="row"><td class="confluenceTd">43</td><td class="confluenceTd" colspan="1">Weblink</td><td class="confluenceTd" colspan="1">Haupt-Websites des Unternehmens</td></tr><tr role="row"><td class="confluenceTd">44</td><td class="confluenceTd" colspan="1">IR-Weblink</td><td class="confluenceTd" colspan="1">Investor-Relation-Webship: Spezielle Hintergrundseiten des Unternehmens für Anlege und Investoren (Aktionäre)</td></tr><tr role="row"><td class="confluenceTd">45</td><td class="confluenceTd" colspan="1">Streubesitz</td><td class="confluenceTd">Nicht in fester Hand befindlicher Aktienanteil. Quelle sind in der Regel die Angaben der jeweiligen Firmen.</td></tr><tr role="row"><td class="confluenceTd">46</td><td class="confluenceTd" colspan="1">Cashquote in %</td><td class="confluenceTd">Formel: ((Liquide Mittel plus Wertpapiere)/Aktienstückzahl)/Aktienkurs)\*100. Interpretation: Je höher, desto mehr ist der Aktienkurs durch Cashmittel unterlegt. Basis: In der Regel der aktuelle Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">47</td><td class="confluenceTd" colspan="1">EK-Quote in %</td><td class="confluenceTd">Eigenkapitalquote. Formel: (Eigenkapital/Bilanzsumme)\*100. Interpretation: Je höher, desto solider. Basis: In der Regel der aktuelle Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">48</td><td class="confluenceTd" colspan="1">EK-Rendite in %</td><td class="confluenceTd">Eigenkapitalrendite. Formel: (Jahresüberschuss/Eigenkapital)\*100. Interpretation: Je höher, desto rentabler. Basis: Aktueller Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">49</td><td class="confluenceTd">EBIT-Marge</td><td class="confluenceTd">EBIT-Marge: Verhältnis aus Ergebnis vor Zinsen und Steuern (EBIT) und Umsatzerlösen. Die EBIT-Marge ist ein Maß für die operative Profitabilität eines Unternehmens und hängt stark von der Industrie ab.

Im Handel sind z.B. sehr niedrige EBIT-Margen von 2-5% die Regel, während Software-Unternehmen durchaus EBIT-Margen von über 20% erreichen können.

Die EBIT-Marge wird wie folgt berechnet:

EBIT-Marge = EBIT / Umsatz  
Englische Bezeichnungen: EBIT Margin oder Operating Margin

</td></tr><tr role="row"><td class="confluenceTd">50</td><td class="confluenceTd" colspan="1">Jahresüberschuss in Mio. €</td><td class="confluenceTd">Gewinn nach Steuern. Basis: Aktueller Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">51</td><td class="confluenceTd" colspan="1">Eigenkapital in Mio. €</td><td class="confluenceTd">Basis: In der Regel der aktuelle Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">52</td><td class="confluenceTd" colspan="1">Bilanzsumme in Mio. €</td><td class="confluenceTd">Basis: Aktueller Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">53</td><td class="confluenceTd" colspan="1">Liquide Mittel in Mio. €</td><td class="confluenceTd">Barmittel plus Wertpapiere. Basis: In der Regel der aktuelle Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">54</td><td class="confluenceTd" colspan="1">Cashflow in Mio.</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">55</td><td class="confluenceTd" colspan="1">Mitarbeiter</td><td class="confluenceTd">Basis: Angaben aus dem aktuellen Geschäftsbericht</td></tr><tr role="row"><td class="confluenceTd">56</td><td class="confluenceTd" colspan="1">Buy-Analysteneinschätzung</td><td class="confluenceTd">Anzahl der Analysten die eine Kaufempfehlung ausgesprochen haben. Der Wert stammt aus einem Update der Fundamentaldaten und wird z.B. von Seiten wie Ariva "übernommen" als Zahlwert. Er kann in den Stammdaten aber auch manuell festgelegt werden.</td></tr><tr role="row"><td class="confluenceTd">57</td><td class="confluenceTd" colspan="1">Sell-Analysteneinschätzung</td><td class="confluenceTd" colspan="1">siehe Buy-Analysteneinschätzung</td></tr><tr role="row"><td class="confluenceTd">58</td><td class="confluenceTd" colspan="1">Hold-Analysteneinschätzung</td><td class="confluenceTd" colspan="1">siehe Buy-Analysteneinschätzung</td></tr><tr role="row"><td class="confluenceTd">59</td><td class="confluenceTd" colspan="1">Reaktion nach Quartalszahlen</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">60</td><td class="confluenceTd" colspan="1">Ergebnis-Anpassung in 4W %</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd">61</td><td class="confluenceTd" colspan="1">Volatilität-260d</td><td class="confluenceTd" colspan="1">Berechnung und Darstellung der Schwankungsbreite des Titels in den letzten 260 Tagen.  
  
Dabei wird folgende Systematik verwendet:  
- Berechnen der Renditen: (heutiger (Schluss)Kurs / gestrigen (Schluss)Kurs– 1)
- Berechnen des Mittelwerts der Renditen (Summe der Renditen / Anzahl der Kurse)
- Berechnen der Varianz der Renditen (Summe der quadrierten Abweichungen zum Mittelwert – (Rendite – Mittelwert)²
- Berechnen der Standardabweichung der Renditen (Wurzel der Varianz)
- Standardabweichung der Renditen = Volatilität

</td></tr><tr role="row"><td class="confluenceTd">62</td><td class="confluenceTd" colspan="1">Volatilität-90d</td><td class="confluenceTd" colspan="1">siehe Vol260</td></tr><tr role="row"><td class="confluenceTd">63</td><td class="confluenceTd" colspan="1">Volatilität-30d</td><td class="confluenceTd" colspan="1">siehe Vol260</td></tr><tr role="row"><td class="confluenceTd">64</td><td class="confluenceTd" colspan="1">Prognose</td><td class="confluenceTd" colspan="1">Darstellung der Kursprognosen, wenn diese berechnet vorliegen</td></tr><tr role="row"><td class="confluenceTd">65</td><td class="confluenceTd" colspan="1">Perf-1W</td><td class="confluenceTd" colspan="1">Wochen-Performance des Wertes im Vergleich zum jetzigen letzten Schlusskurs. Es wird dabei das Kalenderdatum verschoben.</td></tr><tr role="row"><td class="confluenceTd">66</td><td class="confluenceTd" colspan="1">Perf-1M</td><td class="confluenceTd" colspan="1">siehe Wochen-Performance mit 1 Kalender-Monat</td></tr><tr role="row"><td class="confluenceTd">67</td><td class="confluenceTd" colspan="1">Perf-3M</td><td class="confluenceTd" colspan="1">siehe Wochen-Performance mit 3 Kalender-Monaten</td></tr><tr role="row"><td class="confluenceTd">68</td><td class="confluenceTd" colspan="1">Perf-6M</td><td class="confluenceTd" colspan="1">siehe Wochen-Performance mit 6 Kalender-Monaten</td></tr><tr role="row"><td class="confluenceTd">69</td><td class="confluenceTd" colspan="1">Perf-1J</td><td class="confluenceTd" colspan="1">siehe Wochen-Performance mit 12 Kalender-Monaten</td></tr><tr role="row"><td class="confluenceTd">70</td><td class="confluenceTd" colspan="1">Letztes Kursdatum</td><td class="confluenceTd" colspan="1">letzter verfügbares Kursdatum. Ein Update erfolgt immer aus Kursaktualisierungs-Routinen heraus (Tai-Pan, Tai-Pan RT, EOD-Datenbank, Internet, Imports, XTB)</td></tr><tr role="row"><td class="confluenceTd">71</td><td class="confluenceTd" colspan="1">Letztes Fundamental-Daten-Update</td><td class="confluenceTd" colspan="1">letztes durchgeführtes Update für Fundamentaldaten. Quelle für Aktualisierungen sind entweder Fundamentaldaten-Updates oder Börse-Online-Statistik-Updates. Der Wert kann auch manuell verändert werden.</td></tr><tr role="row"><td class="confluenceTd">72</td><td class="confluenceTd" colspan="1">Letzter Berichtszeitpunkt</td><td class="confluenceTd" colspan="1">Quartals/Jahresberichts-Zeitpunkt. Der Wert wird statisch gepflegt in den Stammdaten.</td></tr><tr role="row"><td class="confluenceTd">73</td><td class="confluenceTd" colspan="1">Gesamtumfang Kursdaten (Jahre)</td><td class="confluenceTd" colspan="1">Gibt die Anzahl der Jahre (einschließlich der Bruchteile) zurück, die zwischen dem ersten und letzten Kursdatum stehen. Dabei wird die Differenz zwischen den Werten in Jahren ermitteln. Da nicht alle Jahre dieselbe Länge aufweisen (Schaltjahre), wird eine Näherung zurückgegeben, die auf einem Wert von 365,25 Tagen pro Jahr basiert.

</td></tr><tr role="row"><td class="confluenceTd">74</td><td class="confluenceTd" colspan="1">Ergebnis je Aktie</td><td class="confluenceTd">Nettogewinn (-verlust) pro Aktie soweit verfügbar. Schätzungen stammen von BÖRSE ONLINE und werden regelmäßig aktualisiert.</td></tr></tbody></table>

</div><div class="ms-editor-squiggler" id="bkmrk--22"></div>

# Indikatoren-Listen und Inline-Listen-Berechnungen

## Hintergrund

Die Indikatorenliste steht nur in der [Profiversion](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Unterschiede%20Profi-%20und%20Standardversion&linkCreation=true&fromPageId=1605439) zur Verfügung und erlaubt es für alle bekannten Indikatoren die Werte, Zonen, Signale und die Signalstärke (Signale strahlen zeitlich entsprechend Einstellung nach) einzublenden innerhalb der vorhandenen Listen (Marktlisten und Watchlisten). Die Indikatorenliste steht nicht in Konkurrenz zum Filtersystem, sondern erweitert dieses, um eine Vorstufe für manuelle Analysen. Die genutzten Indikatorenparameter können frei verändert werden, durch Doppelklick auf den entsprechenden Indikator.

## Aktivierung

[![image-1655731305013.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731305013.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731305013.png)

  
Um die Indikatoren einzublenden, muss in der Funktionsleiste der Button "Indikatoren" aufgerufen werden. Danach öffnet sich das oben gezeigte Einstellungsfenster. Das Fenster zeigt alle verfügbaren Indikatoren eingeteilt in Indikatorengruppen. Diese erlauben so zusätzlich, die Verwendung von unterschiedlichen Indikatorenparametern. Anwendungsfälle könnten z.B. unterschiedliche zeitliche Ausrichtungen oder unterschiedliche Anlagestile sein. Die Einstellungen bleiben über eine Programmsitzung hinaus erhalten. Die Verwendung der unterschiedlichen Berechnungswerte der Indikatoren erfolgt zur Zeit für alle Indikatoren gleich.

## Berechnungswerte

[![image-1655731309643.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731309643.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731309643.png)

- Wert: Eigentlicher Indikatorwert
- Zone: Wertebereich: 1-3. Hierbei wird der Indikatorwertebereich entsprechend einer Normalverteilung oder einer Gleichverteilung in 3 Zonen eingeteilt.
- Signal: Entsprechend der aktuell genutzten Einstellung für den Indikator können Kauf/Verkaufssignale automatisch generiert werden z.B. durch Schneiden von Ergebnis/Triggerlinie, Richtungsänderung oder auch Nullachsenschnittpunkt. Dies ist mit Doppelklick wie auch die anderen Parameter direkt beim Indikator einstellbar. Wertebereich ist [1,-1](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=1%2C-1&linkCreation=true&fromPageId=1605439). 1 steht hierbei für Kaufen und -1 für Verkaufen.
- Signalstärke: Die Signalwerte werde entsprechend der eingestellten Verfallszeit in einer konkaven Funktion abgeschwächt. Das stärkste Signal liegt somit direkt am Signaltag vor. Die folgende Tage weisen dann nur noch eine Restsignal auf.

Anmerkung: Divergenzen werden in Indikatorenlisten noch nicht ausgewertet.

## Ergebnisse

Die Ergebnisse werden in der normalen Kursliste als zusätzliche Spalten eingeblendet. In diesem Beispiel sind DSmSt und RSL Werte und Signale eingeblendet. Die Werte sind anschließend beliebig sortierbar und die Spalten durch Ziehen der Ränder in der Größe anpassbar.

## Besonderheiten

(ab 2.10.3) Indikatoren sollten für bestimmte Anwendungsfälle und passend zum eigenen Anlageverhalten optimiert werden. Um beispielsweise optimierte Parameter-Einstellungen für Short (Indikatorengruppe wurde hierfür angelegt) und Long(Indikatorengruppe wurde hierfür angelegt) gleichzeitig verwenden zu können, ist dies nun möglich. Hierzu müssen im Einstellungsdialog nur in beiden Reitern die gewünschte Indikatorenauswahl erfolgen. Hier im Screenshot sind entsprechend aus der Indikatorengruppe Long und Short jeweils der AROON-Indikator ausgewählt worden. Die Namen kennzeichnen dabei folgende Zuordnungen:

- \\&lt;Indikatorenname&gt;.W (\\&lt;Indikatorengruppenname&gt;) - Hier Anzeige des Indikatorwertes
- \\&lt;Indikatorenname&gt;.Z (\\&lt;Indikatorengruppenname&gt;) - Hier Anzeige des Zonenwertes basierend auf dem Indikatorenwert
- \\&lt;Indikatorenname&gt;.Sig (\\&lt;Indikatorengruppenname&gt;) - Hier Anzeige des Signals, wobei hier 1 für Kauf und -1 für Verkauf steht. Das Signal wird nur am selben Tag gezeigt.
- \\&lt;Indikatorenname&gt;.SigSt (\\&lt;Indikatorengruppenname&gt;) - Hier Anzeige des Indikatorwertes, wobei hier &gt;0 für Kauf und &lt;0 für Verkauf steht. Das Signal beginnt jeweile mit Vorzeichen bei 1 oder -1 und wird mit den Tagen schächer. Das genaue Verhalten kann am Indikator verändert werden.

[![image-1655731314992.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655731314992.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655731314992.png)

# Archiv

Kein aktiver Support mehr hierfür

# Handelssystem

## Zielsetzung

Eine Bewertung eines Filtersystems erfolgt mittels eines Handelssystem. Dieses verwendet ausgehend von einem Initalkontostand den Dynfilter um Werte zu finden für den Einstieg und Stops für den Ausstieg. Berücksichtigt werden im System dabei feste und variable Gebühren pro Trade und Slippage. Ebenso wird ein maximale Einstiegssumme (Prozentual) pro Wert auf Basis einer vernünftigen Diversifikation verwendet. Das Handelssystems bewertet dabei alle gefundenen Werte pro Tag auf Basis der Rankingfunktion.Somit wird zunächst der erste gefundene Wert gekauft mit der maximalen Einstiegssumme, dann der zweite bis ein weiterer sinnvoller Kauf nicht mehr möglich ist (Kontostand&lt;1% oder Kontostand &lt;100). Die Ausstiege erfolgen anhand einer zuvor festgelegten Stopstrategie, die täglich für jede eingegangene Position  
geprüft wird.

Damit lassen sich (+-) Trades,die Performance und insgesamt die Zuverlässigkeit des Systems prüfen für definierte Filter.  
Bei der Performanceberechnung müssen somit für die Signalumsetzung in dem Einstieg und dem Stoppverhalten Festlegungen vorgenommen werden. Diese werden dann im Handelssystem zur Entscheidung herangezogen: Einstieg am Close der gleichen Periode, Open nächste Periode oder Open nächste Periode mit Bestätigung. Für den Ausstieg wird in jedem Fall ein Stoppkurssystem verwendet. Vorgesehen sind alle Möglichkeiten der Stopp-Verwaltung die auch in SHAREholder integriert sind also Zielkursstopps, Trailing Stopps usw. Bei der Signalumsetzung für die Performanceberechnung gibt es als Varianten: Sofort, Close gleiche Periode oder Open nächste Periode. In Praxis (außerhalb des Handelssystems) sollte der Nutzer sich ähnlich verhalten bei Nutzung eines solchen automatischen Filtersystems und zwingend ein Stopkurs einsetzen insb. den Initial Stopp - Kurs. Ein Automatismus durch das Programm, der den User dazu zwingt, gibt es allerdings nicht. Allerdings ist für spätere Versionen ein entsprechender nochmaliger Verweis vorgesehen.

- Festlegung der Signalumsetzung für Performanceberechnung erforderlich
- Initial Risk Stop wird bei Umsetzung eines Trades erzwungen, womit ein Trade direkt von der Ergebnisliste des Fensters aufgerufen werden muss

Grundlage eines Handelssystem ist ein Filter. Ein Handelssystem macht ein Filter prüfbar hinsichtlich Performance und somit auch hinsichtlich seiner Praxistauglichkeit.

Die System arbeitet so weit wie möglich praxisnah, d.h. es werden sowohl Gebührenkosten, Slippage als auch Stopkosten angerechnet um die tatsächliche zu realisierende Performance zu errechnen.

## Arbeitsweise

Das System arbeitet nach folgendem Prinzip:

- Kaufe die TOP Werte aus der Ergebnismenge eines DynFilters, solange Liquidität vorhanden ist (&gt;500 Euro)
- Die Käufe erfolgen je nach Einstellung des Handelssystems entweder auf Basis des 
    - Aktuellen Close der gleichen Periode (selber Tag)
    - Open Kurs des nächsten Tages
    - Nach dem Prinzip des Stop Buys auf Basis von Kurs.Close\*1.01 (1% über Close des aktuellen Tages) wenn NextDateKurs.High&gt;= Kurs.Close\*1.01, d.h. am nächsten Tag würde der Stop Buy ausgelöst werden
- Die Werte werden sofort mit einem Initial Risk Stop abgesichert
- Es erfolgt ein automatisches Nachziehen der Stopkurse als Trailing Stops bei allen vorhandenen Positionen
- Unterschreitet ein Wert den Stopkurs wird dieser verkauft zum Stopkurs. Dadurch das ohnehin Slippage berechnet wird, sind praxisrelevante Unterschiede zwischen dem gesetzten Stopkurs und dem tatsächlichen Verkaufskurs berücksichtigt.
- Sofern durch ein Verkauf Geld frei wird, wird sofort durch die Ergebnismenge des zugrundeliegenden Filters ein neuer Wert gekauft beginnend bei den TOP Positionen der Ergebnismenge

Am Ende der Betrachtungszeit werden alle Positionen verkauft zum Close des selbigen Tages. Neue Positionen werden am Endtag entsprechend nicht eingegangen. In der Folge kommt es nur zu Neuberechnungen des zugrundeligenden Filters, wenn:  
Eine neue Position eingegangen werden muss, d.h. Liquidität vorhanden ist.

## Kennzahlen

[![image-1655732847896.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655732847896.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655732847896.png)

  
Der Zugang erfolgt über das Hauptmenü Einstellungen / Filter-System. Dort findet sich pro Filter ein Button "Handelssystem". Ein Handelssystem ist damit immer direkt mit einem Filter verbunden.

Die Bewertung des Erfolgs bzw. der Praxistauglichkeit eines Filters ist subjektiv kaum sinnvoll. Die objekte Bewertung anhand von Kennzahlen ist innerhalb des Tradingstudios im Reiter "Handelssystem" möglich.

Hierbei wird nach dem erklärten Prinzip unter "Handelssystem" eine Tradingsmodell auf Basis des genutztern Filters angewendet und so das Modell meßbar.In späteren Anwendungen von SHAREholder, lassen sich so auch z.B. Genetische Algorithmen zur automatischen Optimierung von Handelssystem verwenden.

Folgende Kennzahlen werden verwendet, mit folgenden Einschränkungen:

- Initialkontostand: Startkapital für das Tradingmodell entspricht dem Startkapital für das Modell eines Musterdepots
- Performance: Endperformance unter Berücksichtigungen aller Nebenkosten wie Stopkosten, Slippage und Gebühren
- Trades: Anzahl der durchgeführten Trades (Buys and Sells)
- Haltefrist: Durchschnittliche Haltefrist eines Position (durch vollständige Auflösungen von Positionen werden gezählt)
- Diversifikation: Anzahl unterschiedlicher Titel auf Basis aller Trades
- Bruttogewinn: Reingewinn ohne Nebenkosten
- % Gebühren: Variable Kosten + Fixe Kosten des Brokers (festgelegt im Handelssystem)
- % Slippage: Berücksichtigung von Divergenzen zwischen Kauf-und Verkaufspreisen
- % Stopkosten: Die Nutzung von Stops bzw. deren Änderung kostet im Normfall beim Broker Geld. Da das Handelssystem jedoch auf die Anwendung von Stops basiert, können die Kosten hiermit berücksichtigt werden  
    Nettogewinn: Eigentlicher verbleibender Gewinn unter Beachtung aller Nebenkosten

Für eine Handelssystem stehen einige Einstellungen zu Grunde, die maßgeblich für den Erfolg eines Systemes sein können. So ist zunächst aus praktischen Gründen (wer hat schon 1.000.000 Startkapital zur Verfügung) nur ein Startkapital von 10.000 € und eine max. Anlagesumme von 35% als Basieinstellung hinterlegt, d.h. zu jedem Kaufzeitpunkt wird max. 3500€ investiert. Diese Summe ändert sich während der Laufzeit des Handelssystemes nicht.

Um ein Handelssystem so realistisch wie möglich abzubilden wie sowohl Kosten für die Trades selbst, auch Kosten für Slippage (Unterschied zwischen Ask/Bid Kursen) und Änderungen von Stopkursen berücksichtigt. Dies macht in der Praxis/im Test geringfügig profiable aber hochaktive (viele Transaktionen) Handelssysteme unpraktikabel oder sogar verlustreich.

Die Einstellungen sind sorgfältig zu wählen, da diese das Gesamtsystem sensibel beeinflussen. Bei der Auswertung eines Handelssystemes sollten die Ergebnisse insb. in den Gebühren sorgfältig geprüft werden, so kann z.B. auch ein profitbables System mit häufigen Stopkursänderungen und angerechneten Kosten von 2,5€ pro Stopkursänderung ungünstig erscheinen. Hier kann in der Praxis auch eine Direktbank gewählt werden, die diesen Service kostenlos anbietet.

## Anwendungen

### Generell

Um ein Handelssystem zu starten, wird in den Hauptreitern der Reiter "Handelssystem" gewählt. Danach können Sie über eine Auswahlbox alle verfügbaren Filter auswählen. Jeder Filter hat eigene Handelssystem-Einstellungen. Der Start der Berechnung erfolgt über den Button "Starten" und kann jederzeit unterbrochen werden über "Abbrechen".

### Spezialanwendungen

- [Automatisches Handelssystem fuer Chartindikatoren](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/9109270/Automatisches+Handelssystem+fuer+Chartindikatoren)

### Statistik

Der Aufruf erfolgt über die Logausgaben (siehe unten) und den Button "Ergebnisse" oder über das Hauptmenü "Analyse / Filter-Statistiken". Grundsätzlich werden hier alle erzeugten Handelssystemergebnisse gespeichert aus den automatischen Chart-Indikator-Handelssystemen ((!)Noch NICHT! für normale Handelssysteme). Eine Deaktivierung dieser Funktion ist nicht vorgesehen. In den Filterergebnissen werden sowohl die Performance, als auch die Einstellungen der zugrundeliegenden Indikatoren gespeichert. Ziel ist es in einer Vergleichsliste unterschiedliche Indikatorenparameter auszutesten in einem automatischen Handelssystem. Spezielle händische Optimierungen sind so jederzeit möglich, da diese durch das Handelssystem prüfbar gemacht werden.

Funktionen

- Löschen einer Ergebniszeile (Button Löschen)
- Drucken der Gesamtliste (Button Drucken)
- Skalierung bzw. Automatische Anpassung der Spaltenhöhen/-weiten
- Gruppierung nach unterschiedlichen Spalten, d.h. es werden Gruppen gebildet auf Basis der vorhandenen Werte
- Editieren alle Daten im Grid (Klick ins entsprechende Feld)

# Einstellungen der Börsensoftware

Detailbeschreibungen für mögliche Konfigurationen und Einstellungen

# Börsen

[![image-1655733925699.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655733925699.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655733925699.png)

<div class="table-wrap" id="bkmrk-bereich-hinweise-und"><table class="confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 9.26533%;"></col><col style="width: 90.734%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Bereich: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Bereich</div></th><th aria-disabled="false" aria-label="Hinweise und Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise und Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A)</td><td class="confluenceTd">Alle vorhandenen konfigurierten Börsenplätze werden hier gezeigt. Allein zur Übersicht sind dabei folgende Prefixe als Abkürzungen verwendet, die allerdings nur der Lesbarkeit dienen:

- C: Elektronische teilweise außerbörsliche Börsenplätze - (C)omputergeführte Börsen
- D: Deutschland
- E: Europa
- I: International

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(B)</td><td class="confluenceTd" colspan="1">- Öffnungszeiten: Zur Dokumentation, aktuell keine Auswirkungen im Programm
- Courtage: Bei der automatischen Berechnung von Transaktionsgebühren können Courtage-Gebühren für den Börsenplatz berücksichtigt werden, wenn diese hier hinterlegt werden als % Wert des Kaufvolumens und mit einem Minium-Betrag

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(C)</td><td class="confluenceTd" colspan="1">Für Börsen können spezifische Bemerkungen hinterlegt werden. Zum jetzigen Zeitpunkt werden diese aber nur für interne Dokumentationen verwendet.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D)</td><td class="confluenceTd" colspan="1">Rufen Sie in der unteren Toolleiste sowohl diese Hilfe auf oder führen mit "Reset" eine kompletten Neustart durch. Sie entfernen damit alle vorhandenen Einträge. Sofern Sie danach Speichern übernehmen, werden die Anpassungen auch tatsächlich übernommen. Sonst sind die Änderungen zunächst nur temporär in diesem Dialog! </td></tr><tr role="row"><td class="confluenceTd" colspan="1">(E)</td><td class="confluenceTd" colspan="1">Neue Börsen werden immer über die Toolleiste angelegt, gelöscht oder umbenannt.

- Umbenennen: Markieren Sie den gewünschten Eintrag und gehen dann auf den Button "Edit".
- Löschen: Markieren Sie den gewünschten zu löschenden Eintrag gehen dann auf den Button "Löschen"
- Hinzufügen: Drücken Sie entweder direkt "Hinzufügen" oder markieren Sie zuvor einen Eintrag, um diesen als Daten-Quelle für eine Kopie zu nutzen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(F)</td><td class="confluenceTd" colspan="1">Börsen können (zukünftig) in den Listen entsprechend Ihrer Sortierung angezeigt werden. Sie können nach Auswahl eines Eintrag mit den Auswahltasten hoch/runter die Reihenfolge ändern.</td></tr></tbody></table>

</div>

# Depot/Transaktions-Entscheidungen

[![image-1655733956518.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655733956518.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655733956518.png)

<div class="table-wrap" id="bkmrk-bereich-hinweise-und"><table class="confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 11.1172%;"></col><col style="width: 88.8821%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Bereich: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Bereich</div></th><th aria-disabled="false" aria-label="Hinweise und Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise und Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A)</td><td class="confluenceTd">Alle vorhandenen konfigurierten Entscheidungen. Das eigentliche Hinzufügen, Löschen und Umbenennen erfolgen über (D).</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(B)</td><td class="confluenceTd" colspan="1">Freitext zur freien Verwendung und Beschreibung der jeweiligen Entscheidung/Bewertung.

Idee für die Differenzierung und Nutzung der beiden Ausprägungen:

- Transaktionsentscheidung: Grundlage für die Kauf/Verkaufsentscheidung in dem Moment der Ausführung
- Transaktionsbewertung: Nachträgliche Bewertung der (Transaktions-)Entscheidung

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(C)</td><td class="confluenceTd" colspan="1">Rufen Sie in der unteren Toolleiste sowohl diese Hilfe auf oder führen mit "Reset" eine kompletten Neustart durch. Sie entfernen damit alle vorhandenen Einträge. Sofern Sie danach Speichern übernehmen, werden die Anpassungen auch tatsächlich übernommen. Sonst sind die Änderungen zunächst nur temporär in diesem Dialog! </td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D)</td><td class="confluenceTd" colspan="1">Neue Einträge werden immer über die Toolleiste angelegt, gelöscht oder umbenannt.

- Umbenennen: Markieren Sie den gewünschten Eintrag und gehen dann auf den Button "Edit".
- Löschen: Markieren Sie den gewünschten zu löschenden Eintrag gehen dann auf den Button "Löschen"
- Hinzufügen: Drücken Sie entweder direkt "Hinzufügen" oder markieren Sie zuvor einen Eintrag, um diesen als Daten-Quelle für eine Kopie zu nutzen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(E)</td><td class="confluenceTd" colspan="1">Die Einträgen können insb. in Listen entsprechend Ihrer Sortierung angezeigt. Sie können nach Auswahl einer Watchliste mit den Auswahltasten hoch/runter die Reihenfolge ändern.</td></tr></tbody></table>

</div>

# Internet - Importformate

Die Importformate beschreiben die genaue Formatierung der Zieldaten die aus einer Internetadresse/-quelle gezogen worden sind. Dabei wird zwischen CSV-Datenformaten und JSON-Datenformaten unterschieden. Entsprechend werden zwei verschiedene Reiter hierfür angezeigt.

siehe für den Gesamtzusammenhang unter [Internetadressen - und Variablen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605511/Internetadressen+-+und+Variablen)

## CSV-Format-Beschreibungen

Die CSV-Formatbeschreibungen geben einfach die Spalten-Position auf Basis der mit dem Trennzeichen aufgeteilten Informationen wieder.

[![image-1655733997002.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655733997002.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655733997002.png)

## Suchkennung

Da Kursdaten oftmals in Kurslisten zurückgegeben werden, die nicht identisch in der Reihenfolge der Abfrage vorliegen, muss eine Zuordnung der Daten zu den abgefragten Kurswerten vorgenommen werden.

Für die Suchkennung können verschiedene Variablen genutzt werden:

<div class="table-wrap" id="bkmrk-variable-%7Bwkn%7D-%7Bname"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Variable: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Variable</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">{WKN}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">{NAME}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">{ISIN}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">{BRANCHE}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">{LAND}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">{BEREICH}</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Alle definierten Aktien-Variablen</td></tr></tbody></table>

</div>Da diese Angaben teilweise ergänzt sind durch unnötige Angaben sind einschließende Angaben (Präfix, Postfix) erlaubt z.B. "{WKN}." für Daten in der Form "620378.FX;01/01/2001;4.3" wäre ein "{WKN}." für die Suchkennung somit ausreichend da hier nur eine Teilsuche gemacht wird. Dabei wird die Suchvariable in den geschweiften Klammern gebildet und der Präfix und das Postfix gesucht.

Beispiel für eine Strukturliste, die einen entsprechenden Import erlaubt: "{Yahoo.Symbol.\[isin\]};{NAME};{BRANCHE};{BEREICH};{LAND}"

## Datumsformate

<div class="table-wrap" id="bkmrk-beschreibung-details"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th><th aria-disabled="false" aria-label="Details und Beispiele: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details und Beispiele</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Y\* | YY | YYYY - Jahr

M\* | MM - Monatsangaben

D\* | DD - Tag des Monats

</td><td class="confluenceTd">- Y\*-M\*-D\*
- YYYY-MM-DD
- M\*/D\*/Y\*
- --:-- D\*.M\*.Y\*

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spezialausprägung: {DATE}</td><td class="confluenceTd" colspan="1">Als Platzhalter ist {DATE} erlaubt, wenn immer das aktuelle Basisdatum angenommen werden soll.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spezialausprägung: {NOW:HH:MM} bzw. nur {NOW}</td><td class="confluenceTd" colspan="1">z.B. {NOW:20:00} d.h. es wird der heutige Tag mit Uhrzeit 20:00 Uhr angenommen</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spezialausprägung: {UNIX-TIMESTAMP}</td><td class="confluenceTd" colspan="1">UNIX Timestamp</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spezialausprägung: {UNIX-TIMESTAMP-IN-MS}</td><td class="confluenceTd" colspan="1">UNIX-Timestamp in Millisekunden</td></tr></tbody></table>

</div>## Zeitformate

<div class="table-wrap" id="bkmrk-beschreibung-details-0"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beschreibung</div></th><th aria-disabled="false" aria-label="Details und Beispiele: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details und Beispiele</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">HH - Stunde

MM- Minuten

SS - Sekunden

</td><td class="confluenceTd" colspan="1">- HH:MM
- HH:MM:SS

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Spezialausprägung: {NOW:&lt;Uhrzeit&gt;}</td><td class="confluenceTd" colspan="1">Aktueller Tag mit einer festgelegten Uhrzeit z.B.

- {NOW:20:00}
- {NOW}

</td></tr></tbody></table>

</div>## Weitere Felder und Erklärungen

<div class="table-wrap" id="bkmrk-feld-bezeichnung-hin"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Feld-Bezeichnung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Feld-Bezeichnung</div></th><th aria-disabled="false" aria-label="Hinweise und Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise und Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Eingabefeld: "Ersetzen"</td><td class="confluenceTd">Die hier eingegebene Zeichenkette wird in jeder Zeile vor der Interpretation herausgelöscht! Dabei können mehrere Einträge mit einem Pipe-Symbol getrennt werden "|".

- Beispiel "WKN:|Geld:|Brief:|Zeit:|ISIN:|Vol.:|Datum:|". Hier wird hintereinander pro Zeile WKN: dann Geld: usw. ersetzt.

</td></tr><tr role="row"><td class="confluenceTd">Eingabefeld: "Zeitverschiebung"</td><td class="confluenceTd">Mittels dieser Eingabe kann die Ergebnismenge automatisch um X Stunden verschoben werden. Dies sollte nur in Ausnahmen genutzt werden, wenn der Datenlieferant die Daten fehlerhaft liefert.</td></tr></tbody></table>

</div>## JSON-Format-Beschreibungen

Für das JSON-Format müssen separate Beschreibungen vorgenommen werden. Dabei werden JSON-Path-Informationen beschrieben.

Hierzu nachfolgend ein Beispiel von Polygon. Hierbei wird mit den Ticker-Daten-API eine JSON-Ergebnisstruktur zurückgegeben, die in den $.results\[\*\] ein Array der eigentlichen Kursdaten zurückgibt. Deshalb muss verkürzt in Shareholder hier "results" als Positions-Kurs-Array hinterlegt werden. Danach werden ausgehend von dieser Position dann die JSON-Paths beschrieben. In dem Beispiel hier mit "o" für Open, "h" für High usw.

[![image-1655734004432.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734004432.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734004432.png)

Liegt kein Array-Format vor, sollte das Kurs-Array leer gelassen werden. Dies ist insb. für Quote-Daten mit nur einem Rückgabewert relevant.

# Internetadressen - und Variablen

[![image-1655734037724.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734037724.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734037724.png)

Internetvariablen werden genutzt, um intern dynamische Variablen zur Speicherung von nicht temporären Daten zu erlauben. So wird oft auf Internetportalen ein interner Zugriffsschlüssel für die einzelnen Titel benutzt, um Details insb. Charts und Kursdaten zu diesem abzurufen. Damit diese speziellen Zugriffe möglich werden, können über vorgeschalteten Internet-Variablen entweder manuell oder automatisch pro Titel die Daten hinterlegt werden.

## Automatische Zuordnungen und Auflösung von verwendeten Internetvariablen

### Am Beispiel eines Optionsscheins: DE000TT2VZZ1

Sollen für ein Optionsschein "DE000TT2VZZ1" die Kursdaten automatisch abgerufen werden, muss der interne Zugriffs-Schlüssel ermittelt werden des verwendeten Portals. Im Normalfall wird nicht direkt die ISIN oder WKN verwendet. Damit muss eine spezifische Internet-Zugriffs-Variable angelegt werden. Am Beispiel von Ariva ist dies bereits getan und angelegt mit der "arivaSecuID\[isin\]"-Variable.

Jeder Titel hat dabei seinen eigenen gespeichert Wert dieser Variable (Ausprägung). Für den Titel mit der ISIN "DE000TT2VZZ1" ist es beispielsweise für Ariva: 148891834.

Dieser Wert kann manuell in den Stammdaten (s.u.) oder automatisiert aufgelöst werden. Hierfür muss zunächst eine Ziel-URL definiert werden für die Suche zur Auflösung eines Titels. Die Suche basiert dabei im Normalfall auf einer Standard-Suche mit ISIN oder Name des Titels. Diese URL wird dabei intern bei Bedarf abgerufen, wenn noch kein Wert für eine Variable gespeichert worden ist. In diesem Fall eine Suche auf der ARIVA-Seite mit der ISIN mittels: "[https://www.ariva.de/search/search.m?searchname={ISIN](https://www.ariva.de/search/search.m?searchname=%7BISIN)}"

Wird diese automatisch abgerufen, wird anschließend ein definierter Suchstring in diesem Beispiel "&amp;aic={suchstring}&amp;tool" in der Ergebnisseite (HTML) gesucht.  
Der Suchstring wird dabei intern zu einem regulären Ausdruck umformatiert. Soll kein {suchstring} verwendet werden, kann auch ein nativer Regulären Ausdruck (Reg-Ex) genutzt werden.  
Websites wie [https://regex101.com/](https://regex101.com/) helfen, dabei den richtigen Ausdruck zu finden und auszuprobieren.  
  
In diesem Beispiel wird daher "&amp;aic=(.{1,30})&amp;tool" genutzt d.h. "&amp;aic=" muss einleitend stehen, danach beliebige 1..30 Zeichen und abschließend "&amp;tool".  
Somit wird aus dem HTML-Code "148891834" extrahiert, da immer die erste Matching-Group (Group 1) genutzt wird. Diese muss daher auch explizit definiert sein mit den runden Klammern ( ... ). Nur der Ausdruck dazwischen wird genutzt.

[![image-1655734043812.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734043812.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734043812.png)

## Manuelle Speicherung und Zuweisung von Werten für Internetvariablen z.B. der Kennung innerhalb eines Internetportals

Da jederzeit auch eine manuelle Zuordnung möglich ist, soll diese hier auch ergänzend erklärt werden.  
Am Beispiel der Auflösung der "arivaSecuID-Schlüssel" für die Nutzung von Titeln/Optionsscheinen in Ariva wird nachfolgend die einfache Schritt-Reihenfolge dargestellt:

1. Titel in Ariva suchen
2. Download historische Kursdaten aufrufen und dort den Button „Download“ selektieren mit der rechten Maustaste und im Menü mit „Untersuchen“ aufrufen:  
    [![image-1655734049432.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734049432.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734049432.png)
    
      
    [![image-1655734053470.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734053470.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734053470.png)
3. Den Werte der SECU-Hidden-Variable übernehmen und im Stammdaten-Blatt manuell hinterlegen (wie gehabt hier den Doppelklick zu einem Titel nutzen):  
    [![image-1655734104333.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734104333.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734104333.png)

<div class="ms-editor-squiggler" id="bkmrk--3"></div>

# Kataloge

[![image-1655734132459.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734132459.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734132459.png)

<div class="table-wrap" id="bkmrk-rubrik-details-und-h"><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Rubrik: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Rubrik</div></th><th aria-disabled="false" aria-label="Details und Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Details und Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A) Gesamtliste der vorhandenen Märkte</td><td class="confluenceTd">Alle vorhandenen konfigurierten Märkte. Da jeder Titel jedem Markt zugeordnet werden kann und es technisch als Bitmaske abgelegt ist, gibt es eine Beschränkung auf maximal 63 Märkte. Unter (B) sehen Sie im Kopfbereich die aktuelle Gesamtanzahl der Titel. Im Beispiel hier also 60 Märkte. Das eigentliche Hinzufügen, Umbenennen und Löschen erfolgen über (F).</td></tr><tr role="row"><td class="confluenceTd">(B) Basis-Einstellungen</td><td class="confluenceTd">- Kurzbezeichnung: Wird in den Detail-Listen häufig verwendet, statt des kompletten Namens
- Gruppennamen: Besitzen mehrere Märkte den gleichen Gruppennamen, können diese in der Detail-Liste zusammengeführt werden als ein Eintrag. Es wird nur der "Gruppenname" angezeigt z.B. "Deutschland". Ordnen Sie diesen Gruppennamen allen deutschen Märkten zu, würde nur Deutschland zur Auswahl gezeigt werden

</td></tr><tr role="row"><td class="confluenceTd">(C) Sichtbarkeitssteuerung</td><td class="confluenceTd">Märkte können ein/ausgeblendet werden insb. für die Detail-Listen und Marktansicht. In Handelsstrategien kann die Konfiguration ignoriert werden. Wird ein Markt ausgeblendet wird ein Auge als durchgestichen dargestellt in der Listen-Darstellung unter (A).

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D) Aktualisierungsgruppe für enthaltene Titel</td><td class="confluenceTd" colspan="1">Wenn ein Titel angelegt wird oder automatisch importiert, wird hier automatisch diese Konfiguration übernommen, um diesen Konfigurations-Schritt der Marktzuordnung eines neuen Titels zu vermeiden</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(E) Import und Exportfunktion</td><td class="confluenceTd" colspan="1">Marktlisten sind sehr aufwändig zu pflegen, deshalb gibt es die Möglichkeit kompletten Marktlisten zu importieren. Die Marktliste sollten Text/CSV-Dateien sind, die mind. die ISIN, Name enthalten. Die Zuordnung erfolgt dann zum aktuell ausgewählten Markt.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(F) Hinzufügen, Löschen und Editieren von Märkten</td><td class="confluenceTd" colspan="1">- Wenn Sie zuvor einen Markt auswählen und danach die "Hinzufügen"-Funktion aufrufen, kann eine Kopie des vorherigen Eintrages verwendet werden.
- Bitte beachten Sie, dass maximal 63 Märkte angelegt werden können.
- Wird ein Markt gelöscht erfolgt automatisch eine interne Prüfung auf Abhängigkeiten und Sie erhalten eine separate Anzeige, wie Sie damit umgehen möchten (Trotzdem löschen, Ignorieren, Neu Zuordnungen).

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(G) Reihenfolge</td><td class="confluenceTd" colspan="1">Marktsegmente werden insb. in den Detail-Listen entsprechend Ihrer Sortierung angezeigt. Sie können nach Auswahl eines Marktsegments mit den Auswahltasten hoch/runter die Reihenfolge ändern.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(H) Hilfe</td><td class="confluenceTd" colspan="1">Sie erreichen hier eine kontextspezifische Hilfe für den aktuell aufgerufenen Dialog</td></tr></tbody></table>

</div></div>## Separate Sicherung und Wiederherstellung für Katalog-Zuordnungen

Da die Konfiguration und das Setup für Marktzuordnungen sehr aufwändig sein kann, gibt es eine eigene Möglichkeit diese zu sicheren und auch wieder herzustellen.

[![image-1656079857816.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656079857816.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656079857816.png)

Es entspricht dabei inhaltlich der Möglichkeit aus Marktlisten einen CSV-Export durchzuführen. In diesem Fall werden jedoch ALLE Märkte mit jeweils eigenen CSV-Dateien per Klick gesichert. Ein manueller Aufruf pro Markt ist so nicht mehr notwendig.

Die exportierten CSV-Listen enthalten dabei sehr einfach mit je einer Zeile den Titel, WKN und die ISIN.

[![image-1656080007208.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656080007208.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656080007208.png)

<div class="table-wrap" id="bkmrk--3"></div>

# Programmfunktionen

## Hintergrund

Die Einstellungen des Programms werden im Datenverzeichnis in der Datei "Programm.Options.stm" abgelegt. Die Einstellungen sind dabei global für alle Nutzer gültig.

## Programmeinstellungen

### Depotwährung

Währungskürzel wird in allen Währungspositionen (Zusammenfassungen, Reports ... ) genutzt. Die Konfiguration wird für Umrechnungen in den Haupteinstellungen benutzt. Die Währungsauswahl verweist auf einen entsprechenden Devisen-Titel. Dieser enthält die laufenden Umrechnungskursdaten, wenn ein Titel ungleich der eingestellten Hauptwährung genutzt werden soll.

[![image-1655734164780.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734164780.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734164780.png)

### Depot

Das hier eingestellte Depot wird bei jedem Programmstart automatisch gestartet. Die Liste wird hierbei aus den vorhanden \*.DEP Dateien (Depotdateien) im \\Datenverzeichnis von SHAREholder generiert. Sie können somit die Depotdateien einfach durch Kopieren in das Datenverzeichnis hinzufügen.

[![image-1655734168768.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734168768.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734168768.png)

### Automatische Vorgänge:

Die Zeiteinstellungen sind mit Sorgfalt zu wählen:

[![image-1655734173146.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734173146.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734173146.png)

- Automatische Speicherung: Die automatische Speicherung wird mit 0 deaktiviert. Depotdateien und Aktienstammdaten werden bei jeder Speicherung (automatisch oder manuell) im Verzeichnis SHAREholder\\Daten\\Backup als Sicherung abgelegt. Dies kann für eine manuelle Rückspielung genutzt werden.

- Internetaktualisierung: Automatische Aktualisierung in Sekunden über Internet. Für die Aktualisierung wird der aktuelle Auswahlfilter genutzt. (Hauptmenü. Aktualisierung. Internet.Filter)

### Anzeigen

[![image-1655734177052.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734177052.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734177052.png)

- Das Startbild meint das Bild unter Hilfe.Info und wird wenn aktiviert beim Start der Software gezeigt.
- Minimieren: Minimieren von SHAREholder zeigt SHAREholder nicht in der Taskleiste, sondern nur noch als Icon in der Iconleiste.
- Automatische Versionsprüfung: Es erfolgt beim Programmstart eine Abfrage der letzten verfügbaren Version. Dies erfolgt als Webanfrage und dauert einige Millisekunden. Im Ergebnis erhalten Sie sofort beim Programmstart eine Info, wenn eine neue Version vorliegt. Die Empfehlung ist diese Einstellung aktiv zu lassen.
- Versand von Fehlerreports: ShareHolder wird mit Debug-Code ausgeliefert. Dies erlaubt es im Fehlerfall einfach eine nachverfolgbare Aufrufkette für diesen Fehler (Stracktrace) für die Fehlerbeseitigung den Support zuzusenden per Mail. Wird die Funktion deaktiviert, werden keine Fehlerberichte versendet.
- Nutzungsstatistiken: Es werden anonyme Nutzungs-Statistiken während der Nutzung erhoben, um die Weiterentwicklung immer wieder auf die relevanten Funktionen zu lenken. Gerne lassen Sie diese Daten ebenfalls aktiviert, damit Sie und andere Nutzer mit den Füßen abstimmen können.
- Updates für Tipp-des-Tages prüfen: Es wird Online eine Tipp-Datenbank gepflegt. Dabei wird der zuletzt gelesene Tipp des Nutzers verglichen mit der zuletzt verfügbaren Version. Liegt hier ein Update vor, wenn der entsprechende Hinweis dargestellt.

### Internet

#### Internetzugangseinstellungen  
  


[![image-1655734193923.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734193923.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734193923.png)

- Timeout: Treten Probleme beim Zugriff auf eine Internetverbindung auf, so wird die hier eingestellte Zeit gewartet, bevor der Vorgang automatisch mit einem Fehler abgebrochen wird.
- Wer möchte kann die Internetverbindung bei Aktualisierungen davor und danach automatisch aufbauen/trennen lassen. Hierzu ist eine eingerichtete Internetverbindung unter den DFUE-Einstellungen von Windows notwendig. Eine Auswahlbox der installierten Verbindungen erlaubt die Vorauswahl der anzuwählenden Verbindung.  
    Der automatische Verbindungsaufbau bezieht sich ausschließlich auf Kursaktualisierungen über Internet. Alle indirekten notwendigen Internetverbindungen über Tai-Pan®, Tai-Pan® RT, Onlineformularen, Versionsprüfungen (Hilfe.Auf neue Version prüfen) bauen die Internetverbindung nicht automatisch auf.

#### Proxyeinstellungen  
  


[![image-1655734201169.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734201169.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734201169.png)

- Wird am Arbeitsplatz für den Internetzugang ein vorgeschalteter Proxy verwendet, so sind hier zwingend die entsprechend verwendete Proxyadresse und dessen Port einzutragen. Sollten Sie die Adressdaten nicht genau kennen, fragen Sie Ihren Netzwerkadministrator oder schauen einfach in den Einstellungen Ihres Internetbrowsers nach. Sollte wirklich ein Proxy verwendet werden, so finden Sie in jedem Fall die entsprechende Eintragung in Ihrem Browser unter HTTP Proxy bzw. FTP Proxy. Ist eine Authentifizierung für den Proxy notwendig bitte die User/Passwortdaten nicht vergessen. Lassen Sie andernfalls die Felder leer.
- Im Zusammenspiel mit VPN-Netzwerken kann zudem die eigene Nutzung von Kurs-und Fundamentaldatenabrufen verschleiert werden. Es stehen über die Schnellauswahl entsprechende vorkonfigurierte Profile zur Verfügung insb. für PrivateVPN. Bitte beachten Sie, dass Sie sich hierfür registrieren müssen.

## Datenaktualisierungen

Aus der History heraus wurden bei Videotextdaten die Tagesdaten am nachfolgenden Tag in die History geschrieben. So konnte bei täglicher Aktualisierung eine durchgehende Historie entstehen. Dieses Vorgehen ist nicht mehr zwingend ratsam, sodass der recht ressourcenhungrige Prozess beim Start der Software zum Speichern der Tagesdaten in die History deaktiviert werden kann, insb. bei ausschließlicher Nutzung von Internet/Tai-Pan® - Aktualisierungen.

### Tai-Pan®  


[![image-1655734205883.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734205883.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734205883.png)

Für die Aktualisierung über Tai-Pan® stehen immer mehrere Börsenplätze zur Verfügung. Hier ist grundsätzlich eine Auswahl notwendig. Dies kann über zwei Varianten erfolgen. Eine sucht hier den umsatzstärksten Börsenplatz des Titels am Aktualisierungstag und die zweite verwendet immer den Standardbörsenplatz des Titels über die Zuordnung in den Stammdaten zu einem Markt (siehe Markteinstellungen - Defaultbörse).

- **\[ \] Nach einem Onlineupdate ... automatisch aktualisieren**  
    Um die Arbeit mit Tai-Pan® etwas angenehmer zu machen, kann direkt nach einem Onlineupdate (Strg-A) die aktuelle Kursliste (Watchliste, Depot) aktualisiert werden. Die Funktion ruft hierbei das EOD-Update für Tai-Pan® auf über eine Callback-Routine.

### Börse-Online-Premium  


[![image-1655734211789.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734211789.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734211789.png)

Die Einstellungen hier sind notwendig um einen automatischen Abgleich zwischen der Börse-Online-Premium-Onlinedatenbank für Fundamentaldaten und den eigenen Stammdaten vorzunehmen. Da die Datenbank aus einer Basisexceldatei sowie einer Aktualisierungsdatei existiert sind die zugehörigen Daten hier hinterlegt für zukünftige Änderungen.

Die Daten liegen in einem geschützten Bereich der Website und erfordern eine Authentifizierung mittels Username und Passwort. Die Daten sind hier einzupflegen, vor einer Aktualisierung über SHAREholder. Die Premium-URL beschreibt die Login-URL, d.h. die Website zur Anmeldung im Premiumbereich. Die Download-URL-XSL beschreibt die URL zum Download der Excel-Basisdatei. Die URL-Update entsprechend die Aktualisierungsdatei. Die Daten sollten nur in Ausnahmefällen manuell geändert werden.

Die aktuellen Default-Einstellungen sollten hier sein:

- Premium-URL: <a rel="nofollow">https://premium.finanzenverlag.de/users/sign\_in?user\[login\]=\[LOGIN\]&amp;user\[password\]=\[PASSWORD\]&amp;user\[remember\_me\]=1&amp;button=&amp;utf8=</a>
- [https://premium.finanzenverlag.de/attachment/49/download/BO\_DATA\_Interactive.xls](https://premium.finanzenverlag.de/attachment/49/download/BO_DATA_Interactive.xls)

### Reihenfolge für den automatischen Stammdaten-Import

[![image-1655734222842.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734222842.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734222842.png)

Wird bei der Suche in der Detail-Liste ein Titel nicht gefunden, kann nach Rückfrage automatisch versucht werden die fehlenden Stammdaten "einzusammeln". Dabei werden verschiedene Systeme angefragt. Die Reihenfolge der Anfrage bis auch zur Deaktivierung kann über diese Konfiguration eingestellt werden. Um beispielsweise die Tai-Pan Datenbank-Anfrage auszuschalten, bitte einfach das Feld auf "Nicht belegt" setzen.

### XTB-Nutzung

[![image-1655734228553.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734228553.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734228553.png)

Die Konfiguration wird für den Zugang zu den Funktionen für [XTB-Trades und XTB-Kataloge](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=XTB-Trades%20und%20XTB-Kataloge&linkCreation=true&fromPageId=1605418) genutzt und sind hier einmalig zu hinterlegen. Es kann über die Checkbox bewusst auch nur ein Demo-Account genutzt werden. Bitte beachten Sie, dass für den Demo-und Produktiv-Zugang andere Loginnamen verwendet werden müssen. Es reicht nicht aus, nur die Checkbox zu setzen!

## Berechnungen &amp; Sortierungen

- Depot-Einzelposition-Gewinnberechnung: In der Depotansicht werden die Gewinn-Verlust-Einzelpositionen gezeigt. Um eine realistische Einschätzung der tatsächlichen Gewinnposition zu erhalten, können nach eigner Wahl Gebühren automatisch abgezogen werden vom fiktiven Gewinn/Verlust.

- Für die KGV-Berechnung kann das aktuelle Ergebnisjahr oder das nachfolgende verwendet werden, d.h. wenn wir heute den 05.04.2005 haben wird bei Aktuellem Jahr die Gewinnschätzung für das Basisjahr 2005 zur Berechnung herangezogen andernfalls das Basisjahr 2006. Dies setzt natürlich voraus dass Gewinnschätzungen überhaupt vorliegen für das nächste Jahr. In der Börse-Online-Onlinedatenbank wird ca. Mitte März auf das darauffolgende Jahr umgestellt bzw. die ersten Gewinnschätzungen gemacht.

## Rückfrage und Dialoge

### Chart-Speicherdialog

Werden Änderungen in einem Chart vorgenommen, so wird automatisch beim Schließen des Charts ein Speicherdialog angezeigt. Mit den Einstellungen hier kann eine Standardantwort vorgegeben werden. Dies erleichtert bei häufigem Arbeiten mit den Charts die Arbeit nicht unwesentlich.

# Watchlisten

[![image-1655734267044.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734267044.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734267044.png)

<div class="table-wrap" id="bkmrk-bereich-hinweise-und"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><colgroup><col style="width: 10.3761%;"></col><col style="width: 89.6232%;"></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Bereich: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Bereich</div></th><th aria-disabled="false" aria-label="Hinweise und Beschreibung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise und Beschreibung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">(A)</td><td class="confluenceTd">Alle vorhandenen konfigurierten Watchlisten. Da jeder Titel jeder Watchliste zugeordnet werden kann und es technisch als Bitmaske abgelegt ist, gibt es eine Beschränkung auf maximal 63 Watchlisten. Unter (B) sehen Sie im Kopfbereich die aktuelle Gesamtanzahl der Titel. Im Beispiel hier also 60 Märkte. Das eigentliche Hinzufügen, Löschen und Umbenennen erfolgen über (E).</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(B)</td><td class="confluenceTd" colspan="1">Sie sehen hier die aktuell zugeordneten Einzel-Titel zur aktuell (in (A)) ausgewählten Watchliste. Sie können hier in dieser Ansicht nur Titel aus der Watchliste entfernen. Um neue Titel in die Watchliste aufzunehmen bitte die Funktionalitäten in den Listen-Ansichten insb. im Kontextmenü oder die Funktionen in der Toolbar nutzen:

- Siehe [Watchlisten bzw. Beobachtungslisten](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Watchlisten%20bzw.%20Beobachtungslisten&linkCreation=true&fromPageId=131892491)
- Siehe [Wie kann ich am Effektivsten eine Watchliste "befüllen"?](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/blog/2019/01/03/89816859)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(C)</td><td class="confluenceTd" colspan="1">Watchlisten können exportiert und importiert werden in einem CSV-Format. Dabei können frei zu konfigurierende Strukturlisten verwendet werden. Optimalerweise verwenden Sie dabei mind. "Name;WKN;ISIN-Listen". Wählen Sie dabei immer zunächst das Im/Export-Format aus. Sie können dann die aktuell ausgewählte Watchliste mit den Buttons "Importieren" | "Exportieren".</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(D)</td><td class="confluenceTd" colspan="1">Rufen Sie in der unteren Toolleiste sowohl diese Hilfe auf oder führen mit "Reset" eine kompletten Neustart durch. Sie entfernen damit alle vorhandenen Einträge. Sofern Sie danach Speichern übernehmen, werden die Anpassungen auch tatsächlich übernommen. Sonst sind die Änderungen zunächst nur temporär in diesem Dialog! </td></tr><tr role="row"><td class="confluenceTd" colspan="1">(E)</td><td class="confluenceTd" colspan="1">Neue Watchlisten werden immer über die Toolleiste angelegt, gelöscht oder umbenannt.

- Umbenennen: Markieren Sie den gewünschten Eintrag und gehen dann auf den Button "Edit".
- Löschen: Markieren Sie den gewünschten zu löschenden Eintrag gehen dann auf den Button "Löschen"
- Hinzufügen: Drücken Sie entweder direkt "Hinzufügen" oder markieren Sie zuvor einen Eintrag, um diesen als Daten-Quelle für eine Kopie zu nutzen.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">(F)</td><td class="confluenceTd" colspan="1">Watchlisten werden insb. in den Listen entsprechend Ihrer Sortierung angezeigt. Sie können nach Auswahl einer Watchliste mit den Auswahltasten hoch/runter die Reihenfolge ändern.</td></tr></tbody></table>

</div>

# Stammdaten und Verwaltung

# Einleitung und Basis-Verwaltung

# Stammdaten

[![image-1655734331839.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734331839.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734331839.png)

## WKN

Eindeutige Wertpapierkennummer. Wird hier keine WKN eingegeben wird durch das System eine automatisch generierte WKN gebildet. Die WKN spielt keine Primärschlüsselrolle (Referenz-Zuordnungsrolle) mehr. Dies wird durch die ISIN vorgenommen.

## Kurzname

Der Kurzname kann in Kurslisten zusätzlich angezeigt werden. Bei Devisen wird ausschließlich der Kurzname in Auswahlboxen zur Verfügung gestellt.

## <span class="inline-comment-marker" data-ref="dc5f08eb-c0fc-44c1-be6a-d5b8bbe49369">ISIN</span>

Die ISIN-Nummer ist die zentrale Verknüpfung aller Informationen zwischen den Wertpapierdaten und allen Darstellungen sowie den Im- und Exportmodulen. Insbesondere wird sie für die Internetkursaktualisierungsadressen zum Abgleich genutzt. Auch im OnlineWebPannel wird die Zuordnung über die ISIN Nummer vorgenommen. Treten Probleme auf ist dies der erste Ort der geprüft und gegebenenfalls korrigiert werden muss. Gültige ISIN Nummern für die jeweiligen Wertpapiere finden Sie auf Webseites oder in Börsenmagazinen

Um eine gültige ISIN Nummer zu ermitteln bietet sich die Suche in entsprechenden Websites an, beispielsweise:

- Comdirect: [https://isht.comdirect.de/html/search/main.html](https://isht.comdirect.de/html/search/main.html)
- Consors: [https://www.consorsbank.de/home](https://www.consorsbank.de/home)
- Finanzteff: [https://www.finanztreff.de](https://www.finanztreff.de/)

## Branche

Einordnung der Aktien in ein Wirtschaftssegment oder einfach eine Tätigkeitsbeschreibung der Unternehmung. Sinnvoll ist hierbei die Nutzung einer allgemeinen Gruppeneinordnung die zusammen mit anderen Werten genutzt wird um z.B. Branchensegmente bilden zu können. Diese sind dann optisch in der Liste sehr schnell herauszufinden bzw. eine Sortierung nach der Branche kann effizient genutzt werden.

## Kurzname

Der Kurzname erlaubt alternative Bezeichnungen für Werte z.B. zur Nutzung von Einordnungskriterien oder einfach nur als Kurzname. Der Kurzname kann als zusätzliche Spalte in Kurslisten verwendet werden. Per Standardeinstellung wird der Kurzname nicht angezeigt. Gefüllt wird der Kurzname bei Nutzung von Tai-Pan® über den Kurznamen von Tai-Pan®.

## Umsatz

Umsatz des Unternehmens im letzten Jahresbericht. Diese Angabe dient der grössenmäßigen Einordnung der Gesellschaft, da vor allem bei kleinere Gesellschaften ein enormer Basiseffekt bei Gewinnsteigerungen erzielt werden kann. Dieser beschreibt den Effekt, dass bei kleinen Firmen mit kleinen Gewinnen leichter Gewinnsteigerungen erzielt werden können durch einfache Rationalisierungseffekte als bei Gesellschaften die bereits im Mrd. - Bereich Gewinne erzielen können.

## Umsatz -&gt; Kurs-Umsatz-Verhältnis (KUV)

Die Relation zwischen dem Kurswert einer Aktie und den anteiligen Umsätzen eines Unternehmens wird bei professionellen Wertpapieranalysten häufig eingesetzt. Die Idee ist hierbei, dass ein dauerhaftes Gewinnwachstum nur erreicht werden kann, wenn die Umsätze steigen. Für die Berechnung wird der Kurswert durch den Umsatz je Aktie dividiert.

## Streubesitz

Wie groß ist der Anteil der an der Börse handelbaren Stücke (Freefloat)

## Cashflow je Aktie -&gt; Kurs-Cashflow-Verhältnis (KCV)

Der Cashflow ist eine Bilanzkennzahl, die Rückschlüsse auf die Finanzierungskraft eines Unternehmens zulässt. Der Cashflow wird aus der Summe von Jahresüberschuss, Abschreibungen, Veränderungen der langfristigen Rückstellungen ermittelt. Wieder wird für den Vergleich unterschiedlicher Aktien der Wert im Verhältnis gesetzt zum Kurs. Cashflow heißt übersetzt soviel wie Geldzufluss. Letztlich handelt es sich dabei um den Liquiditätsüberschuss eines Unternehmens.

## Buchwert je Aktie

Für die Betrachtung der Substanzentwicklung und nicht der Ertragsentwicklung eines Unternehmens kann der Buchwert herangezogen werden. Das KBV entspricht dem Kurs dividiert durch den in der Bilanz ausgewiesenen Wert von Vermögensgegenständen reduziert um Verbindlichkeiten eines Unternehmens je Aktie. Je niedriger das KBV, desto besser. Der Wertansatz eines Unternehmens und stille Reserven (Patente, Immobilien, Markenrechte) sind zusätzlich zu beachten, da sie zunächst im Buchwert nicht erfasst werden.

## Marktsegment

[![image-1655734337789.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734337789.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734337789.png)

  
Welchen Märkten ist die Aktie zuzuordnen? Jede Aktie wird mind. einem Marktsegment zugeordnet z.B. EuroStoxx50. Diese Zuordnung wird zum einen zum Aufruf von Kurslisten aufgrund des zugeordneten Marktsegmentes benötigt, wie auch für die Verifizierung von gültigen Kurszuordnunen.

Die Zuordnung wird über das Kontextmenü "Marktzuordnung" getroffen. Die anschließende Frage inwiefern "Die Marktzuordnung exklusiv" gesetzt werden soll, ist mit ja zu beantworten, wenn die zuvor markierten Einträge ausschließlich dem gewählten Marktsegment zuzuordnen sind. Wird die Frage mit nein beantwortet, wird die Markteinstellung ergänzend zu den bisherigen Einstellungen genommen. Ist also zuvor Nemax und Nemax50 eingestellt wird nach Wahl des Eintrages "Ausland" die Einstellung um das Marktsegment "Ausland" ergänzt.

## Unternehmensdaten

[![image-1655734342133.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734342133.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734342133.png)

Im Reiter "Unternehmensdaten" werden grafisch Kern-Fundamentaldaten dargestellt und darunter in einer Tabelle die zugehörige Zahlenbasis editierbar dargestellt. Dabei werden die Daten auf Jahresebene erfasst. Eine Erfassung auf Quartalsebene ist aktuell nicht vorgesehen.

In den Spalten werden die zur Beurteilung einer Gesellschaft wichtigen Kennzahlen dargestellt. Weitere Funktionalitäten werden über "Action"-Buttons dargestellt.

## Zertifikate und Optionschein-Daten

[![image-1655734347080.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734347080.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734347080.png)

  
Um ebenfalls Zertifikate und Optionsscheine vernünftig verwalten zu können, werde dies ebenfalls als Eingabefelder zur Verfügung gestellt.

Der Basiswert kann für die Suche von OS/Zertifikaten zu einem Titel verwendet werden. Alle anderen Eingaben haben in der aktuellen Version nur Anzeigecharakter in Kurslisten. Hierbei können alle Werte direkt in Kurslisten eingeblendet werden. Berechnungen finden zur Zeit aber nicht statt.

# Kurse

[![image-1655734351513.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734351513.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734351513.png)

  
Die Kursdaten werden erst geladen, bei einem Wechsel auf das entsprechende Register Kurse. Bei der Anzeige werden alle historischen Kursdaten angezeigt, so wie Sie bei diesem Wert vorhanden sind. Ganz links befindet sich unterhalb des Schriftszuges "Kursdaten" der Name der Kursdatendatei (.SF). Als Besonderheit befinden sich die Kursdaten des aktuellen Tages nicht in der Liste, da diese seperat in den Stammdaten aus Performancegründen gehalten werden. Sie werden je nach Einstellung in den Programmeinstellungen, dann am nachfolgenden Tag in die Historiendatei gespeichert.

## Editieren eines Eintrages

Durch einen Doppelklick auf eine Zeile kann der entsprechende Eintrag editiert werden. Das Hinzufügen ist hier ebenfalls möglich, wenn das Kontextmenü genutzt wird und der Menüpunkt neu ausgewählt wird.

Die Kursdaten einer Aktie mit den Tagesveränderungen werden in dieser Ansicht aufgebaut. Hierbei werden Montage fett hervorgehoben. Über das Kontextmenü können wie immer zusätzliche Funktionen aufgerufen werden. Hierzu können in dieser Liste auch mehere Eintragungen zuvor markiert werden. Dies ist dann auch Vorraussetzung für die Nutzung der Funktion "Aktiensplitt". Es würden nur die markierten Einträge mit dem eingetragende Splitverhältnis verändert. In der Spalte 'Veränderung' wird dabei die zum Vortag zu ermittelndende prozentuale Kursveränderung angezeigt.

## Aktiensplitts

Mit Splitt lassen sich alle selektieren Kursdateneinträge um einen Faktor verkleinern/vergrößern. Dies wird benötigt um Aktiensplitts berücksichtigen zu können, die durch Kapitalerhöhungen, Kurspflege oder auch inverse Aktiensplitts (Verhinderung von Delistings) benötigt werden.

## Sperrdatum

Kursdaten werden bei der Aktualisierung erst nach diesem Datum akzeptiert. Dies ermöglicht manuelle Korrekturen ohne bei Aktualisierung der historischen Kursdaten diese wieder verworfen zu haben.

# Kursaktualisierung

[![image-1655734357460.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734357460.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734357460.png)

  
Das Fenster zeigt per Default die genutzten Aktualisierungsadressen für die Tagesdaten sowie für die historischen Kursdaten an. Der Defaultwert wird hierbei bestimmt durch den ersten gefundene Marktzuordnung des Wertes. Über den Button "Selektierte Prüfen" kann gezielt über das anschließend angezeigte Protokoll die Aktualisierung für den aktuellen Wert verifiziert werden:

Im Protokoll erscheinen die interpretierten Rückgabedaten von der Website in Textform. Eine Prüfung der Aktualisierungen ist so wesentlich einfacher möglich als in vorherigen Versionen.

# Unternehmensbeschreibung

Unternehmensbeschreibungen werden als kleines Profilsymbol innerhalb von Kurslisten angezeigt. Um diese tatsächlich mit Daten zu hinterlegen muss in den Markteinstellungen in der Profilgruppe eine zu verwendende Aktualisierungsadresse hinterlegt werden:

Es sind dabei mehrere Profilinformationen hinterlegbar. Damit eine Aktualisierung erfolgt muss unter Hauptmenu / Kurse / Internet Filter das Update der Beschreibungen aktiviert sein.

[![image-1655734363289.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734363289.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734363289.png)

# Markteinstellungen

[![image-1655734368259.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734368259.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734368259.png)

  
Alle Aktien werden einfach-oder mehrfach einem Marktsegment zugeordnet. Diese Zuordnung ist durch eine technische Grenze limtiert auf 64 Märkte. Durch die Festlegung eines Gruppennamen lassen sich hierbei in der Kursliste Marktsegmente zusammenfassen für die Darstellung. So ist beispielsweise Indizes.Europe und Indizes.International unter "Indizes"-Gruppenname zusammengefasst. Die Gruppierung ist nur in der Anzeige innerhalb des Kursliste relevant.

Bei einem nicht gruppierten Markt wird immer die Kurzbezeichnung zur Darstellung in Kurslisten verwendet. In Auswahlmenüs usw. immer der normale Langnamen. Beispiel: General Standard wird in Kurslisten als "GeneralS" dargestellt.

## Währung

Die Währung zeigt alle Titel mit einer Marktzuordnung vom Anlagetyp "Devisen". Die Zuordnung wird in Kurslisten in der Titelleiste gezeigt, um den Überblick bei der genutzten Währung zu behalten. Zum anderen werden Depotpositionen, die diesem Markt zugeordnet sind, in Richtung Depotwährung umgerechnet.

## Bevorzugte Börse/Depot/Provisionsmodell

Wird ein Titel aus dem Segment gekauft wird automatisch diese Börse/Depot als Standardeinstellung angenommen und kann danach natürlich verändert werden. Zudem kann bei Tai-Pan®aktualisierungen (siehe Programmeinstellungen.Tai-Pan®) der bevorzugte Markt für die Aktualisierung verwendet werden, sofern die Tai-Pan®-Datenbasis es hergibt.

## Wertpapiertyp

z.B. Indizes werden auch wenn eine Depotumrechnung eingestellt ist in den Programmeinstellungen nicht umgerechnet. Währungen werden mit 3 Nachkommastellen gelistet usw. Die Auswahl ist somit nicht unwichtig. Ist ein Markt dem Wertpapiertyp "Devisen" zugeordnet gelten alle zugeordneten Titel als "Devisen"-Einträge.

## Kursaktualisierung

Für eine Aktie gilt deren Aktualisierungsgruppe als zu verwendendes Aktualisierungsprofil. Für neue Aktien wird dabei immer die Marktzuordnung für die Initialisierung verwendet.

# Börsen

- Angabe von Courtagewerten werden für die Gebührenberechnung benötigt. Die Einstellung wird bei der Transaktionseingabe ausgewertet. Hierzu achten Sie bitte auf das Auswahlfeld Börse im Eingabeformular für Transaktionen.

Optionale Einstellungen ohne weitere programmatische Verwendung

- Die Bemerkungen für eine Börse
- Öffnungszeiten

# Vertiefende Inhalte

- [Titelanlage für Aktie, Fonds, Zertifikat usw.](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605513)
- [Fundamentaldaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/73957147/Fundamentaldaten)
- [Autoimport von Stammdaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/34635594/Autoimport+von+Stammdaten)
- [Export Watchlisten und Nutzung in Excel](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/44826393/Export+Watchlisten+und+Nutzung+in+Excel)
- [Stammdaten-Datenimport aus externen Datenquellen (CSV-Dateien)](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/51478332)
- [Technische Hintergrundthemen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/73957156/Technische+Hintergrundthemen)
- [Titelstammdaten und Märkte importieren](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2359207)
- [Umgang mit Anleihen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/91356950/Umgang+mit+Anleihen)
- [Nutzung von Fremdwährungstiteln](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/120389409)
- [Pflege von Land, Branche und Tätigkeitsbereichen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/133365653)
- [Aktiensplitts](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2359122/Aktiensplitts)

# Autoimport von Stammdaten

Der Autoimport wird immer automatisch gestartet, wenn ein ISIN/Name/WKN gesucht wird, die in den bisherigen Stammdaten nicht vorhanden ist. Die manuelle Anlage soll damit soweit wie möglich vermieden werden. Dabei werden unterschiedliche Quellen abgerufen, die beim Abruf in der Reihenfolge in den Programmeinstellungen kongiruiert werden können.

Zur Verfügung stehen aber grundsätzlich:

- Tai-Pan RT
- Tai-Pan EOD (Database-Engines als auch Tai-Pan)
- Internet-Abrufadressen die auf Basis der Fundamentaldaten-Engine arbeiten

[![image-1655734411902.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734411902.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734411902.png)

Grundsätzlich wird beim Autoimport versucht folgende Inhalte zu bestimmen:

- Name
- WKN | ISIN
- Branche
- Shortname
- Kurzbeschreibung
- WPArt

## Funktionsweise für konfigurierbare Internet-Adressen

Der Autoimport unterstützt über die konfigurierbare INI-Datei praktisch beliebig viele Quelladressen. Es werden dabei sowohl HTTP, als auch HTTPS-Adressen unterstützt. Die notwendige Konfiguration befindet sich dabei im Datenverzeichnis als Datei "Internet.Fundamental-Data-Autoimport.ini ". Die Datei kann von Ihnen selbst nach belieben angepasst werden. Die Besonderheit besteht dabei darin, dass das Format praktisch auf der Fundamentaldaten-Update-Engine von ShareHolder aufbaut d.h. die Aktualisierung aller Stammdatenfelder erlaubt und nicht nur der Basistitel. Zudem sind Ansätze fürs Caching und Inkludierung anderer Konfigurationen möglich.

Die genaue Beschreibung sehen Sie bitte unter: [Fundamentaldatenabgleich](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Fundamentaldatenabgleich&linkCreation=true&fromPageId=34635594)

## Aufbau der Konfigurationsdatei

Es werden Sektionen mit \[ \] definiert. Diese Sektionen werden der Reihenfolge nacheinander abgearbeitet. Erfolgreich ist der Import, wenn mind. die ISIN und der Name ermittelt werden konnten. Es gibt prinzipiell immer eine BaseURL, die über URL= eingeleitet wird. Nachfolgend werden über die Schlüsselwörter wie FullName, WKN, ISIN die Zuweisungen auf die eigentlichen Werte gemacht. Dabei werden reguläre Ausdrücke genutzt, die auf den abgerufenen Ergebnisinhalten (oft HTML-Seiten) angewendet werden.

### Beispiel-Konfiguration

```YAML
# Version 28.01.2018
 
[Development-Settings]
 
# debug true(default)|false
debug=true
 
# readonly true(default)|false
readonly=false
 
# RefreshIF-Bedingungen können so einfach ausgeschaltet werden und ein Zwangsupdate ausgelöst werden für alle vorhandenen Daten
disableRefreshIFConditions=true
 
[ComDirect-Daten]
URL.RefreshIf.MaxDaysSinceLastUpdate=30
URL.RefreshIf.AnyFieldIsEmpty=({ComdirectID})
URL=https://www.comdirect.de/inf/search/all.html?SEARCH_VALUE={isin}
{ComdirectID}=<a.href\="/inf/lsg/ewf/redirect_chart.html\?ID_NOTATION\=([0-9]*)\&amp\;
 
FullName=<h1.class\="headline.*">(.*)</h1>
 
WKN=<td class="simple-table__cell">WKN</td>.*<td class="simple-table__cell">(.{6})</td>
 
ISIN=<td class="simple-table__cell">ISIN</td>.*<td class="simple-table__cell">(.{12})</td>
 
ShortName=<td class="simple-table__cell">Basiswert</td>.*<td class="simple-table__cell">.*title="(.*)[",\&]>
 
Notizen=Strategie.*Bemerkung</h3>.*<div class="inner-spacing--medium">(.*)</div>
 
WPArt=<td class="simple-table__cell">Typ</td>.*<td class="simple-table__cell">.*title="(.*)[",\&]>
```

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="a74ad0c1-04c4-4486-b3b3-4c2c0568df91" data-macro-name="code" id="bkmrk--2"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk--4"></div></div></div></div>## Abgrenzung

- Die Zuordnung eines Titels zu einer Aktualisierungsgruppe / Markt muss aktuell noch manuell erfolgen, da es hierfür keine sinnvollen Zuordnungs-Logiken gibt. Diese Zuordnung muss daher im Nachgang manuell erfolgen!

# Aktiensplitts

## Technischer Hintergrund

In SHAREholder wird keine interne Splittabelle geführt für die Aktien, dass heißt historische Kursdaten müssen nach einem Splitt um den Splittfaktor bereinigt werden. Alle zum Kurs in Bezug stehender Wertangaben sind dabei mit zu berücksichtigen. Dazu gehören Transaktionen und dessen Ausführungskurs/Stückzahl sowie Gewinnschätzungen/ Kennzahlen einer Gesellschaft. Beide Angaben werden nach einem Splitt nach Rückfrage automatisch angepaßt.

## Eingabe

Aktiensplitts können über die Kursliste in den Stammdaten oder in der Transaktionsliste durchgeführt werden. In beiden Fällen ist das dazugehörigen Kontextmenü zu öffnen und der Menüpunkt "Aktiensplitt" auszuwählen.

[![image-1655734439528.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734439528.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734439528.png)

Möglichkeiten

- Transaktionsliste
- Stammdaten-Kurslistenreiter:

## Grundprinzip

Es werden alle zuvor markierten Elemente entsprechend einem eingegebenen Splitt-Kurs angepasst. Vorhandene Transaktionen auf diesen Wert werden ebenfalls entsprechend einer manuellen Selektion umgerechnet in Stückzahl und Kurs.

## Arbeitsschritte

[![image-1655734443427.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734443427.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734443427.png)

1. Stammdaten öffnen und Kurse als Reiter wählen
2. Zu bereinigende Kursdaten mit der Shift/Strg-Taste markieren
3. Kontextmenü öffnen und "Aktiensplitt" auswählen oder in der Toolbar "Splitts"
4. Im Eingabeformular Tauschverhältnis eingeben UND alle betroffenen Transaktionen (es erfolgt dabei eine automatisch Selektion auf Basis des Datums vorweg) wieder mit STRG/Shift markieren. Das Tauschverhältnis ist mit Fließkommazahlen möglich d.h. 1:4 und zurück mit 1:0,25.
5. Das Sperrdatum in den Stammdaten sollte immer dann gesetzt werden, wenn manuelle Bereinigungen stattgefunden haben. Das Sperrdatum sorgt dafür, dass bei Aktualisierungen die Kursdaten nicht überschrieben werden können. Standardbeispiel hier: Yahoo lieferte noch Wochen nach dem Aktiensplitt unkorrigierte Kursdaten zurück. Mit jeder Kursaktualisierung zerstören Sie sich so immer wieder die manuell korrigierten Kursdaten. Das Sperrdatum gilt inklusive dem gesetzten Tag.

# Pflege von Land, Branche und Tätigkeitsbereichen

## Grundprinzipien in der Pflege

Als Nutzer sollen die verwendeten Daten für Land, Branche und Tätigkeitsbereich einfach anpassbar und gleichzeitig harmonisiert werden können. Dabei soll sehr offen auch Freitext-Felder genutzt werden für die Eingaben. Dies ermöglicht eine sehr freie Eingabe, kann aber inhaltliche Dubletten durch fehlerhafte Schreibweisen bzw. leicht modifizierten Schreibweisen verursachen. Typische Themen hier sind die Nutzung verschiedener Sprachen, Abkürzungen und Schreibweisen. Es wird daher ein generisches System verwendet für die Pflege, was folgende Optionen bietet:

- Jeder Eintrag kann einem anderen Eintrag untergeordnet werden, so kann eine Taxonomie abgebildet werden und kann die spätere gewünschte Nutzung in Filtern erleichtert als auch das [Systematisches Depot-Balancing](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Systematisches%20Depot-Balancing&linkCreation=true&fromPageId=133365653) überhaupt ermöglichen durch die notwendige Daten-Harmonisierung (gleiche Schreibweise)
- Jeder Eintrag kann beliebig viele alternative Bezeichnungen (Alias-Namen) beinhalten z.B. IT-Softwareentwicklung, SW-Entwicklung, Software-Development etc.
- Jeder Eintrag kann für spätere Ausbaustufen auch explizite Abkürzungen für Listendarstellungen mit wenig Platz nutzen z.B. United-States-of-America oder USA
- Die bisherigen Fundamentaldaten-Imports sollen weiterhin wie gehabt funktionieren und zunächst beliebige Datenzuordnungen erlauben. Über zentrale Masken werden diese dann aber systematisch abgeglichen
- Die privaten Einstellungen bei lokalen Installationen sollen erhalten bleiben. Durch die Einspielung von harmonisierten Taxonomie-Bäumen für Land, Branche und Tätigkeitsbereich kann jedoch mit einem Klick ein Abgleich der Datenstruktur bewirkt werden.
- Dies Harmonisierung soll explizit manuell gestartet werden
- Für spätere Ausbaustufen darf jeder Eintrag einen individuellen Farbcode enthalten. Dies soll später die Nutzung in den Depot-Balancing-Darstellungen mit einer visuellen Unterscheidung deutlich unterstützen

## Nutzung der Alias-Option

Die Alias-Einträge können synonym genutzt werden, werden aber immer den Haupteintrag zugeordnet. Hier im Beispiel ist der Haupteintrag \[siehe (1)\] die USA mit dem übergeordneten Eintrag "Nordamerika". Unter (2) können dabei beliebige freie Alias-Einträge erzeugt werden. Gleichzeitig können aber auch alle vorhandenen Einträge \[siehe (3)\] per Doppel-Klick oder Links/Rechts-Buttons als Alias übernommen werden. Wird ein Alias aus der (3)-Spalte übernommen, wird automatisch der Eintrag aus der Gesamtliste entfernt. Er wird somit als Alias verwendet.

Für folgende Verwendungszwecke sind Alias gedacht:

- Aufnahme von fehlerhaften Schreibweisen, um diese dennoch harmonisiert nutzen zu können
- Aufnahme von Übersetzungen insb. für DE/EN Schreibweisen
- Aufnahme von Abkürzungen, die teilweise bei Imports übernommen werden und dennoch einem Haupteintrag zugeordnet sein sollten.

Auf folgende Weise werden Aliase erzeugt:

- Wenn Sie einen Haupteintrag umbenennen, wird automatisch der alte Name als Alias hinterlegt. Nur so können die bisherigen Bezeichnungen ja auch "harmonisiert" werden. Wenn Sie Beispielsweise "Engl" umbenennen in "England" wird "Engl" zum Alias. Damit wird jeder Stammdaten-Eintrag an Aktien mit "Engl" als Alias zu England betrachtet und nach der Harmonisierung immer "England" hinterlegt
- Sie können jeden Haupteintrag über die Auswahlliste (3) per Doppelklick oder über die Buttons zu Alias-Einträgen machen
- Sie können über das Kontextmenü (2) eigene Alias-Einträge hinterlegen. Bitte beachten Sie aber, dass beim Öffnen der Taxonomie-Ansicht alle vorhandenen Einträge in allen Stammdaten übernommen werden und damit abgebildet sind. Diese werden zunächst als Haupteinträge dargestellt \[unter (1)\]

[![image-1655734470886.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734470886.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734470886.png)

## Nutzung der Baumstruktur

Nach Auswahl eines Eintrags kann der "Übergeordnete Eintrag" festgelegt werden. Mit Wechsel der Auswahl unter (1) wird automatisch der Eintrag dann in der Baumstruktur verschoben. Bei der Anzeige von Einträgen wie z.B. einem Land zu einem Titel in der Detail-Liste wird immer der Baum dynamisch aufgelöst über die Taxonomie.

## Besonderheiten und wichtige Hinweise

Die Applikation der Taxonomien erfolgt intern über sehr performante Dictionary-Lösungen d.h. für das schnelle Nachschlagen von "Schlüsseln". Jeder Eintrag für Land, Branche und Tätigkeitsfeld hat dabei einen eineindeutigen Schlüssel. Dies ist immer der Name der auch in den Bearbeitungsmasken angezeigt wird. Ein Name kann NICHT mehrfach genutzt werden. Dies ist dabei technisch unabhängig von der Hierarchie d.h. \\Welt\\Europa\\Deutschland kann nicht neben \\Universum\\Deutschland angelegt werden, da "Deutschland" nur einmal verwendet werden kann.

## Anwendung der Harmonisierung

Der Taxonomie-Baum wird bei jeder Darstellung von Land, Branche und Tätigkeitsfeld genutzt um die jeweiligen Pfade aufzubauen z.B. \\Europa\\Deutschland\\Bayern. Dabei ist der Schlüssel "Bayern". Die Taxonomien werden dabei nur beim Aufruf der Einstellungen unter Hauptmenü\\Einstellungen\\\* Taxonomien abgeglichen mit den aktuell vorhandenen Stammdaten d.h. wird z.B. ein Eintrag "Neues-Land" an einer Aktie in den Stammdaten hinterlegt, wird erst mit Aufruf der Einstellungen dies synchronisiert in den Taxonomie-Baum. Es wird damit ein neuer Haupteintrag "Neues-Land" auf oberster Ebene erstellt. Im Einstellungsdialog kann nun z.B. die Hiearchie angepasst werden und "Neues Land" unterhalb von "Europa" gesetzt werden. Wird nun mittels "Speichern" die Konfiguraiton bestätigt, werden alle Stammdaten geprüft, ob ein Haupteintrag/Alias zugeordnet werden kann mit dem neuen Taxonomie-Baum und die Anzeigen aktualisiert. Damit wird nun "Europa \\ Neues-Land" in den Listen dargestellt.

## Anwendung und Nutzung

### Individuellen Eintrag erzeugen

  
Per Doppelklick in den Stammdaten kann entweder ein eigener Eintrag genutzt werden (ohne diesen vorher definiert haben zu müssen) oder aus den vorhandenen Einträgen ein Element übernommen werden. Bitte denken Sie daran die Eingabe immer mit &lt;Enter&gt; abzuschließen, damit diese auch final übernommen wird.

[![image-1655734476194.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734476194.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734476194.png)

Öffnet man nun die Ländereinstellungen, erscheint der Eintrag zunächst nicht zugeordnet in der Liste. Er kann damit nun als Alias einem anderen Eintrag zugeordnet werden oder in der Hierarchie über die Umstellung von "Übergeordneter Eintrag" ein zu Hause finden. Damit ist immer auch nachträglich eine saubere Pflege und Justierung möglich.

[![image-1655734480394.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734480394.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734480394.png)

Wird der Eintrag in der Pflegemaske hier gelöscht und die Rückfrage zur Übernahme bejaht, werden alle Zuordnungen auf "Demo-Land" zurückgesetzt, da es keine Entsprechung mehr in der allgemeinen Taxonomie mehr gibt.

[![image-1655734485048.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734485048.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734485048.png)

### Ansicht in den (Detail-)Listen

Die Baumstruktur wird in den Listen dynamisch berechnet und orientiert sich an den aktuellen Einstellungen.  
Am Beispiel Morphosys ist lediglich Bayern hinterlegt.

[![image-1655734489182.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734489182.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734489182.png)

Da der "Key: Bayern" jedoch in einer Baumstruktur abgelegt ist zu Europa / Deutschland / Bayern, wird dies voll aufgelöst und gleichzeitig harmonisiert dargestellt, ohne die übergeordneten Strukturen neu pflegen zu müssen.

[![image-1655734493806.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734493806.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734493806.png)

# Nutzung von Fremdwährungstiteln

In ShareHolder können Sie beliebige Fremdwährungstitel aufnehmen. Als Fremdwährung sind nachfolgende Titel gemeint, die nicht der vorkonfigurierten Standard-Depot-Währung entsprechen, die unter den Programmeinstellungen festgelegt worden sind. Im Default ist hier der Euro konfiguriert.

[![image-1655734521101.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734521101.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734521101.png)

## Grundsätzliche Stammdaten-Einstellungen für Währungen

<div class="table-wrap" id="bkmrk-konfiguration-auswir"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Konfiguration: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Konfiguration</div></th><th aria-disabled="false" aria-label="Auswirkung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Auswirkung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Programm - Standardwährung</td><td class="confluenceTd">Alle Anzeigen und Auswertungen werden grundsätzlich auf dieser Währungseinstellung ausgerichtet. Im Depot werden alle Titel in Richtung der Standard-Währung umgerechnet.</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währungen (-Liste)</td><td class="confluenceTd" colspan="1">Für die Währungs-Umrechnungen werden grundsätzlich die Kursdaten der hinterlegten Währungs-Paare genutzt z.B. EUR-USD. Sie sollten daher bei Unstimmigkeiten prüfen, ob die Währungspaare die aktuellsten Umrechnungskurse korrekt darstellen. Alle Währungen finden Sie in der speziellen Watchliste "Devisen\*". Sie können damit über die Toolbar die Kursaktualisierung unmittelbar auslösen.

[![image-1655734528444.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734528444.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734528444.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Basis-Währung pro Titel</td><td class="confluenceTd" colspan="1">Grundsätzlich besitzt jeder Titel eine Hauptwährung und eine Heimatbörse. Die Konfiguration erfolgt in den Stammdaten pro Titel über eine Auswahl-Liste. Die Konfiguration ist maßgeblich, ob in Depotansichten eine korrekte Umrechnung und Darstellung erfolgen kann.

[![image-1655734532813.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734532813.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734532813.png)

Pro Titel können grundsätzlich mehrere historische Kursdaten nebeneinander in verschiedenen Währungen ermittelt und abgelegt werden.

Achtung: Aktuell kann in der Oberfläche nicht zwischen verschiedenen Währungen per Klick in den Kursdaten und im Chart gewechselt werden. Dies ist jedoch bereits auf der Roadmap spätestens für Q1/2021 geplant. Aktuell wird immer die konfigurierte Hauptwährung in den Stammdaten des Titels genutzt für Chart und den Kursdaten-Reiter, auch wenn andere "Abfragen" für andere Währungen erfolgen können.

Im Reiter Kursaktualisierung sehen Sie, dass verschiedene Währungen abgefragt werden können (je nach Titel). Achten Sie darauf, dass die Zielwährung bei der Kursaktualisierung auch der Hauptwährung in den Stammdaten entspricht, um nicht überrascht zu werden!

[![image-1655734538370.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734538370.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734538370.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währungseinstellungen pro Konto</td><td class="confluenceTd" colspan="1">Aktuell ist es auch möglich eine Währung pro geführtes Konto zu nutzen und einzustellen. Diese Konfiguration wirkt sich nur für bestimmte Anzeige auf und führt nicht zu automatischen Umrechnungen. Es wird in Kürze jedoch so erweitert, dass bei Kauf/Verkauf von Titeln auf einem Konto die zugehörige Konto-Währung berücksichtigt wird. Aktuell wird ausschließlich die Standard-Währung für das Portfolio verwendet.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währungseinstellung pro Kursaktualisierungsgruppe</td><td class="confluenceTd" colspan="1">Grundsätzlich enthalten Kursaktualisierungsgruppen immer einen Zielmarkt/Zielbörse und eine Zielwährung. Diese Zielwährung wird auch in den Titel-Stammdaten/Kursaktualisierung angezeigt, so dass man gezielt nach Kursquellen für US$ suchen kann. ShareHolder versucht immer zunächst eine native Datensicht auf die Heimatbörse zu nehmen und erst spätestmöglich dann mit Umrechnungen zu arbeiten, um Verzerrungen durch Währungsumrechnungen zu vermeiden bzw. nur bewusst zuzulassen, wenn notwendig.

[![image-1655734543030.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734543030.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734543030.png)

</td></tr></tbody></table>

</div>## Fremdwährungen für die Nutzung in Handelsstrategien, Watchlisten, Filter-Listen

In allen Listen und Strategien sollten Sie immer ein Auge darauf haben, auf welcher Währung hier eine Vergleich gezogen wird und ob hier insb. die Fundamentaldaten z.B. Gewinne pro Aktie in der gleichen Währung wie die Stammwährung angezeigt und aktualisiert werden. Es kann so bei einfachen Kurs-Gewinn-Verhältnis-Berechnungen zu Verzerrungen kommen. Grundsätzlich sind für alle S&amp;P500, Dow-Jones, Nasdaq100-Titel die Fundamentaldaten immer in US$ geführt. Sie sollten daher auch die Kursaktualisierungen als Primärwährung in US$ halten.

## Fremdwährungen für Depot-Werte

Pro Kauf/Verkaufs-Transaktion wird bei Fremdwährungstitel immer automatisch eine Abfrage der Umrechnungskurse vorgenommen. Sie können dabei auch in der Depot-Ansicht zwei Spalten einblenden, die den aktuellen Umrechnungskurs zur Depotwährung und den letzten beim Kauf genutzten Umrechnungskurs angezeigt.

[![image-1655734547519.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734547519.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734547519.png)

# Umgang mit Anleihen

Um Anleihen in ShareHolder abbilden zu können, müssen die Mechanismen von CFDs genutzt werden d.h. ein Name für die Anleihe im entsprechenden Feld (rot maskiert) festgelegt werden, neben einem **Multiplikator** der der Stückelung entsprechen sollte.

[![image-1655734575228.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734575228.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734575228.png)

Die Anpassungen sollten in folgender Reihenfolge erfolgen:

- Anpassen der Stammdaten über Doppelklick auf die Titel
- Refresh mit &lt;F5&gt; der Transaktionslisten
- Eventl. vorberechnete Gewinndarstellungen müssen einzeln korrigiert werden mit Doppelklick auf die Transaktion. Hierzu das GuV-Feld leeren und erneut speichern. Der Gewinn wird dann automatisch erneut ermittelt.  
    [![image-1655734579517.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734579517.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734579517.png)

# Titelstammdaten und Märkte importieren

## Aus CSV-Dateien

Um ganze Markt/Katalogstrukturen importieren zu können, ist in den Markteinstellungen (Hauptmenü. Einstellungen. Märkte) ein entsprechender Import von Listen realisiert. Der Aufbau der Listen wird über ein frei definierbares Importformat festgelegt, was mit "Strukturliste\*" beginnt.

[![image-1655734619715.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734619715.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734619715.png)

Um ein Import durchzuführen, sollte zunächst ein passender Markt angelegt oder auswählt werden. Danach muss ein Strukturformat gewählt werden als zu nutzendes Importformat. Danach kann der Import beginnen über und den Button "Marktliste auslesen" wählen.

Bei Erfolg werden die neu hinzugenommenen Werte angezeigt.  
Der Import legt noch nicht vorhandene Titel mit den gegebenen Daten innerhalb des selektierten Marktes an.

### Export Marktstrukturdaten

Unter den Markteinstellungen kann parallel zum Import auch ein entsprechender Export von Stammdaten vorgenommen werden. Das Exportformat ist hierbei in Grenzen frei festlegbar.

## Aus Tai-Pan EOD-Katalogdaten

Aufruf über Hauptmenü Aktualisieren / Tai-Pan Katalogansicht:

[![image-1655734623637.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734623637.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734623637.png)

## Arbeitsschritte

### Selektion der gewünschten Kataloge zur Aktualisierung

[![image-1655734628052.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734628052.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734628052.png)

In Tai-Pan® können sehr viele Kataloge nebeneinandere gepflegt werden. Damit die Auswahl von SHAREholder erleichtet wird, ist die Nutzung von internen Filterpatters möglich. Hierzu existiert ein interner Patternparser, wie er auch im Filtersystem genutzt wird. Im Standard sind bereits die wesentlich Selektionen enthalten:

Als Grundlage dient hier die Funktion "Katalog" die so beliebig eingegrenzt werden kann.  
Die Verknüpfung mit UND (&amp;) und ODER(|) ist möglich z.B.

```
(Katalog=????Nem* | Katalog =????Neuer* | Katalog = *AX*) & (Katalog=!*Scheine* & Katalog=!*OS*)
```

### Auswertung und Prüfung der Aktualisierung

Der Abgleich von Kursaktualisierung ist teilweise sehr mühsam. Entsprechend kann intern ein Prüfung auf den durchgeführten Aktualisierungsumfang vorgenommen werden. Es kann so systematisch ein Abgleich mit dem Tai-Pan® und dem System vorgenommen werden.

## Einstellungen

### Aktualisierungsumfang

Stammdaten sind bei dieser Form der Aktualisierung:

- Name, Shortname, Cash, Gewinn, Branche, ISIN, WKN
- Kursdaten 
    - Exklusiv - Hier werden alle bisherigen Kursdaten des Titels gelöscht und die Daten aus dem Tai-Pan® System übernommen.

### Zeitraum

Um nicht immer alle Daten unnötig zu aktualisieren kann eine Aktualisierungszeitraum festgelegt werden. Die Standardeinstellung ist Alles. Die Performanceunterschiede sind nicht bahnbrechend, so dass dies tatsächlich als Standardeinstellung Sinn macht.

### Datenübernahme

- Neue Werte - Werden in Tai-Pan® Titel geführt in einem ausgewählten Katalog, die so in SHAREholder nicht auffindbar sind, so wird dieser Titel nach Rückfrage in SHAREholder angelegt.
- Markteinstellung übernehmen - Da bei Neuordnungen von Marktzuordnungen die manuelle Sortierung teilweise sehr langwierig sein kann, wird die komplette Übernahme von Markteinstellungen aus Tai-Pan® unterstützt. Hier wird nach Rückfrage des Users die Markteinstellung für einen Katalog gesetzt und dann für alle gefundenen Titel des Kataloges übernommen.
- Unbekannte Kataloge in SHAREholder übernehmen, bewirkt tatsächlich für alle selektierten Kataloge, die ohne die Taipan-Katalognummern, in SHAREholder nicht existieren, dass diese angelegt werden.

# Export Watchlisten und Nutzung in Excel

Um Watchlisten extern nutzen zu können, bietet sich die Funktion "Veröffentlichung" an. Diese findet sich im Reiter Auswertungen in der Watchlisten-Ansicht.

[![image-1655734687549.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734687549.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734687549.png)

Hier können Sie nun die gewünschten Watchlisten für den Export auswählen, ebenso wie das Exportverzeichnis. Sie sollten als Bereitstellungsformat in diesem Moment XML/XSL wählen, um die Transformationsberechnungen in HTML-Reports zu umgehen.

[![image-1655734691104.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734691104.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734691104.png)

Sie erhalten dann im Exportverzeichnis folgende Inhalte und können die erzeugten XML-Dateien nun beispielsweise mit Excel (ab 2013) öffnen und danach beliebig weiterbearbeiten.

[![image-1655734695685.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734695685.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734695685.png)

[![image-1655734699346.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734699346.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734699346.png)

Folgende Hinweise zu den Spalten:

- PosNR: Wenn insb. aus Filtersystemen Watchlisten erzeugt werden, kann hierbei immer eine Position im Filter berechnet werden. Diese dient oft z.B. der Sortierung der Filterergebnisse und ist damit als Qualitätsindex vorgesehen. Dieser kann aber auch manuell gesetzt werden.
- CompareDate: Auch dieser Wert kann manuell gesetzt werden, wird aber immer automatisch auf das Tagesdatum gesetzt, wenn ein Titel einer Watchliste hinzugefügt wird
- DeleteDate: Watchlisten sollten automatisch bereinigt werden können d.h. Titel nach diesem Datum sollten entfernt werden können und sind nicht mehr relevant

# Titelanlage für Aktie, Fonds, Zertifikat usw.

## Manuelle Eintragung

Zunächst sollten Sie in die Kursliste des zugehörigen Marktsegmentes wechseln. Öffnen Sie das Kontextmenü mit der rechte Maustaste und wählen Sie "Neuen Titel". Danach können Sie die [Stammdaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605472/Stammdaten) des Wertpapieres eingeben.

### Mindesteingaben für die Neuanlage

Grundsätzlich ist eine manuelle Einlage oft nicht notwendig. Bitte prüfen Sie zunächst den Abschnitt "Automatischer Import von Stammdaten ..."

[![image-1655734738028.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734738028.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734738028.png)

  
Für die Neuanlage von Werten sind folgende Daten elementar um in SHAREholder genutzt werden zu können:

- ISIN (Onlinepannel und einige Aktualisierungsadressen nutzen direkt die ISIN). Sollte keine ISIN eingegeben werden, wird automatisch eine fortlaufende Nummer generiert. Hierzu ist nur die ISIN-Nummer komplett leerzulassen.
- Name (Anzeige in allen Listen, Auswahlelementen usw.)
- Marktzuordnung (Zur Zeit notwendig, da Titel sonst nicht effektiv in Marktlisten organisiert werden können. Eine Spezialliste "Ohne Einordnung" steht nicht zur Verfügung.)

## Automatischer Import von Stammdaten

Es gibt einige Möglichkeiten, um eine umständliche manuelle Pflege zu vermeiden:

- Börse-Online-Statistik-Import, womit auch Titel automatisch angelegt werden können
- Automatischer Titelimport insb. für Fonds, Zertifikate und Optionsscheine, Ausländische Wertpapiere 
    - OnVista
    - Tai-Pan® End-Of-Day (EOD)
    - Tai-Pan® Realtime

Eine manuelle Datenpflege ist nur in Ausnahmefällen notwendig.

### Automatischer Titelimport

[![image-1655734742711.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734742711.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734742711.png)

Der automatische Datenimport erfolgt immer dann, wenn ein Titel in der eigene Stammdaten-Datenbank nicht gefunden werden kann. Der Autoimport wird dabei automatisch aus allen sinnvollen Kombinationen heraus gestartet. Dies ist somit:

- Eingabe im Transaktionsfenster (Kaufen/Verkaufen)
- Suche in den Detaillisten (Direktstart mit &lt;F7&gt;). Nutzen Sie hier vorzugsweise die ISIN für die Suche, damit die nachfolgenden Abfragen der Quellsysteme möglichst qualifiziert erfolgen kann.
    
    Beispiel: Für die automatische Anlage für "Nel ASA / Norwegischer Titel / ISIN: NO0010081235" bzw. einfach die ISIN eingeben und mit Enter abschließen in der Detailliste (&lt;F7&gt;) und die Dialoge bestätigen für die Neuanlage. Um die automatische Kursaktualisierung des Titels sicherzustellen, sollten Sie zudem sofort die geeignete Kurs-Aktualisierunsgruppe auswählen: Doppelklick auf den Titel, Reiter Kursaktualisierung auswählen und alle Ariva-Adressen markieren und „Selektierte Prüfen“ auswählen. Dann den optimalen Markt auswählen mit rechte Maustaste auf die richtige Zeile oder sofort die richtige Aktualisierungsgruppe auswählen:
    
    [![image-1655734747346.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734747346.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734747346.png)

Für die Anlage werden verschiedene Quellen abgefragt (je nachdem was auf Ihrem System installiert ist und vorliegt):

- Tai-Pan EOD als auch in
- Tai-Pan RT
- und OnVista ([https://www.onVista.de](https://www.onvista.de/))

Wird ein Titel in eines der Systeme gefunden wird dieser in einer Liste mit allen zugeordneten Daten gezeigt. Eine Übernahme ist dann einfach über die Auswahl mit dem Radiobutton und dem Symbolleisten-Button "Markierten Titel übernehmen" zu starten. Der Titel wird dann sofort vollständig übernommen. Das Programm kann den Titel dann direkt weiterverwenden. Sofern möglich erfolgt hierbei auch eine automatische Kursdatenaktualisierung, die insb. für das Positionsmanagement in Transaktionsmasken wichtig ist (z.B. Berechnung der empfohlenden Stückzahl).

#### Aktualisierungsumfang

Die Datenübernahme erfolgt soweit es die Daten vom Datenanbieter erlauben, d.h.

- ISIN, WKN, Name, Shortname, Branche, Laufzeit
- Basiswert, Bezugsverhältnis
- Ergebnis je Aktie, Dividende je Aktie
- Letzte Tickermeldungen
- Historische Kursdaten ebenso wie den letzten Tagessatz

Die Marktzuordnung wird automatisch pro Titel manuell abgefragt, da eine automatische Zuordnung leider nicht möglich ist.

#### Besonderheiten OnVista

Mehrfachsuchen sind für Onvista nicht möglich. Es können nur Einzeltitel aufgelöst werden. So ist die Suche nur dann erfolgreich, wenn OnVista nur ein Einzeltitel zurückgeben kann. Wenn die Suche mit einer ISIN oder WKN gestartet wird, kann zudem die Suche beschleunigt werden.

Bei Fonds gibt es zudem oftmals keine Möglichkeit der automatischen Auswertung, da die Kursdaten nicht verwertbar bereitgestellt werden z.B. durch Mehrfachverschachtelungen der Stammdaten.

# Beispiel Anlage X-Endlos Turbo Optionsschein

## Vorgehen in 3 Schritten

Sie können grundsätzlich manuell Titel anlegen. Sie sollten jedoch immer versuchen zunächst den Autoimport zur Hilfe zu nehmen, da selbst bei Misserfolg der Suchen über Tai-Pan, Tai-Pan RT, Onvista automatisch ein Vorschlag für die manuelle Anlage vorgenommen wird.

In diesem Beispiel wird von einer Marktliste aus im Suchfeld die ISIN "DE000TBX0MT2" eingegeben und mit &lt;Enter&gt; abgeschlossen (das gleiche können Sie auch direkt in der Transaktionsmaske machen):

[![image-1655734799598.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734799598.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734799598.png)

Sie erhalten dann zeitnah folgenden Dialog:

[![image-1655734837942.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734837942.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734837942.png)

Nach Auswahl und Speichern müssen Sie bestätigen in welchem Marktsegment der Titel liegt. In diesem Beispiel „Zertifikate". Hierzu kann einfach „Z" gedrückt werden, da eine Suche nach den eingegebenen Anfangsbuchstaben erfolgt in der Auswahlbox. Danach wieder "Speichern".

[![image-1655734832323.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734832323.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734832323.png)

Danach wird automatisch eine Aktualisierung vorgenommen und Sie erhalten bereits alles konfiguriert vorliegen:

[![image-1655734842885.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734842885.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734842885.png)

## Automatisch vorgenommene Einstellungen

Hierbei wurden folgende automatische Einstellungen vorgenommen:

[![image-1655734846891.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734846891.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734846891.png)

[![image-1655734851621.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734851621.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734851621.png)

Wichtig hierbei (da insb. Onvista eigene Schlüssel pflegt für den Zugriff auf Titel) ist die Variablen-Festlegung:

[![image-1655734856173.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734856173.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734856173.png)

Sollten Sie bereits einen Titel manuell angelegt haben, dann diesen einfach löschen (Kontextmenü) und automatisch wie oben beschrieben neu anlegen lassen oder Sie korrigieren die Einstellungen (insb. für die Variable). Die "\[isin\]" in Variablennamen ist von mir so gewählt, da dahinter nicht die ISIN einzutragen ist, sondern dass die Variable intern über die ISIN aufgelöst wird. Damit wird bei Onvista mittels der ISIN die IDOSI gesucht. Dies erfolgt über folgende Internet-Variablen-Einstellungen (als Hintergrund):

[![image-1655734860461.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734860461.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734860461.png)

# Titelanlage in Fremdwährung (z.B. US$) und Nutzung in der Hauptwährung (€)

## Titelanlage

Am Beispiel

<div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-id="2e75fc62-0223-4cf0-8ec4-a93490f7a873" data-macro-name="info" id="bkmrk-us02209s1033-%2F-altri"><div class="confluence-information-macro-body">US02209S1033 / Altria Group Aktie</div></div>Um einen US$-Titel anzulegen, gehen Sie zunächst wie bei [jedem anderen Titel vor](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/1605513). Sie sollten in die jeweilige Marktliste mit &lt;F8&gt; gehen, die zu dem Titel passt. Sollte kein geeignetes Marktsegment vorhanden sein, so muss zunächst unter Einstellungen / Märkte ein neuer Markt angelegt werden. In diesem Beispiel wird der Titel mit der ISIN, WKN, Name und der Marktzuordnung "Ausland in US$" hinterlegt.

Der Titel kann in der Marktliste über "Titel anlegen" (in der oberen Titelleiste oder über r. Maustaste im Kontextmenü in den Marktlisten zu finden) erstellt werden. Sollte er in der Suche (

[![image-1655734928709.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734928709.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734928709.png)

) bereits gefunden werden, können die Stammdaten über Doppelklick auf den gefundenen Titel aufgerufen werden. Man erhält folgende Ansicht:

[![image-1655734932072.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734932072.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734932072.png)

## Kursaktualisierung

[![image-1655734936035.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734936035.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734936035.png)

Danach kann bereits die optimale Kursdatenversorgung geprüft werden über den Reiter "Kursaktualisierung". Sie sollten dabei alle Kursaktualisierungsgruppen mit Rückgabe in US$ markieren, wenn Sie die US$-Werte an den umsatzstarken Heimatmärkten verwenden möchten. Dies sollte der Standard sein, da Sie zwar auch Xetra etc. Werte oftmals nutzen können, diese Märkte aufgrund des geringen Handelsvolumens aber oftmals verfälscht sind. Die Umrechnung der Werte in € erfolgt über die Zuordnung des Titel zu einem Markt und dem zugehörigen Devisenkurs.

Danach der "Selektiven Prüfung" sollten Sie die Kursaktualisierungsgruppe wählen, wo Sie die meisten Kursdaten (Anzahl EOD) oder die beste Qualität (Vergleich Datum, Kurs) und die beste Antwortzeit vom Server (Zeit 1.) erhalten:

[![image-1655734940520.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734940520.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734940520.png)

Sie sollten die Aktualisierungsgruppe daher auf:

[![image-1655734946005.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734946005.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734946005.png)

 einstellen.

Danach direkt "Speichern" und nach Selektion des Titel eine komplette Kursaktualisierung für den Titel z.B. mit &lt;Strg&gt;&lt;F5&gt; durchführen und im Chart das Ergebnis prüfen:

[![image-1655734950152.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734950152.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734950152.png)

Dies schaut damit weitgehend i.O. aus. Der Titel ist in dem Moment in US$ gelistet und geführt.

## Depotnutzung des Titels

Hierzu den Titel einfach "Kaufen" über die verschiedenen Möglichkeiten z.B.

[![image-1655734954050.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734954050.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734954050.png)

Bitte achten Sie in der Kaufmaske auf die Eingabe des korrekten Währungskurses.-

Danach erscheint der Titel dann im Depot auch korrekt zunächst mit US$ unter AK. Unter Wert steht nun aber ein "Umrechnungswert" in €.

[![image-1655734957730.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734957730.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734957730.png)

Die Umrechnung erfolgt über den Umrechnungskurs, der zusätzlich auch eingeblendet werden kann. Hierzu einfach die Spalten (r. Maustaste über die Spaltenköpfe) einblenden:

Bitte prüfen Sie hier insb. auch immer den Kaufkurs (KK), der in der Kaufmaske auch entsprechend zu hinterlegen ist unter Währung. Wird der KK nicht korrekt hinterlegt, erfolgt entsprechend leider auch eine fehlerhafte Umrechnung.

# Titelanlage und Management für CFDs

## Verwaltete Daten für CFD-Titel

Unter der Voraussetzung das IgMarkets als Broker verwendet wird, benötigt es lediglich 2 Voraussetzungen um die Daten importieren und verwenden zu können:

- Anlage eines IgMarkets-Kontos für die Zuordnung neuer Transaktionen
- Anlage eines CFD-Markets für die Zuordnung automatisch neu angelegter CFD-Titel. Diese werden dann automatisch diesem Titel zugeordnet

Um mit CFD-Scheinen umzugehen sind intern folgende Informationen verwaltet:

- Über CFD-Titel in den Stammdaten: Margin-Größe pro Kontrakt, Typische Kontraktgröße pro Titel und der interne CFD-Titel, der bei den Imports für Zuordnungen genutzt wird. Mehr Daten werden als Stammdaten nicht benötigt. Beim Import von IgMarkets wird die Margin-Größe nur mit Datentabellen abgeglichen. Diese sind aber nicht vollständig, so dass die Margin-Größe bitte immer nachzukontrollieren ist. Hierzu einfach in die Marktlisten (&lt;F8&gt;) gehen und dort die CFD-Titel anzeigen lassen.
- Die Stammdaten lassen sich natürlich wie gewohnt durch Doppelklick auf den Titel öffnen. Dies sind dann direkt auf der Startseite des Formulars sichtbar.  
    [![image-1655734986900.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734986900.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734986900.png)

Für die Verwaltung der Transaktionsdaten werden einige Zusatzinformationen verwaltet, wie hier auch nachfolgend rot markiert zu sehen:

- Hierbei geht es vor allem um die Kontraktgröße (nicht zu verwechseln mit Anzahl/Stk), Währungsumrechnung, Spread und Gewinn-und-Verlust (GuV). Die Kontraktgröße ist bei diesem Wall-Street (1€ Kontakt) natürlich 1. Der Spread ist abhängig vom Broker, von der Handelszeit und teilweise von der Volatilität am Markt. Diese wird daher nur vorgeschlager abgeleitet vom Titel und von der Handelszeit während es IgMarket-Imports übernommen. Die Währungsumrechnung wird insb. bei $-Kontakten benötigt und wird beim Buy/Sell erfasst.  
    [![image-1655734991646.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734991646.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734991646.png)

## Ergebnis-Anzeige

In der Transaktionsansicht lässt sich über die Spalten-Einstellungen sehr unterschiedliche Informationen ein-und ausblenden. Hier die Standardanzeige. Spalten mit \[..\] können dabei durch Anklicken der ... genutzt werden, um die Gesamtdaten zu filtern. Insb. die Ordernummer kann so bequem gefiltert werden (hier im Sceenshot nicht zu sehen). Die Stops-Anzeige wird bei IgMarket-Import automatisch belegt, kann aber auch manuell überschrieben werden (siehe oben "Anmerkungen für die Stopkurs-Setzung). Details stehen unter "[Import aus Daten vom IgMarket-CFD-Trading-Konto (www.igmarkets.com)](https://shareholder.atlassian.net/wiki/pages/createpage.action?spaceKey=SHARPUB&title=Import%20aus%20Daten%20vom%20IgMarket-CFD-Trading-Konto%20%28www.igmarkets.com%29&linkCreation=true&fromPageId=19038007)"

[![image-1655734995748.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655734995748.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655734995748.png)

# Stammdaten-Datenimport aus externen Datenquellen (CSV-Dateien)

Um Daten von außen in Shareholder zu übernehmen, um insb. diese in Auswertungen und Reports zu verwenden, ist es möglich sogenannte "Autoimport-Aktienlisten" zu verwenden. Es ist dabei wieder möglich

Ab der 13.8 Version ist es möglich im Daten-Import-Verzeichnis Autoimport-Aktienlisten abzulegen in einem freien CSV-Format. Als mögliche Datenquelle hierfür kann z.B. ein comdirect Musterdepot dienen, was in dieser Form mit bestimmten Kennzahlen angereichert ist und als CSV exportiert werden. (siehe [https://www.comdirect.de/pbl/service/supportfaq/FaqRH.do?faqId=319](https://www.comdirect.de/pbl/service/supportfaq/FaqRH.do?faqId=319))

Das konkret verwendete Format wird dann in Form von Konfigurations-Dateien im INI-Format beschrieben. Die Zuordnung zwischen den Konfigurationen und den Importdateien erfolgt anhand eines Dateinamen-Vergleichs. Der Name der Konfigurationsdatei muss dabei immer Teil der zu importierenden CSV-Datei sein. Mit dieser Umsetzung ist es damit möglich mehrere CSV - Dateien mit nur einer INI-Datei zu beschreiben.

Im folgenden Beispiel wird damit für die CSV-Dateien, die gemeinsame Konfiguration "Autoimport-Aktienliste.INI" benutzt.

- Autoimport-Aktienliste\_Kurz\_TRH\_meineuebersicht\_20161108\_1343\_p1.csv
- Autoimport-Aktienliste\_Kurz\_TRH\_meineuebersicht\_20161108\_1343\_p2.csv

[![image-1655735034491.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735034491.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735034491.png)

## Konfigurations-Setups

<div class="error conf-macro output-block" data-hasbody="false" data-macro-id="88372f77-0a77-4132-a7b3-352616c9dd57" data-macro-name="include" id="bkmrk-confluence.macros.ad"><span class="error">confluence.macros.advanced.include.unable-to-render</span> Die eingeschlossene Seite konnte nicht gefunden werden.</div>### Nutzbare Zuordnungs-Schlüssel

<div class="table-wrap" id="bkmrk-schl%C3%BCssel-typ-hinwei"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Schlüssel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Schlüssel</div></th><th aria-disabled="false" aria-label="Typ: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Typ</div></th><th aria-disabled="false" aria-label="Hinweise: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Hinweise</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">ciBezeichnung

</td><td class="confluenceTd" colspan="1">Zeichenkette

</td><td class="confluenceTd">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciWKN

</td><td class="confluenceTd" colspan="1">Zeichenkette

</td><td class="confluenceTd" colspan="1">Deprecated und sollte nur im Notfall genutzt werden, da in der Standard-Auslieferung von shareHOLDER primär immer die ISIN verwendet wird</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciISIN

</td><td class="confluenceTd" colspan="1">Zeichenkette

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciAktientyp

</td><td class="confluenceTd" colspan="1">Zeichenkette

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciDatum

</td><td class="confluenceTd" colspan="1">Datum

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciZeit

</td><td class="confluenceTd" colspan="1">Zeit

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciKurs

</td><td class="confluenceTd" colspan="1">Gleitkommawert

</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">ciVariable.xxxx

</td><td class="confluenceTd" colspan="1">Zeichenkette

</td><td class="confluenceTd" colspan="1">ciVariable.comdirectImportJahreshoch = X d.h. Variable 'comdirectImportJahreshoch' wird angelegt und mit dem Wert aus der Spalte X belegt. Variablen stehen immer an der Aktie und werden dort gespeichert

</td></tr></tbody></table>

</div>Zum jetzigen Zeitpunkt ist der Import daher primär darauf ausgelegt Daten in Variablen der Titel abzulegen und so in Reports oder für zusätzliche Datenspalten genutzt zu werden. Eine spätere Interpretation z.B. von KGV, Ergebnis-Daten etc. ist möglich. Bitte schreiben Sie an <support@shareholder24.de>, wenn hierfür tatsächlich Bedarf besteht.

<div class="error conf-macro output-block" data-hasbody="false" data-macro-id="d4387049-4753-4990-93ed-91299f4aeec7" data-macro-name="include" id="bkmrk-confluence.macros.ad-0"><span class="error">confluence.macros.advanced.include.unable-to-render</span> Die eingeschlossene Seite konnte nicht gefunden werden.</div>### Beispiel-Setup

Nachfolgend eine Beispiel-Konfigurationsdatei mit den zugehörigen Erläuterungen aus einem Comdirect-Muster-Depot-Export:

```
# Beispieldatensätze:
# "21st Century Fox Inc. Registered Shares B DL -,01";"A1WZPY";"Aktie";"24,606";"EUR";"24,61";"22:25:51";"07.11.16";"28,68";"21,16";"-4,95%";"-12,11%";"15,57";"1,11%";
# "Aareal Bank AG Inhaber-Aktien o.N.";"540811";"Aktie";"32,05";"EUR";"32,05";"13:28:04";"08.11.16";"35,95";"21,51";"+8,02%";"-6,50%";"9,79";"6,24%";
#
# Zur Vorbereitung wird nachfolgend einfach ein Beispieldatensatz mit den fortlaufenden Zuordnungs-Index aufgelistet, um danach die Ableitungen daraus zu machen: 
# 
#  0 - "Bezeichnung";			"21st Century Fox Inc. Registered Shares B DL -,01"
#  1 - "WKN";					"A1WZPY"
#  2 - "Typ";					"Aktie"
#  3 - "Aktuell";				"24,606"
#  4 - "Whg.";					"EUR"
#  5 - "Wert in EUR";			"24,61"
#  6 - "Zeit";					"22:25:51"
#  7 - "Datum";					"07.11.16"
#  8 - "Jahreshoch";			"28,68";
#  9 - "Jahrestief";			"21,16"
#  10- "Perf. 6 Monate";		"-4,95%"
#  11- "Perf. 1 Jahr";			"-12,11%"
#  12- "KGVe";					"15,57"
#  13- "DIVe";					"1,11%"

# Sollte nur gesetzt werden, wenn der Name tatsächlich übernommen werden soll. Sonst bitte einfach auskommentieren!
ciBezeichnung = 0
ciWKN = 1

ciAktientyp = 2

# Es wird immer der EUR-Wert übernommen
ciKurs = 5

ciZeit = 6
ciZeit.shorttimeformat = hh:nn:ss

ciDatum = 7
ciDatum.shortdateformat = dd.mm.yy

ciVariable.comdirect.Import.Jahreshoch = 8
ciVariable.comdirect.Import.Jahrestief = 9
ciVariable.comdirect.Import.Perf6M = 10
ciVariable.comdirect.Import.Perf12M = 11
ciVariable.comdirect.Import.KGVe = 12
ciVariable.comdirect.Import.DIVe = 13
```

#### Zugriff in Reports auf die speziellen Variablen-Imports

Innerhalb eines Reports kann nun direkt über den XML-Pfad "Aktie/Variablen" zugegriffen werden. Nachfolgend ein einfaches Beispiel:

```
 <xsl:for-each select="Depot/Unrealisiert/Werte/Wert">
	  	<xsl:sort select="Name"/>
				<xsl:variable name="b"><xsl:value-of select = "translate(translate(Gewinn,'.',''),',','.')"/></xsl:variable>
			   <xsl:variable name="color">
				  <xsl:if test="$b &lt; 0">red</xsl:if>
				  <xsl:if test="$b &gt; 0">green</xsl:if>
  			  </xsl:variable>
			  <tr>
				<td class="{$color}" align="" valign="top" width=""><xsl:value-of select="Name"/></td>
				<xsl:variable name="ISIN"><xsl:value-of select="ISIN"/></xsl:variable>
				<td align="right" valign="top" width=""><xsl:text> </xsl:text>
             </td>
			<td align="right" valign="top" width=""><xsl:value-of select="ISIN"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="Stk"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="KK"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><font color="green"><xsl:value-of select="AK"/></font><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="/Depot/Kennzahlen/Aktie[ISIN=$ISIN]/Kurse/Tag/Datum"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="/Depot/Kennzahlen/Aktie[ISIN=$ISIN]/Variablen/Variable[@Name='comdirect.import.jahreshoch']"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="/Depot/Kennzahlen/Aktie[ISIN=$ISIN]/Variablen/Variable[@Name='comdirect.import.perf6m']"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="/Depot/Kennzahlen/Aktie[ISIN=$ISIN]/Variablen/Variable[@Name='comdirect.import.dive']"/><xsl:text> </xsl:text></td>
			<td align="right" valign="top" width=""><xsl:value-of select="/Depot/Kennzahlen/Aktie[ISIN=$ISIN]/Variablen/Variable[@Name='comdirect.import.vortrag']"/><xsl:text> </xsl:text></td>
	</tr>
</xsl:for-each>
```

# Massenoperationen und Datenmanagement

Die nachfolgenden Beschreibungen sind nur für Supportfälle beschrieben und für Kunden, die eine weitgehende Eingriffsmöglichkeit in die Datenbasis wünschen ohne SHAREholder-Oberflächen und Funktionen nutzen zu müssen bzw. dadurch eingeschränkt zu werden. Bitte beachten Sie, dass Sie vor Datenmanipulationen eine Sicherung Ihrer Dateien ausführen. Bitte sehen Sie zudem von Veränderungen von Tabellenstrukturen ab, auch wenn Sie dies mit den bereitgestellten Tools können!

## Datenbanktabellen

- \\Daten\\Database\\Kursdaten.SDB

Für die Kursdatenbank wird eine SQLite-Datenbank genutzt die Sie unter \\Daten\\Datenbank als Kursdaten.SDB wiederfinden. Die Datei kann ohne Kennwort geöffnet werden. Die Kursdaten selbst werden in BLOBs gespeichert, die einer festen Array-Struktur vom Typ "TfStruktur" folgen (siehe [Datenformatbeschreibung](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/2031444/Datenformatbeschreibung)). Es werden die Kurshistorien auf End-of-Day Basis in einer Art Stream gespeichert. Der Primärschlüssel für den Zugriff erfolgt über die ISIN und eine ausgewählte Währung. Die Währungstabelle wird dabei unabhängig geführt.

[![image-1655735112168.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735112168.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735112168.png)

Der Zugriff kann dabei durch Open-Source-Lösungen wie z.B. [DBeaver Community | Free Universal Database Tool](https://dbeaver.io/) erfolgen.

[![image-1655735116527.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735116527.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735116527.png)

<div class="ms-editor-squiggler" id="bkmrk--3"></div>

# Technische interne Datenformatbeschreibung

## Rechtliche Beschränkungen

Die in SHAREholder genutzten Daten-und Stammdateien sind ohne rechtliche Beschränkungen frei auszulesen oder auch extern modifizierbar. Allerdings kann von mir für Änderungen oder Anfragen zu den Formaten nur ein eingeschränkter Support vorgenommen werden, d.h. Anfragen per EMail zu diesem Thema können aus zeitgründen nicht in einer zeitlichen Frist garantiert werden. Die Formatbeschreibungen stellen den aktuellen Stand zum 08/2020 dar und werden von mir bei Änderung dokumentiert.

Sie sollten bei Implementierung das interne Version-Flag dringend auswerten, so dass Sie passend reagieren können.

## Typenbeschreibung 

- Integer -2147483648..2147483647 32 Bit, mit Vorzeichen
- Cardinal 0..4294967295 32 Bit, ohne Vorzeichen
- Shortint -128..127 8 Bit, mit Vorzeichen
- Smallint -32768..32767 16 Bit, mit Vorzeichen
- Longint -2147483648..2147483647 32 Bit, mit Vorzeichen
- Int64 -2^63..2^63-1 64 Bit, mit Vorzeichen
- Byte 0..255 8 Bit, ohne Vorzeichen
- Word 0..65535 16 Bit, ohne Vorzeichen
- Longword 0..4294967295 32 Bit, ohne Vorzeichen
- Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 Stellen, 6 Byte
- Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 Stellen ,4 Byte
- Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 Stellen, 8 Byte
- Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 Stellen, 10 Byte
- Comp -2^63+1 .. 2^63 -1 19-20 Stellen, 8 Byte
- Currency -922337203685477.5808.. 922337203685477.5807 19-20 Stellen, 8 Byte
- TDateTime wie Single
- FlatString Diesen Typ gibt es eigentlich nicht als nativen Typ in Delphi. Dieser ist ein aus Platzgründen eingefürhrter Typ der eine normale Zeichenkette beschreibt, die zunächst mit einem Word-Stream in seiner Länge gekennzeichnet wird. Ist die Len&gt;0 wird anschließend die komplette Zeichenkette geschrieben, andernfalls passiert hier zunächst nichts weiter ...

## Kursdatendateien

Grundsätzlich werden die historischen Kursdaten pro Wert als.SF2 abgelegt. Das Dateiformat ist ein Flat-File of Type TfStruktur, d.h. die Datei wird mit einer konstanten Länge pro Datensatz geschrieben. Es ist so intern ein Filebasierter Array-Zugriff möglich und realisiert. Für größere Aktualisierungsoperationen wird dennoch im Normalfall ein interner Cache aufgebaut und wieder zurückgeschrieben. Tageskursdaten werden nicht in dieser Datei abgelegt, sondern zusammen mit den Aktienstammdaten in einer seperaten Datei. Dies hat den Hintergrund, dass Tageskursdaten immer verdichtet werden auf ein historischen Tageskurs am nächsten Tag.

- type TfTableFile = File of TfStruktur
- type TfStruktur = packed Record 
    - Datum TDateTime
    - Open Single
    - High Single
    - Low Single
    - Close Single
    - Volumen Int64
- type THistoryItem 
    - Datum TDateTime
    - Open Single
    - High Single
    - Low Single
    - Close Single
    - Volumen Int64
- type TIntradayItem 
    - Datum TDateTime
    - Close Single
    - Volume Int64

## Aktienstammdatendatei (auf Basis v9)

Die Aktienstammdaten werden unter Daten\\Stammdaten.Aktien.stm.R8 als unkomprimierte Datei im folgenden Format gespeichert. Grundsätzlich werden die Daten als untypisierter Stream gespeichert, womit die Datei immer sequientiell ausgelesen werden muss.

<div class="table-wrap" id="bkmrk-aktienstammdaten-typ"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Aktienstammdaten: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" style="width: 9.27064%;" tabindex="0">**Aktienstammdaten**

</th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" style="width: 17.7946%;" tabindex="0"></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" style="width: 11.995%;" tabindex="0"></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" style="width: 12.7317%;" tabindex="0"></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="4" role="columnheader" scope="col" style="width: 48.2073%;" tabindex="0"></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><th class="confluenceTh" style="width: 9.27064%;">type TAktien

</th><th class="confluenceTh" style="width: 17.7946%;"></th><th class="confluenceTh" style="width: 11.995%;"></th><th class="confluenceTh" style="width: 12.7317%;"></th><th class="confluenceTh" style="width: 48.2073%;"></th></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;">Version

</td><td class="confluenceTd" style="width: 17.7946%;">Integer

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer für die Datei

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;">CreateNr

</td><td class="confluenceTd" style="width: 17.7946%;">Integer

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;">CountItems

</td><td class="confluenceTd" style="width: 17.7946%;">Integer

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Anzahl der nachfolgenden Elemente

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;">Items

</td><td class="confluenceTd" style="width: 17.7946%;">**for each** **(type TAktie)**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">WKN

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Tablename

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutiger Verweis auf die Historientabelle

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Name

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Videotextname

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">ISIN

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">reserviert

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Markt

</td><td class="confluenceTd" style="width: 11.995%;">Int64

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Bit-Kombination der Markteinstellungen

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Aktienstueckzahl

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">in Mio.

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Branche

</td><td class="confluenceTd" style="width: 11.995%;">FlatString

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Umsatz

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">in Mio.

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CashFlow

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Buchwert

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Attr

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Bit-Kombination zur internen Kennzeichnung. Keine externe Verwendung sinnvoll.

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">**type TKurse**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Tageskursdaten

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Tag

</td><td class="confluenceTd" style="width: 11.995%;">**type THistoryItem**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Vortag

</td><td class="confluenceTd" style="width: 11.995%;">**type THistoryItem**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Intraday

</td><td class="confluenceTd" style="width: 11.995%;">**type TIntraday**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Revision

</td><td class="confluenceTd" style="width: 12.7317%;">Integer

</td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Count

</td><td class="confluenceTd" style="width: 12.7317%;">Integer

</td><td class="confluenceTd" style="width: 48.2073%;">Anzahl folgender Datensätze für TIntradayItem

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Items

</td><td class="confluenceTd" style="width: 12.7317%;">**for each** **(type TIntradayItem)**

</td><td class="confluenceTd" style="width: 48.2073%;">Siehe nachfolgende Tabelle für Struktur

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">History-Submit-Date

</td><td class="confluenceTd" style="width: 11.995%;">TDateTime

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">aus Performancegründen zwischengespeicherter Wert

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">**type TUnternehmenesErgebnisse**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Unternehmensergebnisse

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Version

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer für die Datei

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CreateNr

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CountItems

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Anzahl der nachfolgenden Elemente

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Items

</td><td class="confluenceTd" style="width: 11.995%;">**for each** **(type TUnternehmensergebnis)**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Jahrgang

</td><td class="confluenceTd" style="width: 12.7317%;">Integer

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Ergebnis

</td><td class="confluenceTd" style="width: 12.7317%;">Single

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Dividende

</td><td class="confluenceTd" style="width: 12.7317%;">Single

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">**type TVariablen**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Version

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CreateNr

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CountItems

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Anzahl der nachfolgenden Elemente

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Items

</td><td class="confluenceTd" style="width: 11.995%;">**for each** **(type TVariable)**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">ID

</td><td class="confluenceTd" style="width: 12.7317%;">Integer

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Value

</td><td class="confluenceTd" style="width: 12.7317%;">FlatString

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">**type TUnternehmensProfile**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Version

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CreateNr

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CountItems

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Anzahl der nachfolgenden Elemente

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Items

</td><td class="confluenceTd" style="width: 11.995%;">**for each** **(type TProfile)**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">ID

</td><td class="confluenceTd" style="width: 12.7317%;">Integer

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">ReftoFile

</td><td class="confluenceTd" style="width: 12.7317%;">FlatString

</td><td class="confluenceTd" style="width: 48.2073%;">Referenz zu einer zu ladenden Profildatei

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">**type TSplitts**

</td><td class="confluenceTd" style="width: 11.995%;"></td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Splitts

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Version

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Eindeutige Versionsnummer

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CreateNr

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Fortlaufende Sequenz-Nummer für neu erzeugte Einträge

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">CountItems

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Anzahl der nachfolgenden Elemente

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Items

</td><td class="confluenceTd" style="width: 11.995%;">**for each** **(type TSplit)**

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Faktor

</td><td class="confluenceTd" style="width: 12.7317%;">Single

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;"></td><td class="confluenceTd" style="width: 11.995%;">Datum

</td><td class="confluenceTd" style="width: 12.7317%;">TDatetime

</td><td class="confluenceTd" style="width: 48.2073%;"></td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">LastHistoryDate

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Trunc(History.Last), dies wird aus Performancegründen für die Verdichtung geschrieben (DS kann ignoriert werden, wenn Sysdate==LastHistoryDate)

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Shortname

</td><td class="confluenceTd" style="width: 11.995%;">String

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Kurzname des Titels

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">BasiswertISIN

</td><td class="confluenceTd" style="width: 11.995%;">String

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">ISIN des Basiswertes, insb. für OS/Zertifikate interessant

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Bezugsverhaeltnis1zu

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Bezugsverhältnis für OS/Zertifikate

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">OSTyp

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Optionsscheintyp; 1=Long, -1=Short

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">OSLaufzeit

</td><td class="confluenceTd" style="width: 11.995%;">DateTime

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Laufzeit des Scheines

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">OSBasispreis

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Basispreis des Basiswertes für OS

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">OSKnockout

</td><td class="confluenceTd" style="width: 11.995%;">Single

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">KnockOut-Schwelle für OS

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">INetUpdateGroup

</td><td class="confluenceTd" style="width: 11.995%;">Integer

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Referenz auf die zu nutzende Aktualisierungsgruppe des Titels

</td></tr><tr role="row"><td class="confluenceTd" style="width: 9.27064%;"></td><td class="confluenceTd" style="width: 17.7946%;">Watchlist

</td><td class="confluenceTd" style="width: 11.995%;">Int64

</td><td class="confluenceTd" style="width: 12.7317%;"></td><td class="confluenceTd" style="width: 48.2073%;">Watchlistenzuordnung

</td></tr></tbody></table>

</div>

# Fundamentaldaten

Datenquellen und Empfehlungen

# Datenquellen fuer die Susan-Levermann-Strategie

Um die notwendige Datenbasis für die Susann-Levermann-Strategie bereitstellen zu können, wird ein Mindest-Umfang an Fundamentalen Unternehmensdaten und Historischen Kursdaten (EOD) benötigt. Dies wird nachfolgend aufgeschlüsselt mit einer Empfehlung zur optimalen Datenaktualisierung:

<div class="table-wrap" id="bkmrk-kennzahl-weitere-det"><table class="wrapped confluenceTable" style="width: 100%;"><colgroup><col style="width: 24.7088%;"></col><col style="width: 75.2905%;"></col></colgroup><thead><tr><td class="highlight-grey confluenceTd" data-highlight-colour="grey" title="Hintergrundfarbe : ">Kennzahl</td><td class="highlight-grey confluenceTd" data-highlight-colour="grey" title="Hintergrundfarbe : ">Weitere Details</td></tr></thead><tbody><tr><th class="confluenceTh" colspan="1">**Kriterium: Qualität**

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd">\[1\]Eigenkapitalrendite  
  
</td><td class="confluenceTd">Die Eigenkapitalrendite (engl. Return on Equity, kurz RoE) beschreibt das Verhältnis von Gewinn zu Eigenkapital.</td></tr><tr><td class="confluenceTd">\[2\] Gewinnmarge (EBIT-Marge)  
  
</td><td class="confluenceTd">Das EBIT (engl. earnings before interest and taxes) ist der Gewinn vor Zinsen und Steuern, das auch als operatives Ergebnis bezeichnet wird. Die EBIT-Marge ist das Verhältnis von EBIT zu Umsatz.</td></tr><tr><td class="confluenceTd">\[3\] Eigenkapitalquote  
  
</td><td class="confluenceTd">Die Eigenkapitalquote (engl. equity ratio) ist das Verhältnis von Eigenkapital zum Gesamtkapital (Bilanzsumme).</td></tr><tr><th class="confluenceTh" colspan="1">**Kriterium: Bewertung**

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">\[4\] Kurs-Gewinn-Verhältnis (KGV) (-5y)  
  
</td><td class="confluenceTd" colspan="1">Das Kurs-Gewinn-Verhältnis (KGV) (engl. Price-Earnings-Ratio, kurz PER) beschreibt das Verhältnis vom Aktienkurs zu dem für den Vergleichszeitraum gegebenen bzw. erwarteten Gewinn je Aktie. Für das durschnittliche KGV über 5 Jahre werden die Zahlen aus den vergangenen 3 Jahren sowie die erwartenen Zahlen für das aktuelle und das nächste Jahr verwendet.</td></tr><tr><td class="confluenceTd">\[5\] Kurs-Gewinn-Verhältnis (KGV) (aktuelles Jahr)  
  
</td><td class="confluenceTd">Das Kurs-Gewinn-Verhältnis (KGV) (engl. Price-Earnings-Ratio, kurz PER) beschreibt das Verhältnis vom Aktienkurs zu dem für den Vergleichszeitraum gegebenen bzw. erwarteten Gewinn je Aktie. Massgebend hier ist das von den Analysten geschätzte KGV für das aktuelle Jahr.</td></tr><tr><th class="confluenceTh" colspan="1">**Kriterium: Stimmung**

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">\[6\] Analystenmeinungen  
  
</td><td class="confluenceTd" colspan="1">Aktien werden von den Analysten in einer 3-stufigen Skala eingestuft: Kaufen=1, Halten=2, Verkaufen=3. Wir berechnen und bewerten den Duchschnittswert aller Meinungen.  
  
Die Analystenmehrheitsmeinung wird bei Small Caps mit max. 5 Analysen nach Levermann als glaubwürdig eingestuft. D.h. es gibt einen Pluspunkt, wenn die Mehrheit der Analysten "Kaufen" sagt und einen Minuspunkt, wenn die Mehrheit der Analysten "Verkaufen" sagt.</td></tr><tr><td class="confluenceTd">\[7\] Reaktion auf die letzten Quartalszahlen  
  
</td><td class="confluenceTd">Es wird berechnet wie sich der Kurs der Aktie am Tag der Veröffentlichung der letzten Qartalszahlen in Relation zum CDAX verändert hat.</td></tr><tr><th class="confluenceTh" colspan="1">**Kriterium: Momentum**

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">\[8\] Gewinnrevisionen  
  
</td><td class="confluenceTd" colspan="1">Es wird berechnet wie sich die Erwartungen der Analysten für den Gewinn pro Aktie (EPS) in den letzten 4 Wochen für das aktuelle und das kommende Geschäftsjahr verändert haben. Dazu wird der heutige Wert für den Gewinn pro Aktie in Relation zum Wert von vor 4 Wochen gesetzt.</td></tr><tr><td class="confluenceTd">\[9\] 6-Monats-Kursverlauf  
  
</td><td class="confluenceTd">Die Kennzahl definiert, um wieviel Prozent sich der Kurs in den letzten 6 Monaten verändert hat.</td></tr><tr><td class="confluenceTd">\[10\] 1-Jahres-Kursverlauf  
  
</td><td class="confluenceTd">Die Kennzahl definiert, um wieviel Prozent sich der Kurs im letzten Jahr verändert hat.</td></tr><tr><td class="confluenceTd">\[11\] Kursmomentum  
  
</td><td class="confluenceTd">Die Kennzahl definiert, ob es in den letzten 6 Monaten eine Trendumkehr gegenüber dem gesamten letzten Jahr gab.</td></tr><tr><th class="confluenceTh" colspan="1">Kriterium: Technik

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">\[12\] Dreimonatsreversal  
  
</td><td class="confluenceTd" colspan="1">Die Kennzahl berechnet, wie sich eine Aktie 3 Monate hintereinander jeweils in Relation zum Vergleichsindex entwickelt hat.  
  
  
</td></tr><tr><th class="confluenceTh" colspan="1">Kriterium: Wachstum

</th><th class="confluenceTh" colspan="1">  
</th></tr><tr><td class="confluenceTd" colspan="1">\[13\] Gewinnwachstum  
  
</td><td class="confluenceTd" colspan="1">Es wird der geschätzte Gewinn je Aktie (EPS) für das nächste Jahr mit dem geschätzten Gewinn je Aktie für dieses Jahr verglichen.</td></tr></tbody></table>

</div>## Fundamentaldaten

<div class="table-wrap" id="bkmrk-...-auf-gj-ebene-ver"><table class="wrapped confluenceTable"><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><tbody><tr><th class="confluenceTh">**... auf GJ-Ebene**</th><th class="confluenceTh" colspan="1">**Verbindung zur**  
**notwendigen Datenbasis für die Suann-Levermann-Strategie**

</th><th class="confluenceTh">**Internet**  
**Ariva**  
**(Stand 21.07.21)**</th><th class="confluenceTh" colspan="1">**Internet**  
**BO**  
**(Stand 21.07.21)**</th><th class="confluenceTh" colspan="1">**Internet**  
**Finanzen.NET**  
**(Stand 21.07.21)**</th><th class="confluenceTh">**Tai-Pan**  
  
**(Stand 21.07.21)**</th><th class="confluenceTh" colspan="1">**Börse-Online-**  
**Premium-Statistiken**  
**(Stand 21.07.21)**</th></tr><tr><td class="confluenceTd" colspan="1">Datenbank-Umfang</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Nur deutsche Titel  
(508x)</td></tr><tr><td class="confluenceTd" colspan="1">Kursdaten-Umfang (EOD in der Historie</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(9), (10), (11), (12)</td><td class="confluenceTd" colspan="3" data-highlight-colour="#79f2c0">Internet-Kursaktualisierung sind je nach Anbieter wenige Wochen bis 20 Jahre</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">16 Jahre</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd">Gewinn-Reihe (pro Aktie)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(4), (5), (13)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td></tr><tr><td class="confluenceTd" colspan="1">Fundamentaldaten-Prognosen d.h. &gt;Aktuelles GJ inkl. Gewinn/Dividenden</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X   
(3 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(1 Jahr)</td></tr><tr><td class="confluenceTd">Dividenden-Reihe (pro Aktie)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td></tr><tr><td class="confluenceTd">Cashflow (pro Aktie)

</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Buchwert (pro Aktie)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">EBIT</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(2)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Umsatz</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(2)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Jahrsüberschuss</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Eigenkapital</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(1), (3)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Bilanzsumme</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(3)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Liquide Mittel</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(4 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Cashflow</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Mitarbeiter</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">7 Jahre  
&lt;= GJ</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr><td class="confluenceTd" colspan="1">Land | Branche | Tätigkeitsbereich</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X (nur Land, Branche)</td></tr><tr><td class="confluenceTd" colspan="1">Weblink</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Hauptversammlungstermin</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Ende Fiskaljahr</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Letzter Quartalsbericht</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(7)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Kommender Quartalsbericht</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Bilanzierungsmethode</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Logo</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Anzahl Aktien</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td></tr><tr><td class="confluenceTd" colspan="1">Streubesitz in %</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td></tr><tr><td class="confluenceTd" colspan="1">Analysten-Empfehlungen für Kauf  
Verkauf, Halten</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(6)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Gewinnrevision (% vor 4W)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#fff0b3">(8)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-  
(enthält nur €-Werte)</td></tr><tr><td class="confluenceTd" colspan="1">Notizen und Beschreibung</td><td class="confluenceTd" colspan="1" data-highlight-colour="#f4f5f7">Praktisch in dieser Form nicht vewendet</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr></tbody></table>

</div>Was bedeutet dies nun für die Nutzung der verschiedenen Datenquellen. Praktisch bedeutet dies, dass Sie die SL-Strategie in allen Kriterien mit der Fundamentaldatenbank / Internet-Kursaktualisierungen nutzen können. Werden einige Fundamentaldaten aus den Internetaktualisierungen verwendet, lässt sich auch mit Tai-Pan bzw. der Börse-Online-Statistiken eine Aktualisierung erreichen, um die fehlende Datenbasis für die Kriterien (6) und (8), (7) aufzufüllen. Da für die Strategie alle Kriterien bewusst eine Rolle spielen, sollten Sie daher entweder konsequent auf (6), (7), (8) als Kriterium verzichten oder konsequent die Datenbasis hierfür z.B. über die Internet-Fundamentaldatenprofile herstellen.

Anders ausgedrückt: Nutzen Sie das [Fundamentaldatenbank-AddON](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/fundamental-datenbanken) für eine vollständige Datenbasis und nutzen Sie optional TaiPan und BO-Premium-Statistiken zur Ergänzung.

# Datenquellen fuer Kurs- und Fundamentaldaten

In der Börsensoftware sind verschiedene Datenquellen verfügbar und nutzbar für Fundamentaldaten als auch für historische Kursdaten. Dabei können die Datenquellen kombiniert genutzt werden, da die Daten immer in einer gemeinsamen Kursdatenbank und Stammdaten im Programm zusammengeführt werden. Es wird dabei nach dem Additionsverfahren gearbeitet d.h. es werden jeweils die verfügbaren Daten verwendet und nur bei neuen nicht leeren Werten die vorherigen Werte überschrieben. Es gewinnt dabei jeweils der letzte Aktualisierungs-Lauf.

Um hier ein optimales Setup zu realisieren, muss unterschieden werden, welche Daten aus welchen Datenquellen konkret gewonnen werden können.

## Kursdaten

Wenn Sie das Hauptfenster in ShareHolder nutzen, sehen Sie folgende Tool-Leiste:

[![image-1655735376698.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735376698.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735376698.png)

Sie sehen damit nach Datenquelle unterschiede verschiedene Optionen. Dabei haben Sie folgende Möglichkeiten

<div class="table-wrap" id="bkmrk-internet-tai-pan-xtb"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th><th aria-disabled="false" aria-label="Internet: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Internet</div></th><th aria-disabled="false" aria-label="Tai-Pan: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Tai-Pan</div></th><th aria-disabled="false" aria-label="XTB: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">XTB</div></th><th aria-disabled="false" aria-label="Börse-Online-Statistiken: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Börse-Online-Statistiken</div></th><th aria-disabled="false" aria-label="ShareHolder EODDatenbank: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="5" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">ShareHolder EOD  
Datenbank</div></th><th aria-disabled="false" aria-label="Tai-Pan RT: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="6" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Tai-Pan RT</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Aktualisierung von historische EOD-Daten  
  
</td><td class="confluenceTd">X</td><td class="confluenceTd">X  
auf Basis des in Tai-Pan abonnierten Datenkatalogs</td><td class="confluenceTd" colspan="1">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Typischer Datenumfang</td><td class="confluenceTd" colspan="1">1-10 Jahre  
(je nach Anbieter)</td><td class="confluenceTd" colspan="1">16 Jahre</td><td class="confluenceTd" colspan="1">1 Jahr</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">10 Jahre</td><td class="confluenceTd" colspan="1">-</td></tr></tbody></table>

</div>## Fundamentaldaten

<div class="table-wrap" id="bkmrk-...-auf-gj-ebene-abg"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col><col></col><col></col><col></col><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="... auf GJ-Ebene: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">... auf GJ-Ebene</div></th><th aria-disabled="false" aria-label="AbgeleiteteIndikatoren/KPIs: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Abgeleitete  
Indikatoren/KPIs</div></th><th aria-disabled="false" aria-label="InternetAriva(Stand 21.07.21): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Internet  
Ariva  
(Stand 21.07.21)</div></th><th aria-disabled="false" aria-label="InternetBO(Stand 21.07.21): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Internet  
BO  
(Stand 21.07.21)</div></th><th aria-disabled="false" aria-label="InternetFinanzen.NET(Stand 21.07.21): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="4" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Internet  
Finanzen.NET  
(Stand 21.07.21)</div></th><th aria-disabled="false" aria-label="Tai-Pan(Stand 21.07.21): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="5" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Tai-Pan  
  
(Stand 21.07.21)</div></th><th aria-disabled="false" aria-label="Börse-Online-Premium-Statistiken(Stand 21.07.21): No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="6" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Börse-Online-  
Premium-Statistiken  
(Stand 21.07.21)</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" colspan="1">Datenbank-Umfang</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Weltweit</td><td class="confluenceTd" colspan="1">Nur deutsche Titel  
(508x)</td></tr><tr role="row"><td class="confluenceTd">Gewinn-Reihe (pro Aktie)</td><td class="confluenceTd" colspan="1">KGV</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Fundamentaldaten-Prognosen d.h. &gt;Aktuelles GJ inkl. Gewinn/Dividenden</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X   
(3 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(1 Jahr)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(1 Jahr)</td></tr><tr role="row"><td class="confluenceTd">Dividenden-Reihe (pro Aktie)</td><td class="confluenceTd" colspan="1">DivR</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td></tr><tr role="row"><td class="confluenceTd">Cashflow (pro Aktie)

</td><td class="confluenceTd" colspan="1">KCV</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Buchwert (pro Aktie)</td><td class="confluenceTd" colspan="1">KBV</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">EBIT</td><td class="confluenceTd" colspan="1">EBIT-Marge</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Umsatz</td><td class="confluenceTd" colspan="1">KUV</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(26 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Jahrsüberschuss</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Eigenkapital</td><td class="confluenceTd" colspan="1">Eigenkapitalquote</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Bilanzsumme</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(5 Jahre)</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(11 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Liquide Mittel</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(4 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Cashflow</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Mitarbeiter</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X  
(16 Jahre)</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">7 Jahre  
&lt;= GJ</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X   
(Aktuelles GJ)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Land | Branche | Tätigkeitsbereich</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#e3fcef">X (nur Land, Branche)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Weblink</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Hauptversammlungstermin</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Ende Fiskaljahr</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Letzter Quartalsbericht</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kommender Quartalsbericht</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Bilanzierungsmethode</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Logo</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Anzahl Aktien</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Streubesitz in %</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Analysten-Empfehlungen für Kauf  
Verkauf, Halten</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Gewinnrevision (% vor 4W)</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Währung</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-  
(enthält nur €-Werte)</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Notizen und Beschreibung</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1" data-highlight-colour="#79f2c0">X</td><td class="confluenceTd" colspan="1">-</td><td class="confluenceTd" colspan="1">-</td></tr></tbody></table>

</div>Um nun eine optimale Aktualisierungs-Strategie umzusetzen, empfiehlt es sich, zunächst den gewünschten Datenumfang zu prüfen und dann nach Umfang, Qualität in der optimalen Reihenfolge zu aktualisieren.  
Es ist durchaus legitim hier mit den Internet-Aktualisierungsprofilen zu arbeiten und dann mit Tai-Pan und final Börse-Online-Daten abzuschließen, um ein insg. sehr gutes Gesamtergebnis zu erreichen.

Die Möglichkeiten für die Fundamtenaldaten-Abgleiche sind grundsätzlich so ausgelegt, dass eine „Datenanreicherung“ immer bei Bedarf ausgelöst wird. Damit können bestimmte Daten-Abrufe eingeschränkt werden, um nur bei leeren Datenfelder aktiviert zu werden. Es gibt hierbei bei den Fundamentaldaten-Profilen Definitionen wie diese:

```
[Bilanz-GuV]
URL.RefreshIf.MaxDaysSinceLastUpdate=0
URL.RefreshIf.AnyFieldIsEmpty=(Gewinn-pro-Aktie[2016];Dividende-pro-Aktie[2016];EBIT[2016];Umsatz[2016];Eigenkapitalquote-in%)
URL=https://www.finanzen.net/bilanz_guv/{FinanzenNetID}
```

Hiermit wird die Bilanz-GuV von Finanzen.NET nur ausgelöst, wenn Daten für Gewinn pro Aktie aus 2016 fehlen. Damit lassen sich dann ganze Kaskaden bilden, bis tatsächlich die notwendigen Daten vorliegen.   
Eine kombinierte und optimierter Datenabruf über die vorhandenen Datenquellen ist bereits im Aufbau und wird in Kürze folgen.

# Empfehlungen für die Quellennutzung von Fundamentaldaten

In Shareholder können eine Reihe von Quellen für Fundamentaldaten genutzt werden. Daher stellt sich die Fragen, auf welcher Datengrundlage in Shareholder gearbeitet wird und sollte.

Die Antwort ist leider "Es hängt davon ab ...".

Grundsätzlich empfehle ich für die Stammdaten folgender Inhalte zu nutzen:

- Fundamentaldaten sollten über die sehr gut gepflegten und vollständigen Börse-Online-Statistiken (BO-Abo notwendig) genutzt werden. Diese sollten angereichtert und ergänzt werden über die die Finanzen.NET Daten &amp; Comdirect(-Logo-URL) der Unternehmen
- Siehe Internet.Fundamental-Data-Default-RegVersion:
- @include [Internet.Fundamental-Data-Finanzen.net](https://internet.fundamental-data-finanzen.net/)-RegVersion.ini
- @include Internet.Fundamental-Data-Comdirect-RegVersion.ini\[Logo\]


- Für die Kursdaten kann weiterhin Tai-Pan empfohlen werden in Ergänzung mit hinterlegten Cloud-Profilen (Yahoo oder Ariva aktuell)

Bei Tai-Pan werden über die Interfaces Daten wie EPS, Cashflow, BoolValue, Sales und EBIT, Dividenden-Listen verfügbar gemacht. Diese werden in dieser Form auch genutzt, wenn ein „Katalog-Abgleich“ vorgenommen wird bzw. ein Fundamentaldaten-Abgleich über die Ribbon-Bar gestartet wird. Die Datenlage bei Tai-Pan beinhaltet aber im Normalfall nur eine historische Betrachtung und beinhaltet keine Daten auf Schätzbasis z.B. für 2018|2019|2020. Dies ist bei bestimmten fundamentalen Strategien zu berücksichtigen!

Die Möglichkeiten für die Fundamtenaldaten-Abgleiche sind grundsätzlich so ausgelegt, dass eine „Datenanreicherung“ immer bei Bedarf ausgelöst wird. Damit können bestimmte Daten-Abrufe eingeschränkt werden, um nur bei leeren Datenfelder aktiviert zu werden. Es gibt hierbei bei den Fundamentaldaten-Profilen Definitionen wie diese:

```
[Bilanz-GuV]
URL.RefreshIf.MaxDaysSinceLastUpdate=0
URL.RefreshIf.AnyFieldIsEmpty=(Gewinn-pro-Aktie[2016];Dividende-pro-Aktie[2016];EBIT[2016];Umsatz[2016];Eigenkapitalquote-in%)
URL=https://www.finanzen.net/bilanz_guv/{FinanzenNetID}
```

Hiermit wird die Bilanz-GuV von Finanzen.NET nur ausgelöst, wenn Daten für Gewinn pro Aktie aus 2016 fehlen. Damit lassen sich dann ganze Kaskaden bilden, bis tatsächlich die notwendigen Daten vorliegen.

In der Praxis sollte in den Standardprofilen bei Bilanzen, GuV und Schätzdaten auf eine Mischform verzichtet werden, um nicht unterschiedliche Schätzprofile miteinander zu mischen!

Jeder hat jedoch die Freiheit hier beliebige Daten-Mix-Ansätze zu nutzen.

# Tai-Pan Fundamentaldaten

Tai-Pan bietet seit der 14er Version Fundamentaldaten im Programm an. ShareHolder kann diese nutzen und abgleichen. Diese genutzt für gezielte Analysen oder auch Strategieumsetzungen (wie Susan Levermann) genutzt werden. Die Fundamentaldaten kommen von Convensys, einer der führenden deutschen Anbieter von Firmeninformationen als Datenlieferant. Im Datenumfang sind zur Zeit mehr als 3000 deutsche und internationale Unternehmen enthalten. Updates erfolgen hier tagesaktuell nach Bekanntgabe neuer Daten. Der tatsächliche Umfang hängt allerdings vom gewählten Daten-Abbonement ab!

## Anforderungen

<div class="table-wrap" id="bkmrk-user-story-die-funda"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="User Story: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">User Story</div></th><th aria-disabled="false" aria-label=": No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">  
</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Die Fundamentaldaten werden über eine Schnittstelle von Tai-Pan gewonnen. Diese ist technisch in dieser Form abgebildet. Rechts hierzu auch einige Stammdaten-Masken, die die Darstellung in Tai-Pan (nicht ShareHolder) zeigen!

IStammdaten = interface(IDispatch)  
function Get\_Kennung: WideString; safecall;  
function Get\_Kurzname: WideString; safecall;  
function Get\_MaxKurse: Integer; safecall;  
function Get\_Waehrung: WideString; safecall;  
function Get\_Kurswarnung: Single; safecall;  
function Get\_Boersenplatz: WideString; safecall;  
function Get\_Land: WideString; safecall;  
function Get\_Branche: WideString; safecall;  
function Get\_**<u>HVTermin</u>**: TDateTime; safecall;  
function Get\_Gewinn: Double; safecall;  
function Get\_Dividende: Double; safecall;  
function Get\_Cashflow: Double; safecall;  
function Get\_Vergleichswert: WideString; safecall;  
function Get\_Laufzeit: TDateTime; safecall;  
function Get\_**<u>Zinssatz</u>**: Double; safecall;  
function Get\_Kursfaktor: Word; safecall;  
function Get\_Anzeige: WideString; safecall;  
function Get\_**<u>Anlagegebiet</u>**: WideString; safecall;  
function Get\_Segment: WideString; safecall;  
function Get\_Emittent: WideString; safecall;  
function Get\_Optionsart: WideString; safecall;  
function Get\_Stueckzahl: Double; safecall;  
function Get\_Bezugspreis: Double; safecall;  
function Get\_Basiswert: WideString; safecall;  
function Get\_Bezugsverhaeltnis1: Double; safecall;  
function Get\_**<u>Bezugsverhaeltnis2</u>**: Double; safecall;  
function Get\_**<u>Bereich</u>**: WideString; safecall;  
function Get\_Produkt: WideString; safecall;  
function Get\_Langname: WideString; safecall;  
function Get\_**<u>BezugsWaehrung</u>**: WideString; safecall;  
function Get\_**Quanto**: WordBool; safecall;  
function Get\_**<u>Cap</u>**: Double; safecall;  
function Get\_SicherheitsLevel: Double; safecall;  
function Get\_KO\_Barriere: Double; safecall;  
function Get\_**<u>UntereGrenze</u>**: Double; safecall;  
function Get\_**<u>ObereGrenze</u>**: Double; safecall;  
function Get\_**<u>Partizipationsrate</u>**: Double; safecall;  
function Get\_BonusLevel: Double; safecall;  
function Get\_**<u>MaxAuszahlung</u>**: Double; safecall;  
function Get\_SYMBOL: WideString; safecall;  
function Get\_Typ: Wertpapierart; safecall;  
function Get\_**<u>Nachkomma</u>**: Integer; safecall;  
x function Get\_DividendeListe: IDividendeListe; safecall;  
function Get\_MarktKapitalisierung: Double; safecall;  
function Get\_**<u>EDGDate</u>**: TDateTime; safecall;  
function Get\_**<u>EDGTopClass</u>**: Integer; safecall;  
function Get\_EDGTopClassText: WideString; safecall;  
function Get\_**<u>EDGScore</u>**(Ranking: Integer): Integer; safecall;  
function Get\_EDGScoreText(Ranking: Integer): WideString; safecall;  
x function Get\_GewinnListe: IGewinnListe; safecall;  
function Get\_**<u>WebLink</u>**: WideString; safecall;  
function Get\_**<u>IRWebLink</u>**: WideString; safecall;  
function Get\_DividendenJahr: Integer; safecall;  
function Get\_DividendenZusatz: Byte; safecall;  
function Get\_GewinnJahr: Integer; safecall;  
function Get\_GewinnZusatz: Byte; safecall;  
x function Get\_**<u>DilutedEPSListe</u>**: IDilutedEPSListe; safecall;  
x function Get\_**<u>CashFlowPerShareListe</u>**: ICashFlowPerShareListe; safecall;  
x function Get\_**<u>BookValuePerShareListe</u>**: IBookValuePerShareListe; safecall;  
x function Get\_**<u>SalesListe</u>**: ISalesListe; safecall;  
x function Get\_**<u>EBITListe</u>**: IEBITListe; safecall;  
function Get\_CashFlowZusatz: Byte; safecall;  
function Get\_CashFlowJahr: Integer; safecall;  
function Get\_AktienAnzahl: Largeuint; safecall;  
x function Get\_**<u>NetIncomeListe</u>**: INetIncomeListe; safecall;  
function Get\_**<u>FiskalJahrEnde</u>**: Integer; safecall;  
function Get\_**<u>TickerSymbol</u>**: WideString; safecall;  
end

</td><td class="confluenceTd" colspan="1">[![image-1655735459209.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735459209.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735459209.png)

[![image-1655735463142.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735463142.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735463142.png)

[![image-1655735468552.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735468552.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735468552.png)

[![image-1655735473263.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735473263.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735473263.png)

[![image-1655735478591.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735478591.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735478591.png)

[![image-1655735483057.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735483057.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735483057.png)

[![image-1655735486920.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735486920.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735486920.png)

[![image-1655735493238.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735493238.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735493238.png)

</td></tr></tbody></table>

</div>Die aktuellen Eingabemasken berücksichtigen die neuen Fundamentaldaten. Hierbei werden sowohl inhaltliche neue Eingaben aufgenommen wie:

- Fiskal-Jahr-Ende
- Weblink
- Bereich
- Produkt
- Land
- HV-Termin
- KO-Barrie / Obere, untere Grenze
- Tai-Pan-Kennung

Als Jahresdaten d.h. pro Jahr gespecichert werden dabei übernommen:

- Get\_DividendeListe
- Get\_DilutedEPSListe
- Get\_CashFlowPerShareListe
- Get\_BookValuePerShareListe
- Get\_SalesListe
- Get\_EBITListe
- Get\_NetIncomeListe

# Schnell-Filtersystem für Aktien

# Einleitung und Nutzung Aktien-Filter

# Zielsetzung

Der Filter in SHAREholder ist ein Filtersystem, dass die Eingrenzung von Werten auf Basis von Kriterien erlaubt. Als Kriterien sind alle Stammdaten &amp; Technische-Indikatoren in beliebigen Kombinationen umsetzbar. Die Ergebnisliste wird in speziellen Beobachtungslisten zur weiteren Bearbeitung gespeichert. Die Filter sollen somit die Screening und das Scannen von interessanten Titeln am Markt unterstützen. Eine Kauf/Verkaufsentscheidung muss aber vom Anleger selbst getroffen werden.

## Zusammenspiel mit Handelssystem

Der Filter wird dabei bewertet anhand eines Handelssystems, was eine Beurteilung eines Filtersystems ja erst zulässt. Ein definierter Filterbaum wird dabei im historischen Kurskontext auf seine Zuverlässigkeit und seine Performance geprüft. Die Kriterien des Handelssystem z.B. wann Titel der Ergebnisliste eines Filter tatsächlich gekauft werden und wieder verkauft werden, werden zusammen mit einem Filter definiert. Durch die Bewertung eines Filtersystems ist auch deren zukünftige Optimierung mittels Genetischen Algorithmen möglich. Die notwendige Voraussetzung der Bewertbarkeit einer "Population/Individuum" ist durch die Verwendung des Handelssystems gegeben.

# Aufbereitung und Nutzung

[![image-1655735683432.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735683432.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735683432.png)

  
Die Darstellung und Nutzung der eingerichteten Filter findet sich unter dem Hauptreiter "Filter". Um einen Filter zu starten müssen folgende Schritte gemacht werden:

1. Selektion des gewünschten Filters in der Toolbar oben
2. Entscheidung ob die Ergebnisse des Filters als gleichnamige \*Watchliste abgespeichert werden sollen. Ein Häkchen in der Toolbar hierfür ist ausreichend
3. Start mit Button "Starten"

Nach Auswahl erfolgt die Berechnung und Darstellung der gefundenen Werte im unteren Bereich. Zur Verbesserung der Übersicht wird auch immer der zugehörige Funktionsbaum dargestellt. Änderungen am Filter können jederzeit über Aufruf der Filter-Einstellungs-Masken mit der Funktionstaste &lt;F12&gt; oder übers Hauptmenü Analyse/Filter-System aufgerufen werden.

Nach der Berechnung der Signale/Filter werden alle gefundenen Werte gelistet und mit folgenden Werten dargestellt:

- Bezeichnung/WKN/Zeit/Candle/Kurs/Stops
- Ranking (Bewertungsfunktion im DynFilter)

Die Darstellung erfolgt in 3 Abschnitten

1. Logausgaben
2. Filter bzw. den Bedingungsbaum
3. Filterergebnisse

Jedes der Elemente kann durch Doppelklick auf die Titelleiste ein- und ausgeblendet werden. Hier im Beispiel sind die Logausgaben ausgeblendet.

## Loglevel

Grundsätzlich werden alle Logausgaben in einer Logdatei mitgeschrieben. Diese kann jederzeit über die Toolbar mit "Logdatei öffnen" geöffnet werden. Parallel steht direkt im Frontend ein Live-Log zur Verfügung der während der Bearbeitung eines Filters alle Ausgaben anzeigt. Welchen Detailgrad die Ausgaben haben wird über den Log-Level in der Toolbar festgelegt.

# Ausgangsüberlegungen

Ein Filter setzt sich aus den Bedingungen und den in einer Bedingung genutzten Vergleichswerten inkl.- Funktionen zusammen. Jede Einzelbedingung muss jedoch immer ein Wahrheitswert ergeben, d.h. Aussagen von wahr oder falsch ergeben. In einem Bedingungsbaum können die Einzelbedingungen mit UND, ODER, UND NICHT, Exklusives ODER (genau eine der Aussage muss wahr sein) verknüpft werden. Als Suchbasis dienen alle verfügbaren Papiere. Das Filtersystem zeigt sich somit komplett unabhängig von vorherigen Filterkriterien z.B. von Watchlisten oder Markteinstellungen und zwingt somit den User jedes verwendete Kriterien zu definieren und genau darüber nachzudenken.

# Allgemeine Voraussetzungen:

- Das System soll den Semiprofessionalen Anleger bei der Anlageentscheidung unterstützen.
- Der Erfolg des Systems setzt eine Disziplin des Anwenders voraus insb. bei der Ausführung von Verkaufsorders, da sonst das System nicht nachvollziehbar validierbar ist.

## Weitere Ausgangsvoraussetzungen für die Nutzung in einem Handelssystem

- Die Strategie baut auf eine Form des Performance-Tradings auf, d.h. Ziel ist es unter Abzug von Transaktionskosten und Slippageverlusten einen maximalen Gewinn zu erzielen .
- Es können, da hauptsächlich am Europäischen Markt gehandelt werden soll, nur Long-Positionen eingegangen werden. Shortpositionen werden nicht berücksichtigt bzw. berechnet.  
    Nach der Erzeugung eines Kaufsignals durch das Handelssystem ist die Position als Wahlentscheidung zwischen:
- Eingehen der Position auf Basis der Schluss Auktion (Close der gleichen Periode)
- Eingehen der Position auf Basis des Eröffnungskurses des nächsten Tages (Open)
- Eingehen der Positon auf Basis des Anfangshandels, wenn das Signal bestätigt wird, d.h. der Eröffnungskurs liegt über dem Schlusskurs des Vortages. Die Realisierung kann mittels Stop-Buy begrenzt auf den entsprechenden Handelstag erfolgen.  
    Die Realisierung des Handelssystems setzt kein Vollzeitaktivität des Anwenders voraus, verlangt aber eine Prüfung der Stoppkurse (Trailing-Stops) auf noch nicht geschlossene Systeme kurz vor bzw. nach Handelsende (je nach Basis: Open/Close)
- Ein Engagement des Anlegers darf nur erfolgen, wenn Möglichkeiten zum Verkauf auf Tagesbasis gegeben sind, d.h. im Urlaub sollten keine Positionen ohne gesetztem Stop eingegangen werden. Hoffnungsansätze sind verboten, d.h. das System muss Anwendung finden (können).

Außerhalb dieser Überlegung gibt es bereits ein Produkt das diese Teilmenge der Problematik bereits sehr gut löst, allerdings sehr stark im professionalen Segment (Preissegment) angesiedelt ist. Hier können über das bisher vorgeschlagene Konzept hinaus auch gezielt Future Trades, Put/Call-Scheine und Short-Positionen berücksichtigt werden. Die Kursdatenversorgung kann zudem mit fast allen gängigen Kursanbietern erfolgen.

Warum soll ein neues System bereitgestellt werden, wenn es bereits ein Produkt gibt, was die Anforderungen weitgehend erfüllen kann? Zum einen ist hier die Preispolitik ein entscheidender Faktor. Ebenso sind insb. die Candlestick-Formationen und eine Reihe von Indikatoren nicht im entsprechenden Maße abgedeckt, wie ich es mir vorstelle; ebenso wie eine Reihe von Unternehmensdaten. Dies ist jedoch meine subjektive Meinung, da es durchaus für einige Anleger entsprechend Gegenargumente geben kann.

# Arbeitsschritte

Die Bearbeitung von Filtern erfolgt unter Analyse / Filter-System. Der Shortcut hierzu ist &lt;F12&gt;. Alle folgenden Hinweise beziehen sich auf die Masken.

## Anlegen eines Filters

[![image-1655735690032.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735690032.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735690032.png)

In SHAREholder können beliebig viele Filter angelegt werden. Um einen neuen Filter anzulegen, muss mit dem Button "Hinzufügen" ein neuer Grundeintrag erzeugt werden. Es wird dabei automatisch die Frage gestellt, ob die Bedingungen aus dem aktuell selektierten Knoten übernommen werden sollen. Damit lassen sich dann leicht auch Kopien anfertigen.

## Bearbeiten der Bedingungen eines Filters (Bedingungsbaum)

[![image-1655735694238.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735694238.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735694238.png)

Jeder Filter besitzt einen Entscheidungsbaum, der alle Bedingungen in Beziehung zueinander setzt. Dabei sind als Verknüpfungstypen grundsätzlich

- UND
- ODER
- NOT (darf nicht)
- XOR (Exklusives ODER und somit muss genau 1 Werte wahr sein)  
    erlaubt.

Der Bedingungsbaum verknüpft damit logisch Einzelbedingungen miteinander. Dies erfolgt in einer Baumansicht. So wird semantisch immer eine Verknüpfungstyp wie "UND" / "ODER" als Vater definiert und darunter die zu verknüpfenden Bedingungen z.B.

- AND 
    - 1. Bedingung
    - 2. Bedingung
    - n. Bedingung

Die grundsätzliche Verarbeitung erfolgt dabei von oben nach unten. Die Reihenfolge ist damit entscheidend für die Verarbeitungsgeschwindigkeit eines Filters. Die Reihenfolge wird deshalb automatisch mit jedem vollständigen Suchvorgang optimiert anhand der statistischen Wahrscheinlichkeit P![(Fehler)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/error.png). Dabei gilt, dass Bedingungen mit hoher Ausfallwahrscheinlichkeit an den Anfang eines Zweiges gesetzt werden bei UND - Bedingungen, bei OR entsprechend die Bedingungen die eine hohe Trefferwahrscheinlichkeit haben. Somit erfolgt die Präferenzbildung immer auf Basis einer möglichst schnellen Abwicklung des Zweiges festgelegt durch den Verknüpfungstyp .

Da jeder Filter durchaus mehrere Ergebniswerte zurückliefern kann, wird bei jedem Filter eine Rankingfunktion gesetzt, die die Sortierung der Ergebnisse erlaubt. Sie wird damit zu einer Bewertungsfunktion und führt zu einem Ranking innerhalb der Liste. Es kann pro Filter dabei immer nur eine Rankingfunktion geben. Müssen zwei verschiedene Funktionswerte genutzt werden, so muss ein mathematischer sinnvoller Ausdruck gefunden werden, der beide verknüpft.

Bedeutung hat dies entweder innerhalb einer persönlichen Rankingfunktion (manuellen) aber auch einer objektiven bei der Nutzung innerhalb eines Handelssystems. Hier werden die Positionen in der Ranking-Reihenfolge eingegangen, solange ausreichend Handelskapital zum Entscheidungstag zur Verfügung steht entsprechend den Einstellungen für die max. Kapitalsumme pro Position. Als Beispiel:

1. 1. Position entsprechend 1. Rankingposition mit 40% Kapitalsumme
2. 2. Position entsprechend 2. Rankingposition mit 40% Kapitalsumme
3. 3. Position wird nicht mehr eingegangen, da die Mindestanalagesumme nicht mehr zum Handelstag zur Verfügung steht.

## Anlegen und Editieren einer Bedingung

[![image-1655735699545.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735699545.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735699545.png)

Das Editieren einer Einzelbedingung erfolgt ausgehend vom Entscheidungsbaum im Editor "Einzelbedingung". Dieser arbeitet mit einer Autosuchfunktion, womit der User beliebige Variablen oder Funktionen eintippen kann und das System zeigt noch alle passenden Werte in einer Baumstruktur (Funktion) bzw. Listenansicht (Variablen) an. Die Validierung und Prüfung der Gültigkeit der aktuellen Eingabe wird fortwährend vom System vorgenommen. Grundsätzlich unterscheidet das System praktisch nur zwischen Mathematischen Ausdrücken und Patterns. Patterns meinen dabei beliebige Zeichenkettenvergleiche verbunden mit Oder | und Und &amp; Vergleichen z.B. Markt='Ne\*'|Markt='Nasdaq\*'. Erlaubt eine Funktion Parameter, so werden diese in einem separaten Fenster abgefragt und dann als Ausdruck im Editor hinterlegt/angezeigt.

Die Einzelbedingungen werden vom System automatisch optimiert in ihrer Reihenfolge hinterlegt bei jeder Nutzung des Filters, d.h. Aussschluss-Kriterien mit hoher Wahrscheinlichkeit bei den bisherigen Prüfungen werden zuerst berücksichtigt, so d. alle nachfolgenden Berechnungen/Prüfungen nicht mehr notwendig werden.

Eine Einzeloptimierung der Parameter von Funktionen insb. der Technischen Indikatoren ist vorgesehen, jedoch noch nicht realisiert, da hierzu das Handelssystem erst fertiggestellt und optimiert werden muss.

Bedingungen sind entweder in mathematischer Form oder als Pattern zu formulieren. Hierbei entscheidet das Programm automatisch, wann welche Form genutzt wird, anhand der bisher genutzten Ausdrücke, Funktionen oder Variablen.

### Verwendbare Filterkriterien bzw. Funktionen

<div class="table-wrap" id="bkmrk-datenfelder-und-kenn"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Datenfelder und Kennzahlen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Datenfelder und Kennzahlen</div></th><th aria-disabled="false" aria-label="Weitere Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Weitere Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Aktienstammdaten / Unternehmens-Stammdaten und Unternehmens-Kennzahlen</td><td class="confluenceTd">siehe [Reguläre Expressions für Text-Stammdaten](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/27229981) wie Notizen, Name, Markt etc.

Alle in SHAREholder bekannten Kennzahlen sind auch im Filter nutzbar.

- KGV(Basisjahr) : Kurs Gewinn Verhältnis des Basisjahres (1-nächste,0-aktuelle)
- KBV : Kurs Buchverhältnis
- KCV : Kurs Cashflow - Verhältnis
- UMK : Umsatz Kursverhältnis
- Buchwert
- Cashflow
- Aktienstueckzahl
- Umsatz
- Gewinn(Basisjahr) : Gewinn des Basisjahres (1-nächste,0-aktuelle)
- Dividende(Basisjahr): Dividende des Basisjahres (1-nächste,0-aktuelle)e
- PEG(Basisjahr) : Gewinnwachstum des Basisjahres (1-nächste,0-aktuelle)
- DivR: Dividendenrendite

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Technische Indikatoren und dessen Kauf-Verkaufssignale</td><td class="confluenceTd" colspan="1">siehe [Indikatoren-Funktionen in Filtern nutzen](https://shareholder.atlassian.net/wiki/spaces/SHARPUB/pages/27229994/Indikatoren-Funktionen+in+Filtern+nutzen)</td></tr><tr role="row"><td class="confluenceTd">Mathematische und Logische Basisfunktionen</td><td class="confluenceTd">Einige mathematische und logische Basisfunktionen:

- SQR(x) Quadrat X
- SIN(x) Die Funktion Sin berechnet den Sinus eines Winkels.
- COS(x) Die Funktion Cos berechnet den Cosinus eines Winkels im Bogenmaß
- ATAN(x) Die Funktion ArcTan berechnet den Arcustangens einer bestimmten Zahl.
- SINH(x) Die Funktion ArcSin berechnet den inversen Sinus einer bestimmten Zahl.
- COSH(x) ArcCos berechnet den inversen Cosinus einer bestimmten Zahl.
- COTAN(x) Die Funktion Cotan berechnet den Cotangens eines Winkels (Intern wird 1 / Tan(X) gerechnet)
- TAN(x) Tan berechnet den Tangens von X.
- EXP(x) Die Funktion Exp gibt die Potenz von X zurück.
- LN(x) Die Funktion Ln gibt den natürlichen Logarithmus eines Real-Ausdrucks zurück (Ln(e) = 1)
- LOG(x) Logarithmus zur Basis 10
- SQRT(x) Wurzel x
- ABS(x) Die Funktion Abs gibt einen absoluten Wert zurück.
- SIGN(x) Vorzeichen (-1,1,0)
- TRUNC(x) Abschneiden der Nachkommastellen
- CEIL(x) Ceil rundet den Wert einer Variablen auf z.B. Ceil(-2.8) = -2; Ceil(2.8) = 3; Ceil(-1.0) = -1
- FLOOR(x) Floor rundet Variablen ab z.B. Floor(-2.8) = -3; Floor(2.8) = 2; Floor(-1.0) = -1
- RND() Die Funktion Random erzeugt eine Zufallszahl innerhalb eines bestimmten Bereichs.
- RANDOM() Initlisierung für die Nutzung von Zufallszahlen
- INTPOW(x,y) IntPower errechnet die Potenz aus einer Basis.
- POW(x,y) Power errechnet aus der Basis Base und dem beliebigen Wert Exponent die Potenz.
- LOGN(x,y) LogN berechnet den Logarithmus X zur angegebenen Basis.
- MIN(x,y) Minium von X, Y
- MAX(x,y) Maximum von X,Y
- IF(A,B,C) Wenn A&gt;0 dann B sonst C

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kursdaten</td><td class="confluenceTd" colspan="1">Es gibt für den Zugriff auf Kursdaten zwei relevante Funktionen:

- **Intraday**(&lt;baiswert&gt;,&lt;kurstyp&gt;)
- **History**(&lt;basiswert&gt;,&lt;kurstyp&gt;,&lt;Heute-X-Zeitpunkt&gt;)

Der Basiswert (Bezugswert für die Auswertung) ist im Normalfall mit "varAll" belegt und somit innerhalb einer Suchliste variabel, d.h. es wird immer der aktuelle Titel als Basiswert gesetzt und kein fixer Titel. Es ist aber auch möglich z.B. den TecDAX mit seiner (!)WKN zu verwenden "Intraday(&lt;TECDAX-WKN&gt;,&lt;KursTyp&gt;)" und hier einzusetzen. Es ist somit der betrachtete Wert unbestimmt mit varAll oder bereits vorbelegt mit der WKN nutzbar. Das Prinzip ist so für alle vorhandenen Funktionen übertragbar.

Als Kurstypen (&lt;kurstyp&gt;) sind erlaubt (O-1,H-2,L-3,C-4,V-5,D-8). Um die Schreibweise leserlicher zu machen (statt der Zahlenwerte), gibt es korrespendierende Konstanten:   
varKOpen, varKHigh, varKLow, varKClose, varKVolumen, varKDatum.

Um die Lesbarkeit zu behalten, sollten diese wenn möglich auch immer verwendet werden. Diese werden aber nicht erzwungen. Intraday gibt dabei immer den aktuellen interen Tageskurs zurück. Liegen noch keine aktuellen Daten vor, wird der letzte bekannte Wert zurückgegeben. Der Wert entspricht immer der Anzeige in den Kurslisten unter AK (Aktuellem Kurs).

Heute-X-Zeitpunkt für History

History besitzt ein Parameter der bei 0 beginnt zu zählen, d.h. mit 0 : Tageswert und somit = Intraday entsprechend dem gewählten Kurstyp z.B.

<div><div>- History(varAll,varKClose,0) - Heutiger Schlusskurs bzw. letzter AK von heute.
- History(varAll,varKClose,-1) - Vortageswert
- History(varAll,varKClose,-2) - Vorgestern  
    usw.

</div></div>Logisch ist damit

<div><div>- History(&lt;basiswert&gt;,&lt;kurstyp&gt;,0) = Intraday(&lt;basiswert&gt;,&lt;kurstyp&gt;)

</div></div>Ebenfalls verwendet werden kann für die Rückgabe von Kursdaten. Hierbei kann jedoch auf keinen Fremdtitel referenziert werden, sondern es wird im Filter immer der jeweilige aktuell geprüfte Titel verwendet im Filter-Durchlauf:

**RasInt** und **RasHis**(O|H|L|C|V|Min|Max) wobei die Felder als Zeit oder Indexfelder verwendet werden können

<div><div>- z.B. RasHisC(-2) gibt den Schlusskurs von vor 2 Handelstagen wieder
- z.B. RasHisMax(-5) gibt den Höchstkurs der letzten 5 Handelstage wieder

</div></div>**HistoryCount**() gibt die Anzahl der vorhandenen Kursdaten auf Schluss-Kurs-Basis zurück. Dies soll vor allem dem herausfiltern von Titeln dienen, die keine ausreichende Kursbasis haben.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Nutzung der Ergebnisse eines anderen Filters (SubFilter)</td><td class="confluenceTd" colspan="1">Die Bedingungen in einem DynFilter können zusätzlich strukturiert werden innerhalb von Sub-Filtern, d.h. es können definierte Filter in anderen Filtern aufgerufen werden. Dieser Aufruf darf nicht rekursiv erfolgen.

Die Berechnung des Subfilters erfolgt zu dem Zeitpunkt der ersten Nutzung innerhalb eines Bedingungsbaumes, sofern dies logisch notwendig ist (wenn die vorherigen AND Bedingungen nicht erfüllt werden können, kommt es zu keinem Aufruf der Funktion). Die Ergebnisse des Filters werden zwischengespeichert, so dass ein nochmaliger Zugriff nicht zu einer kompletten Neuberechnung führt.

Die Zugriffsfunktionen sind:

- **SubFilter**(ID des Filters,varAll,Ergebniswert)

Als Ergebniswerte eines Subfilters sind definiert:

- varFilterRanking - Rückgabe des Rankingwertes des betrachteten Basistitels
- varFilterExists - 1 wenn existiert
- varFilterPos - Position in der Ergebnismenge auf Basis der sortierten Liste mittels der Rankingfunktion  
    zulässig.

Somit läßt sich sowohl die Position als auch die Existenz eines Wertes in einem anderen Filter ermitteln. Auch die Auswertung auf Basis eines bestehenden Rankings ist möglich.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Datumsfunktionen</td><td class="confluenceTd" colspan="1">- **toDate**(DD,MM,YYYY): EXTENTED
- **toTime**(HH,MI): EXTENTED (Nachkommastelle)
- **BaseDATE**(&lt;basis-verschiebung&gt;) : EXTENTED,
- **FirstEOD**: EXTENDED, womit der erste Kurs des Bastitels ermitteln wird und ein Vergleich zur Prüfung einer ausreichenden Kursbasis möglich wird z.B. FirstEOD&lt;toDate(01,01,2000) möglich wird

wobei &lt;basis-verschiebung&gt; zwischen -3000 und 3000 liegen kann und sich auf das aktuell Datum bezieht

</td></tr></tbody></table>

</div>## Optimierung

Zur Zeit gibt es nur eine Variante eines automatischen Brute-Force-Optimierungsalgorithmus, d.h. es wird der Filter komplett berechnet mit vollständiger Auswertung aller logischen Ausdrücke (auch wenn logisch bereits klar ist, dass der Gesamtausdruck festgelegt ist wahr/falsch). Somit werden die Laufzeiten und die Gesamt-Aufrufe der Einzelbedingungen festgestellt.

Jede Einzelbedingung wird bewertet mit

- Zeitbedarf x Aufrufe

Alle Einzelbedingungen können so sortiert werden nach logischem Ausschluss. Hierbei werden die Bedingungen, die ein sehr hohen "Aufwand" produzieren innerhalb eines Teilbaumes nach hinten sortiert. In der Praxis können so die weniger ressourcenhungrigen Bedingungen zuerst berechnet werden um dann (wenn noch notwendig) die weiteren Bedingungen auszuwerten.

In der Summe sollte so ein erstellter Filter immer durch das System optimiert werden. Eine manuelle Änderung der Reihenfolge der Einzelbedingungen innerhalb eines Teilbaumes ist zur Zeit vorgesehen, jedoch noch nicht integriert.

## Bewertung eines Filters mit Handelssystem

siehe [Handelssystem](https://www.shareholder24.com/wiki/books/boersensoftware/page/handelssystem)

# Beispiel-Filter

## Programminterne Beispiele

Sie finden direkt im Programm eine editierbare Beispielleiste. Die Beispiele können mit Doppelklick direkt übernommen werden. Man kann sich so schnell eine eigene Sammlung von sinnvollen Bedingungen zusammenstellen. Die Beispiele können mit Doppelklick als Ausdruck für eine Bedingung übernommen werden. Die Beispiele können selbst erweitert und ergänzt werden über eine editierbare Beispiel-Textdatei, die auf der Oberfläche auch angezeigt wird. Wichtig ist, dass ein Filter sich immer aus mehreren Einzelbedingungen zusammensetzen. Ich kann zwar auch komplizierte Bedingungen in ein Bedingungsausdruck miteinander verknüpfen; dies sollte man aber vermeiden.

## Einfache Beispiele kurz erklärt

Nachfolgend einige formulierte Beispiele, die so auch in der Standardauslieferung enthalten sind:

### Durchschnittsvolumen der letzten 5 Tage

Um das Durchschnittsvolumen von den letzten 5 Tagen zu bekommen wäre somit simpel zu schreiben:

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="cf8c9c5e-281b-4dc6-b421-937cc0050d5e" data-macro-name="code" id="bkmrk-%28history%28varall%2Cvark"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-%28history%28varall%2Cvark-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`(History(varAll,varKVolumen,-``5``)`</div><div class="line number2 index1 alt1" data-bidi-marker="true">`+History(varAll,varKVolumen,-``4``)`</div><div class="line number3 index2 alt2" data-bidi-marker="true">`+History(varAll,varKVolumen,-``3``)`</div><div class="line number4 index3 alt1" data-bidi-marker="true">`+History(varAll,varKVolumen,-``2``)`</div><div class="line number5 index4 alt2" data-bidi-marker="true">`+History(varAll,varKVolumen,-``1``))/``5` `< History(varAll,varKVolumen,``0``)`</div></div></td></tr></tbody></table>

</div></div></div></div>### Mindestvolumen von 5000 Stk.

Wert hat an dem Tag ein bestimmtes mindest Volumen, z. B. 5000 Stk.

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="15c6b9fb-5a41-45f6-ae74-7f79d8e9ff3c" data-macro-name="code" id="bkmrk-intraday%28varall%2Cvark"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-intraday%28varall%2Cvark-1"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`Intraday(varAll,varKVolumen)>``5000`</div></div></td></tr></tbody></table>

</div></div></div></div>### Kurs von über 0,05 Euro

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="7f193568-7a4d-4a03-8631-fd0c96ae7e73" data-macro-name="code" id="bkmrk-intraday%28varall%2Cvark-0"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-intraday%28varall%2Cvark-2"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`Intraday(varAll,varKClose)>``0``,``05`</div></div></td></tr></tbody></table>

</div></div></div></div>### Kursgewinn von 15%

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="7524d2a5-e30f-43a8-8c6c-c5a609e0b45f" data-macro-name="code" id="bkmrk-history%28varall%2Cvarkc"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-history%28varall%2Cvarkc-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`History(varAll,varKClose,``0``)>History(varAll,varKClose,-``1``)*``1``,``15`</div></div></td></tr></tbody></table>

</div></div></div></div>### 4x so großes Durchschnittsvolumen

Wert hat einen 4x so großes Volumen als der Durchschnittswert der letzten 30 Tage.

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="38e52743-609c-4690-ba48-6b21f342c987" data-macro-name="code" id="bkmrk-%28intraday%28varall%2Cvar"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-%28intraday%28varall%2Cvar-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`(Intraday(varAll,varKVolumen)>GDUmsatz(varIGMittelfristigeEinstellungen,varAll,varEWert,``0``)*``4``) &`</div><div class="line number2 index1 alt1" data-bidi-marker="true">`(GDUmsatz(varIGMittelfristigeEinstellungen,varAll,varEWert,``0``)>``0``)`</div></div></td></tr></tbody></table>

</div></div></div></div>Rein theoretisch könnte man auch GleitenderDurchschnitt als Funktion mit einer festgelegten Basisfestlegung auf den Kurstyp "Volumen" benutzen. Dies ist aber umständlich und erzwingt zudem eine eigene Indikatorengruppe, da diese Festlegung global gelten insb. für Charts usw.

Die 30 Tage verbergen sich hierbei in den Einstellungen für den Indikator "Gleitenden Durchschnitt" für die Indikatorengruppe "Mittelfristige Einstellungen".

### Wert hat an dem Tag ein neues 60 Tage Hoch

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="3dff7745-9c86-4745-843f-ebf28343a2c4" data-macro-name="code" id="bkmrk-newhigh%28varigmittelf"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-newhigh%28varigmittelf-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`NewHigh(varIGMittelfristigeEinstellungen,varAll,varEAktivierung,``0``)>``0`</div></div></td></tr></tbody></table>

</div></div></div></div>Die 60 Tage müssen hierbei am Indikator eingetragen werden z.B. im Chart, im Indikatorenpannel, im Wizard oder auch einfach direkt unter Einstellungen.Indikatorengruppe -&gt;Doppelklick (siehe Indikatorenfunktioen)

### Nur deutsche Werte

<div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-id="48330054-ec1e-4dac-be50-aedccbedad21" data-macro-name="code" id="bkmrk-markt%3D%27%2Adax%2A%27%7Cmarkt%3D"><div class="codeContent panelContent pdl"><div><div class="syntaxhighlighter sh-confluence nogutter  java" id="bkmrk-markt%3D%27%2Adax%2A%27%7Cmarkt%3D-0"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container" title="Hint: double-click to select code"><div class="line number1 index0 alt2" data-bidi-marker="true">`Markt=``'*DAX*'``|Markt=``'*Standard*'``|Markt=``'Ne*'``|Markt=``'Pri*'``|Markt=``'General*'`</div></div></td></tr></tbody></table>

</div></div></div></div>Es gibt keine direkte Variante für diese Prüfung. Die Prüfung muss anhand der Marktdaten erfolgen. Hierbei werden alle relevanten Märkte in einem regulären Ausdruck vergleichen. Im Beispiel erfüllen somit alle Werte aus Märkten mit dem Namen **DAX** oder **Standard** usw. die Bedingung. Der Ausdruck sollte aber einmal einfach definiert werden und dann über SubFilter(&lt;ID des Filters&gt;,varAll) eingebunden werden. Erspart hier und an anderen Stellen etwas Arbeit.

# Indikatoren-Funktionen in Filtern nutzen

## Nutzung von Indikatoren in Filtern

Wenn Funktionen Parameter erwarten, so wird automatisch eine Eingabehilfe aufgerufen, die hoffentlich selbsterklärend ist.  
Es gibt dabei eine Reihe von nutzbaren Funktionen, wobei folgende Zuordnung genutzt wird:

Die Funktionen basieren immer auf einer Einstellungsgruppe, die unter im Hauptmenü im Hauptfenster unter Einstellungen / Indikatoren neu angelegt werden kann. Das Anpassen der Einstellungen kann dann direkt mit dem Button "Verändern" vorgenommen werden.

Es gilt immer folgende Semantik:   
*Funktionsname(&lt;IndikatorengruppeID&gt;,&lt;Suchraum als WKN oder varAll&gt;,&lt;Ergebnistyp&gt;,&lt;Ergebnis-Zeit-Punkt relativ mit 0,-1,-2 oder als toDate()&gt;*

<div class="table-wrap" id="bkmrk-element-details-%3Cind"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="width: 100%;"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Element: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" style="width: 24.4564%;" tabindex="0"><div class="tablesorter-header-inner">Element</div></th><th aria-disabled="false" aria-label="Details: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" style="width: 75.5429%;" tabindex="0"><div class="tablesorter-header-inner">Details</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd" style="width: 24.4564%;">&lt;Indikatorengruppe&gt;</td><td class="confluenceTd" style="width: 75.5429%;">Für jede Indikatorengruppe wird immer eine Konstante angelegt z.B. varIGMittelfristigeEinstellungen mit varIG&lt;Name&gt;. Diese kann für die Referenzierung genutzt werden. Wichtig ist hierbei zu verstehen, dass spezifische Indikatorenparameter z.B. die Anzahl Tage für die Moving-Average-Berechnung Kurz und lang über die Indikatorengruppen gepflegt werden und nicht direkt als Berechnungsparameter mitgegeben werden. Dies erscheint im ersten Moment umständlich, vereinfacht aber Optimierungen im Chart (manuell), die sofort für die Filter gültig werden ohne zusätzliche Änderungen. Die Änderung der Werte zu einem Indikator kann auf sehr unterschiedlichem Wege erfolgen.

Mit diesem Indikatoren-Gruppen-Konzept sind die Indikatorenparameter in den Charteinstellungen, Filterberechnungen, Handelssystemen immer gleich und können dennoch unterschieden werden.

</td></tr><tr role="row"><td class="confluenceTd" colspan="1" style="width: 24.4564%;">&lt;Basiswert&gt;</td><td class="confluenceTd" colspan="1" style="width: 75.5429%;">Entweder &lt;varAll&gt; oder eine spezifische WKN eines Titels, was für die Berechnung verwendet werden soll</td></tr><tr role="row"><td class="confluenceTd" colspan="1" style="width: 24.4564%;">&lt;Basisergebnis&gt;</td><td class="confluenceTd" colspan="1" style="width: 75.5429%;">Als Funktionsergebniss ist folgendes erlaubt:

- Ergebniswert(varEWert) - Als Ergebnis der Funktion wird der Wert der Funktion zum Tag X ausgegeben.
- Zonenwert (varEZone) - Der Rückgabewert liegt zwischen 1 und 3 und nimmt als Basis das Funktionsergebnis. Die Einordnung in eine Zone erfolgt immer auf Basis der Einstellungen eines Indikators. Z.B. kann die Einordnung mittels Normalverteilung oder Gleichverteilung vorgenommen werden. Im Ergebnis werden die Werte über einem festgestellten oberen Schwellwert mit Zone=3 und Werte unterhalb eines errechneten Schwellwertes mit Zone=1 zurückgegeben.
- Aktivierung (varEAktivierung) - Ähnlich des Prinzips der Fuzzy Logik, kann jeder errechnete Kauf/Verkaufszeitpunkt eines Indikators mit einer Verfallszeit eingestellt werden. Dies sorgt dafür, dass das Signal "ausschwingt" in den folgenden Tagen mittels einer tanh Funktion (1-tanh( 2\*Zeit/Signale.Verfallszeit )). Die Signale sind somit mit abnehmender Zeit bis zum Verfallstag immer deutlich schwächer. Verkaufssignale ergeben werden zwischen -1 und 0 und Kaufsignale ergeben immer Werte zwischen 0 und 1. Den Verlauf der Signalmuster kann eingestellt werden unter den Optionen eines Indikators und betrachtet werden in einem Chart unter Aktivierung der Signalmuster mit:
- Signaltyp/ Signalstärke (varESignaltyp)- Hier werden generierte Kauf-und Verkaufssignale mit -1 und 1 (Kauf) zurückgegeben.   
      
    Signaltyp und Signalstärke sind dabei synonym verwendet mit Ausnahme der Candlestickformationen.  
    Candlestickformationen besitzen eine eigene Verwendung der Ergebnismengen mit: 
    - Zonen sind immer = 0 ( es findet somit keine Berechnung statt)
    - Aktivierung = Signaltyp = 1 bei Kauf und -1 bei Verkauf
    - Wert = Typ der Formation entsprechend den definierten Variablen z.B. cCandleFHangingMan usw.
    - SigStaerke = Signaltyp\*Candlestickformationen

</td></tr><tr role="row"><td class="confluenceTd" colspan="1" style="width: 24.4564%;">*&lt;Ergebnis-Zeit-Punkt relativ mit 0,-1,-2 oder als toDate()&gt;*</td><td class="confluenceTd" colspan="1" style="width: 75.5429%;">Das Ergebnis eines Indikators kann relativ betrachtet zurückgegeben werden d.h. z.B. -2 von vor 2 Handelstagen. Mittels Übergabe der toDate-Funktion ist auch ein absolutes Datum nutzbar.</td></tr></tbody></table>

</div>Bei Ausführung des Filters sollte man bei Unstimmigkeiten oder zur Kontrolle den Detail-Log-Level aktiviert haben. Hier sind dann die Rückgabewerte der Funktionen prüfbar.

## Besondere Indikatoren und dessen Nutzung

### Neuronale Netze für Kursprognose

Die Neuronalen Prognose-Netze können in einem Filtersystem genutzt werden. Der Zugriff erfolgt immer über die NNPrognose - Funktion, unabhängig vom genutzter Netz.

- NNPrognose(ID des Netzes,Wert (z.B. valAll),Zielwert (z.B.varPrognoseHeute))

Bei der Nutzung eines solchen Ausdruckes, wird im Programm automatisch durch einen Assistenten die möglichen Parameter, IDs zusammengestellt.

## Herleitung zusammen mit einem Chart-Indikator-Bild

<span class="confluence-embedded-file-wrapper">![](https://shareholder.atlassian.net/wiki/plugins/servlet/confluence/placeholder/unknown-attachment?locale=de_DE&version=2 "Shareholder-Filter-Beispiel-mit-Chartbild-DMIADXADR.png")</span>

### Zielstellung

Das Ziel ist es einen Filter zu erstellen, der mir die Aktien heraussucht, die ADX &gt; 30 über die letzten 14 Tage hatte. Die Herleitung sollte hier am einfachsten visuell erfolgen können. Die Einstellungen von Indikatoren werden immer in Indikatorengruppen gespeicher, d.h. möchte man ein und derselben Indikator auf unterschiedliche Zeiträume vergleichen, muss man entsprechende Indikatorengruppen bilden und diese im Filter entsprechend nutzen. Nachdem man einen neuen Filter erstellt hat und eine UND-Bedingung sowie eine einfache Bedingung im Baum angelegt hat, geht man per Doppelklick auf die neue Bedingung in den Editor. In diesem Bedingungseditor, kommt man durch Eingabe von "DMI" sofort in den Wizard.

Hier kann man nochmals die Parameter des Indikators erkennen und verändern (Button Verändern). Wichtig ist die ganz untere Zeile, die dem eigentlichen Funktionsaufruf bildet, d.h. es gilt folgende Semantik

*Funktionsname(&lt;IndikatorengruppeID&gt;,&lt;Suchraum als WKN oder varAll&gt;,&lt;Ergebnistyp&gt;,&lt;ErgebnisPunkt relativ mit 0,-1,-2 oder als toDate()&gt;)*

Wichtig ist hier vor allem den Ergebnistyp zu verstehen.

Diesen Ergebnistyp kann man gut im Chart vergleichen und erkennen. Wert resultiert hier aus der Indikator-Ergebnislinie (graue) und wird bei Mausbewegung auch direkt angezeigt mit Wert. Der Zonenwert liegt zwischen 1-3 und kann für bestimmte Auswertungen helfen, da die Zonenberechnung unterschiedliche Methoden erlaubt die über ein &gt;MinWert und &lt;MaxWert hinausgehen. Der Aktivierungsgrad liegt zwischen -1 und 1 und entspricht nachlaufenden Kauf-und Verkaufssignalen, d.h. wenn ich nicht umständlich prüfen will ob ein Indikator ein Kaufsignal in den letzten 5 Tagen gebildet hat (womit ich ja DMI(....,-1) | DMI(...,-2) usw. schreiben müsste kann ich die Verfallszeit eines Signals einstellen z.B. auf 5 Tage. So länger der Wert her ist um so schwächer wird er. Dies ist im Chartbild auch gut zu erkennen.

Das Signal selber wird im Chart über rote und grüne Pfeile dargestellt. Die Signalumgebung kann erzeugt werden mit Richtungsänderung, Nullinienschnittpunkt usw. Da die Indikatoren unterschiedlich ausgelegt werden können, habe ich die Signalumgebung entsprechend flexibel ausgelegt. Der Signaltyp wird im Normalfall im 1 für Kauf und -1 für Verkauf sein. Für spezielle Indiaktoren wie die Candlestickformation sind zusätzliche Zuordnungen über Konstanten erlaubt. Die Signalstärke bei Candlestickformationen ergeben dabei statisch (siehe Hilfe für Candlesticks) festgelegte Rückgabewerte im Bereich 1-5.

Für Ihr Beispiel ergibt sich somit (14 Tage muss in der Indikatorengruppe eingestellt werden und ist damit auch automatisch für die Chartdarstellung gültig -&gt; deshalb können die Indikatoren nicht direkt verändert werden)

```
DMIADXADXR(1,varAll,varEWert,0)>30 
```

Etwas schöner geschrieben wäre auch

```
DMIADXADXR(varIGMittelfristigeEinstellungen,varAll,varEWert,0)>30 
```

möglich.

Alle Indikatorengruppe werden dabei als Konstanten mit "varIG&lt;Name&gt;" abgelegt. Der Wizard arbeitet aber bewußt mit technischen Nummern, da diese weniger anfällig gegen Umbenennungen sind.

# Reguläre Expressions für Text-Stammdaten

## Grundprinzip

Für Strings werden ab der Version 13.2.8 werden normale reguläre Expressions genutzt. Damit sind grundsätzlich Zeichenauswahl-Filter (**\[egh\]**) , vordefinierte Zeichenklassen (\\d - Zahl), Quantoren und auch die Behandlung von Sonderzeichen möglich für komplexere mehrzeilige Ausdrucks-Vergleiche.

Es ist lediglich zu beachten, dass zunächst immer die &lt;Filterfunktion&gt; getrennt durch das Tilde-Zeichen ~ und der regulären Expression definiert sein muss. Die Groß-und Kleinschreibung wird ignoriert.

## Nutzbare Stammdaten

Folgende Stammdaten-Felder lassen sich in Filtern auswerten und nutzen.

<div class="table-wrap" id="bkmrk-wert-r%C3%BCckgabe-beispi"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Wert: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Wert</div></th><th aria-disabled="false" aria-label="Rückgabe-Beispiel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Rückgabe-Beispiel</div></th><th aria-disabled="false" aria-label="Semantik und Besonderheiten: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Semantik und Besonderheiten</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">WKN

</td><td class="confluenceTd">  
</td><td class="confluenceTd" colspan="1">&lt;WKN&gt;</td></tr><tr role="row"><td class="confluenceTd">ISIN oder Symbol

</td><td class="confluenceTd">  
</td><td class="confluenceTd" colspan="1">&lt;ISIN&gt;

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Videotextname

</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Markt</td><td class="confluenceTd" colspan="1">\_DAX\_,\_MDAX\_</td><td class="confluenceTd" colspan="1">analog Segments nur mit Kurznamen der Märkte und Verwendung von \_</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Notizen</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">Mehrzeiliger Text, der über den Chart oder über Doppelklick auf einen Titel gepflegt werden kann</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Kurzname</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">BasiswertISIN</td><td class="confluenceTd" colspan="1">  
</td><td class="confluenceTd" colspan="1">  
</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Variables</td><td class="confluenceTd" colspan="1">Yahoo-Symobl\[isin\]:LEO,</td><td class="confluenceTd" colspan="1">Zugeordnete und vorhandene Internet-Variablen z.B. Yahoo-Symbole  
&lt;Variablenname&gt;:&lt;Wert&gt;,</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Segments</td><td class="confluenceTd" colspan="1">DAX,MDAX,Deutschland,</td><td class="confluenceTd" colspan="1">Zugeordnete  
&lt;Marktsegment&gt;,</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Watchlists</td><td class="confluenceTd" colspan="1">Märkte,meineWatchlist,\*Depot,</td><td class="confluenceTd" colspan="1">Zugeordnete  
&lt;Watchlist&gt;, </td></tr></tbody></table>

</div>## Verwendung von reguläre Expressions

Weitere Details zur Verwendung finden Sie hier:

[https://www.regular-expressions.info/reference.html](https://www.regular-expressions.info/reference.html) oder [https://de.wikipedia.org/wiki/Regul%C3%A4rer\_Ausdruck](https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck)

### Regular Expression Basic Syntax Reference

<div class="table-wrap" id="bkmrk-characters-character"><table class="wrapped confluenceTable"><tbody><tr><th class="confluenceTh" colspan="3">[Characters](https://www.regular-expressions.info/characters.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">Any character except \[\\^$.|?\*+()</td><td class="confluenceTd">All characters except the listed special characters match a single instance of themselves. { and } are literal characters, unless they're part of a valid regular expression token (e.g. the {n} quantifier).</td><td class="confluenceTd">a matches a</td></tr><tr><td class="confluenceTd">\\ (backslash) followed by any of \[\\^$.|?\*+(){}</td><td class="confluenceTd">A backslash escapes special characters to suppress their special meaning.</td><td class="confluenceTd">\\+ matches +</td></tr><tr><td class="confluenceTd">\\Q...\\E</td><td class="confluenceTd">Matches the characters between \\Q and \\E literally, suppressing the meaning of special characters.</td><td class="confluenceTd">\\Q+-\*/\\E matches+-\*/</td></tr><tr><td class="confluenceTd">\\xFF where FF are 2 hexadecimal digits</td><td class="confluenceTd">Matches the character with the specified ASCII/ANSI value, which depends on the code page used. Can be used in character classes.</td><td class="confluenceTd">\\xA9 matches © when using the Latin-1 code page.</td></tr><tr><td class="confluenceTd">\\n, \\r and \\t</td><td class="confluenceTd">Match an LF character, CR character and a tab character respectively. Can be used in character classes.</td><td class="confluenceTd">\\r\\n matches a DOS/Windows CRLF line break.</td></tr><tr><td class="confluenceTd">\\a, \\e, \\f and\\v</td><td class="confluenceTd">Match a bell character (\\x07), escape character (\\x1B), form feed (\\x0C) and vertical tab (\\x0B) respectively. Can be used in character classes.</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">\\cA through \\cZ</td><td class="confluenceTd">Match an ASCII character Control+A through Control+Z, equivalent to\\x01 through \\x1A. Can be used in character classes.</td><td class="confluenceTd">\\cM\\cJ matches a DOS/Windows CRLF line break.</td></tr><tr><th class="confluenceTh" colspan="3">[Character Classes or Character Sets](https://www.regular-expressions.info/charclass.html) \[abc\]</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">\[ (opening square bracket)</td><td class="confluenceTd">Starts a character class. A character class matches a single character out of all the possibilities offered by the character class. Inside a character class, different rules apply. The rules in this section are only valid inside character classes. The rules outside this section are not valid in character classes, except for a few character escapes that are indicated with "can be used inside character classes".</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">Any character except ^-\]\\ add that character to the possible matches for the character class.</td><td class="confluenceTd">All characters except the listed special characters.</td><td class="confluenceTd">\[abc\] matches a, b orc</td></tr><tr><td class="confluenceTd">\\ (backslash) followed by any of ^-\]\\</td><td class="confluenceTd">A backslash escapes special characters to suppress their special meaning.</td><td class="confluenceTd">\[\\^\\\]\] matches ^ or \]</td></tr><tr><td class="confluenceTd">- (hyphen) except immediately after the opening \[</td><td class="confluenceTd">Specifies a range of characters. (Specifies a hyphen if placed immediately after the opening \[)</td><td class="confluenceTd">\[a-zA-Z0-9\] matches any letter or digit</td></tr><tr><td class="confluenceTd">^ (caret) immediately after the opening \[</td><td class="confluenceTd">Negates the character class, causing it to match a single character*not* listed in the character class. (Specifies a caret if placed anywhere except after the opening \[)</td><td class="confluenceTd">\[^a-d\] matches x (any character except a, b, c or d)</td></tr><tr><td class="confluenceTd">\\d, \\w and \\s</td><td class="confluenceTd">Shorthand character classes matching digits, word characters (letters, digits, and underscores), and whitespace (spaces, tabs, and line breaks). Can be used inside and outside character classes.</td><td class="confluenceTd">\[\\d\\s\] matches a character that is a digit or whitespace</td></tr><tr><td class="confluenceTd">\\D, \\W and \\S</td><td class="confluenceTd">Negated versions of the above. Should be used only outside character classes. (Can be used inside, but that is confusing.)</td><td class="confluenceTd">\\D matches a character that is not a digit</td></tr><tr><td class="confluenceTd">\[\\b\]</td><td class="confluenceTd">Inside a character class, \\b is a backspace character.</td><td class="confluenceTd">\[\\b\\t\] matches a backspace or tab character</td></tr><tr><th class="confluenceTh" colspan="3">[Dot](https://www.regular-expressions.info/dot.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">. (dot)</td><td class="confluenceTd">Matches any single character except line break characters \\r and \\n. Most regex flavors have an option to make the dot match line break characters too.</td><td class="confluenceTd">. matches x or (almost) any other character</td></tr><tr><th class="confluenceTh" colspan="3">[Anchors](https://www.regular-expressions.info/anchors.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">^ (caret)</td><td class="confluenceTd">Matches at the start of the string the regex pattern is applied to. Matches a position rather than a character. Most regex flavors have an option to make the caret match after line breaks (i.e. at the start of a line in a file) as well.</td><td class="confluenceTd">^. matches a inabc\\ndef. Also matches d in "multi-line" mode.</td></tr><tr><td class="confluenceTd">$ (dollar)</td><td class="confluenceTd">Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Most regex flavors have an option to make the dollar match before line breaks (i.e. at the end of a line in a file) as well. Also matches before the very last line break if the string ends with a line break.</td><td class="confluenceTd">.$ matches f inabc\\ndef. Also matches c in "multi-line" mode.</td></tr><tr><td class="confluenceTd">\\A</td><td class="confluenceTd">Matches at the start of the string the regex pattern is applied to. Matches a position rather than a character. Never matches after line breaks.</td><td class="confluenceTd">\\A. matches a in abc</td></tr><tr><td class="confluenceTd">\\Z</td><td class="confluenceTd">Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Never matches before line breaks, except for the very last line break if the string ends with a line break.</td><td class="confluenceTd">.\\Z matches f inabc\\ndef</td></tr><tr><td class="confluenceTd">\\z</td><td class="confluenceTd">Matches at the end of the string the regex pattern is applied to. Matches a position rather than a character. Never matches before line breaks.</td><td class="confluenceTd">.\\z matches f inabc\\ndef</td></tr><tr><th class="confluenceTh" colspan="3">[Word Boundaries](https://www.regular-expressions.info/wordboundaries.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">\\b</td><td class="confluenceTd">Matches at the position between a word character (anything matched by \\w) and a non-word character (anything matched by \[^\\w\] or \\W) as well as at the start and/or end of the string if the first and/or last characters in the string are word characters.</td><td class="confluenceTd">.\\b matches c in abc</td></tr><tr><td class="confluenceTd">\\B</td><td class="confluenceTd">Matches at the position between two word characters (i.e the position between \\w\\w) as well as at the position between two non-word characters (i.e. \\W\\W).</td><td class="confluenceTd">\\B.\\B matches b in abc</td></tr><tr><th class="confluenceTh" colspan="3">[Alternation](https://www.regular-expressions.info/alternation.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">| (pipe)</td><td class="confluenceTd">Causes the regex engine to match either the part on the left side, or the part on the right side. Can be strung together into a series of options.</td><td class="confluenceTd">abc|def|xyz matchesabc, def or xyz</td></tr><tr><td class="confluenceTd">| (pipe)</td><td class="confluenceTd">The pipe has the lowest precedence of all operators. Use grouping to alternate only part of the regular expression.</td><td class="confluenceTd">abc(def|xyz)matches abcdef orabcxyz</td></tr><tr><th class="confluenceTh" colspan="3">[Quantifiers](https://www.regular-expressions.info/repeat.html)</th></tr><tr><th class="confluenceTh">Character</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">? (question mark)</td><td class="confluenceTd">Makes the preceding item optional. Greedy, so the optional item is included in the match if possible.</td><td class="confluenceTd">abc? matches ab orabc</td></tr><tr><td class="confluenceTd">??</td><td class="confluenceTd">Makes the preceding item optional. Lazy, so the optional item is excluded in the match if possible. This construct is often excluded from documentation because of its limited use.</td><td class="confluenceTd">abc?? matches ab orabc</td></tr><tr><td class="confluenceTd">\* (star)</td><td class="confluenceTd">Repeats the previous item zero or more times. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is not matched at all.</td><td class="confluenceTd">".\*" matches"def" "ghi" inabc "def" "ghi" jkl</td></tr><tr><td class="confluenceTd">\*? (lazy star)</td><td class="confluenceTd">Repeats the previous item zero or more times. Lazy, so the engine first attempts to skip the previous item, before trying permutations with ever increasing matches of the preceding item.</td><td class="confluenceTd">".\*?" matches "def"inabc "def" "ghi" jkl</td></tr><tr><td class="confluenceTd">+ (plus)</td><td class="confluenceTd">Repeats the previous item once or more. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is matched only once.</td><td class="confluenceTd">".+" matches"def" "ghi" inabc "def" "ghi" jkl</td></tr><tr><td class="confluenceTd">+? (lazy plus)</td><td class="confluenceTd">Repeats the previous item once or more. Lazy, so the engine first matches the previous item only once, before trying permutations with ever increasing matches of the preceding item.</td><td class="confluenceTd">".+?" matches "def"inabc "def" "ghi" jkl</td></tr><tr><td class="confluenceTd">{n} where n is an integer &gt;= 1</td><td class="confluenceTd">Repeats the previous item exactly n times.</td><td class="confluenceTd">a{3} matches aaa</td></tr><tr><td class="confluenceTd">{n,m} where n &gt;= 0 and m &gt;= n</td><td class="confluenceTd">Repeats the previous item between n and m times. Greedy, so repeating m times is tried before reducing the repetition to n times.</td><td class="confluenceTd">a{2,4} matches aaaa,aaa or aa</td></tr><tr><td class="confluenceTd">{n,m}? where n &gt;= 0 and m &gt;= n</td><td class="confluenceTd">Repeats the previous item between n and m times. Lazy, so repeating n times is tried before increasing the repetition to m times.</td><td class="confluenceTd">a{2,4}? matches aa,aaa or aaaa</td></tr><tr><td class="confluenceTd">{n,} where n &gt;= 0</td><td class="confluenceTd">Repeats the previous item at least n times. Greedy, so as many items as possible will be matched before trying permutations with less matches of the preceding item, up to the point where the preceding item is matched only n times.</td><td class="confluenceTd">a{2,} matches aaaaain aaaaa</td></tr><tr><td class="confluenceTd">{n,}? where n &gt;= 0</td><td class="confluenceTd">Repeats the previous item n or more times. Lazy, so the engine first matches the previous item n times, before trying permutations with ever increasing matches of the preceding item.</td><td class="confluenceTd">a{2,}? matches aa inaaaaa</td></tr></tbody></table>

</div>### Regular Expression Advanced Syntax Reference

<div class="table-wrap" id="bkmrk-grouping-and-backref"><table class="wrapped confluenceTable"><tbody><tr><th class="confluenceTh" colspan="3">[Grouping and Backreferences](https://www.regular-expressions.info/brackets.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(regex)</td><td class="confluenceTd">Round brackets group the regex between them. They capture the text matched by the regex inside them that can be reused in a backreference, and they allow you to apply regex operators to the entire grouped regex.</td><td class="confluenceTd">(abc){3}matchesabcabcabc. First group matches abc.</td></tr><tr><td class="confluenceTd">(?:regex)</td><td class="confluenceTd">Non-capturing parentheses group the regex so you can apply regex operators, but do not capture anything and do not create backreferences.</td><td class="confluenceTd">(?:abc){3}matchesabcabcabc. No groups.</td></tr><tr><td class="confluenceTd">\\1 through \\9</td><td class="confluenceTd">Substituted with the text matched between the 1st through 9th pair of capturing parentheses. Some regex flavors allow more than 9 backreferences.</td><td class="confluenceTd">(abc|def)=\\1matchesabc=abc ordef=def, but not abc=def ordef=abc.</td></tr><tr><th class="confluenceTh" colspan="3">[Modifiers](https://www.regular-expressions.info/modifiers.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(?i)</td><td class="confluenceTd">Turn on case insensitivity for the remainder of the regular expression. (Older regex flavors may turn it on for the entire regex.)</td><td class="confluenceTd">te(?i)stmatches teSTbut not TEST.</td></tr><tr><td class="confluenceTd">(?-i)</td><td class="confluenceTd">Turn off case insensitivity for the remainder of the regular expression.</td><td class="confluenceTd">(?i)te(?-i)stmatches TEstbut not TEST.</td></tr><tr><td class="confluenceTd">(?s)</td><td class="confluenceTd">Turn on "dot matches newline" for the remainder of the regular expression. (Older regex flavors may turn it on for the entire regex.)</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?-s)</td><td class="confluenceTd">Turn off "dot matches newline" for the remainder of the regular expression.</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?m)</td><td class="confluenceTd">Caret and dollar match after and before newlines for the remainder of the regular expression. (Older regex flavors may apply this to the entire regex.)</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?-m)</td><td class="confluenceTd">Caret and dollar only match at the start and end of the string for the remainder of the regular expression.</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?x)</td><td class="confluenceTd">Turn on free-spacing mode to ignore whitespace between regex tokens, and allow # comments.</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?-x)</td><td class="confluenceTd">Turn off free-spacing mode.</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?i-sm)</td><td class="confluenceTd">Turns on the option "i" and turns off "s" and "m" for the remainder of the regular expression. (Older regex flavors may apply this to the entire regex.)</td><td class="confluenceTd">  
</td></tr><tr><td class="confluenceTd">(?[i-sm:regex](https://i-smregex/))</td><td class="confluenceTd">Matches the regex inside the span with the option "i" turned on and "m" and "s" turned off.</td><td class="confluenceTd">(?i:te)stmatches TEstbut not TEST.</td></tr><tr><th class="confluenceTh" colspan="3">[Atomic Grouping and Possessive Quantifiers](https://www.regular-expressions.info/atomic.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(?&gt;regex)</td><td class="confluenceTd">Atomic groups prevent the regex engine from backtracking back into the group (forcing the group to discard part of its match) after a match has been found for the group. Backtracking can occur inside the group before it has matched completely, and the engine can backtrack past the entire group, discarding its match entirely. Eliminating needless backtracking provides a speed increase. Atomic grouping is often indispensable when nesting quantifiers to prevent a catastrophic amount of backtracking as the engine needlessly tries pointless permutations of the nested quantifiers.</td><td class="confluenceTd">x(?&gt;\\w+)x is more efficient than x\\w+x if the second x cannot be matched.</td></tr><tr><td class="confluenceTd">?+, \*+, ++ and{m,n}+</td><td class="confluenceTd">Possessive quantifiers are a limited yet syntactically cleaner alternative to atomic grouping. Only available in a few regex flavors. They behave as normal greedy quantifiers, except that they will not give up part of their match for backtracking.</td><td class="confluenceTd">x++ is identical to (?&gt;x+)</td></tr><tr><th class="confluenceTh" colspan="3">[Lookaround](https://www.regular-expressions.info/lookaround.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(?=regex)</td><td class="confluenceTd">Zero-width positive lookahead. Matches at a position where the pattern inside the lookahead can be matched. Matches only the position. It does not consume any characters or expand the match. In a pattern likeone(?=two)three, both two and three have to match at the position where the match of one ends.</td><td class="confluenceTd">t(?=s)matches the second t instreets.</td></tr><tr><td class="confluenceTd">(?!regex)</td><td class="confluenceTd">Zero-width negative lookahead. Identical to positive lookahead, except that the overall match will only succeed if the regex inside the lookahead fails to match.</td><td class="confluenceTd">t(?!s)matches the firstt in streets.</td></tr><tr><td class="confluenceTd">(?&lt;=regex)</td><td class="confluenceTd">Zero-width positive lookbehind. Matches at a position if the pattern inside the lookahead can be matched ending at that position (i.e. to the left of that position). Depending on the regex flavor you're using, you may not be able to use quantifiers and/or alternation inside lookbehind.</td><td class="confluenceTd">(?&lt;=s)tmatches the firstt in streets.</td></tr><tr><td class="confluenceTd">(?&lt;!regex)</td><td class="confluenceTd">Zero-width negative lookbehind. Matches at a position if the pattern inside the lookahead cannot be matched ending at that position.</td><td class="confluenceTd">(?&lt;!s)tmatches the second t instreets.</td></tr><tr><th class="confluenceTh" colspan="3">[Continuing from The Previous Match](https://www.regular-expressions.info/continue.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">\\G</td><td class="confluenceTd">Matches at the position where the previous match ended, or the position where the current match attempt started (depending on the tool or regex flavor). Matches at the start of the string during the first match attempt.</td><td class="confluenceTd">\\G\[a-z\] first matches a, then matches b and then fails to match in ab\_cd.</td></tr><tr><th class="confluenceTh" colspan="3">[Conditionals](https://www.regular-expressions.info/conditional.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(?(?=regex)then|else)</td><td class="confluenceTd">If the lookahead succeeds, the "then" part must match for the overall regex to match. If the lookahead fails, the "else" part must match for the overall regex to match. Not just positive lookahead, but all four lookarounds can be used. Note that the lookahead is zero-width, so the "then" and "else" parts need to match and consume the part of the text matched by the lookahead as well.</td><td class="confluenceTd">(?(?&lt;=a)b|c)matches the second b and the first c inbabxcac</td></tr><tr><td class="confluenceTd">(?(1)then|else)</td><td class="confluenceTd">If the first capturing group took part in the match attempt thus far, the "then" part must match for the overall regex to match. If the first capturing group did not take part in the match, the "else" part must match for the overall regex to match.</td><td class="confluenceTd">(a)?(?(1)b|c)matches ab, the first c and the second c inbabxcac</td></tr><tr><th class="confluenceTh" colspan="3">[Comments](https://www.regular-expressions.info/comments.html)</th></tr><tr><th class="confluenceTh">Syntax</th><th class="confluenceTh">Description</th><th class="confluenceTh">Example</th></tr><tr><td class="confluenceTd">(?#comment)</td><td class="confluenceTd">Everything between (?# and ) is ignored by the regex engine.</td><td class="confluenceTd">a(?#foobar)bmatches ab</td></tr></tbody></table>

</div>## Beispiele

Das nachfolgend aufgeführte Feld "Katalog" als Feldname ist nur in der Katalog-Filter-Funktion nutzbar. Die Nutzung von Expressions lässt sich hiermit aber perfekt zeigen.

<div class="table-wrap" id="bkmrk-ziel-beispiel-erkl%C3%A4r"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Ziel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Ziel</div></th><th aria-disabled="false" aria-label="Beispiel: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Beispiel</div></th><th aria-disabled="false" aria-label="Erklärung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Erklärung</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Automatische Markierung im Tai-Pan-Katalog  
aller Deutschland-Kataloge  
 </td><td class="confluenceTd">Katalog~^04\[1,4,6\]{1}.(?!.\*Stoxx.\*)(?!.\*Parkett.\*)</td><td class="confluenceTd" colspan="1">Maskiert alle Märkte startend mit 04, gefolgt von 1, 4 oder 6. Dann mit einem beliebigen Zeichen und ausschließlich \*STOXX\* und \*Parkett\*, womit "044 DAX Xetra" markiert wird, "044 DAX Parkett" jedoch nicht

[![image-1655735832020.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735832020.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735832020.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Automatische Markierung im Tai-Pan-Katalog  
aller Leitdaten

</td><td class="confluenceTd" colspan="1">Katalog~\[0-9\]{3}.(Indizes|Devisen|Rohstoffe|Futures.\*|Renditen).\[0-9\]</td><td class="confluenceTd" colspan="1">Es werden alle Kataloge markiert die mit 3 Zahlen beginnen, einem beliebigen Zeichen fortgesetzt werden und dann mit Indizes oder Devisen fortgesetzt werden. Am Ende muss nochmals mindestens eine Zahl folgen nach einem beliebigen Zeichen (hier Leerzeichen).

[![image-1655735836275.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735836275.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735836275.png)

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">Automatische Markierung aller relevanter Märkte</td><td class="confluenceTd" colspan="1">Katalog~^(04\[1,4,6\]{0,3}|\[0-9\]{3}.Österreich|\[0-9\]{3}.Dänemark|\[0-9\]{3}.Schweiz|\[0-9\]{3}.Indizes.\[0-9\]|\[0-9\]{3}.Devisen.\[0-9\]|\[0-9\]{3}.Rohstoffe.\[0-9\]|\[0-9\]{3}.Futures.\[0-9\]|\[0-9\]{3}.Zinsen|\[0-9\]{3}.Deutschland)(?!.\*Parkett.\*).\*</td><td class="confluenceTd" colspan="1">Start immer mit 3 Ziffern und Ausschluß der Parkett-Kataloge für die 041,044,046-Kataloge. In den anderen sind .\* Joker gesetzt und teilweise wird wie bei Indizes nach einem beliebigen Zeichen eine Ziffer verlangt

[![image-1655735840929.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735840929.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735840929.png)

</td></tr></tbody></table>

</div>

# Technische Indikatoren

# Einleitung Technische Indikatoren

# Gruppierung von Indikatoren in Gruppen

Indikatoren besitzen individuelle Parameter. Im Normalfall richten Sie die Einstellungen hierfür nach den betrachteten Zeithorizont. Um diese Betrachtungsweise zu unterstützen sind Indikatorengruppen eingerichet. Neben den individuelle Einstellungsmöglichkeiten können hier auch einzelne Indikatoren deaktiviert werden.

Für jeden Indikator stehen neben den Parametern auch indivuelle

- Signalgenerierungs-
- Analyse  
    Einstellungen zur Verfügung.

Die Indikatorengruppen werden in Handelssystemen, Dynamischen Filtern und Chartanalysen verwendet. Welche Indikatorengruppe im Einzelfall genutzt wird, ist speziell in den Umgebungseinstellungen der Module festzulegen.

Beispielsweise im Chartmodul muss hierzu das Einstellungsmenue geöffnet werden und über Indikatorenparameter die gewünschte Indikatorengruppe ausgewählt werden. Die Indikatoren werden anschließend komplett neu berechnet.

Veränderungen an Basiseinstellungen für Indikatoren erfolgen immer um Umfeld einer eingestellten Indikatorengruppe. Die Einstellungen erfolgen über Einstellungen / Indikatoren.

[![image-1656157626002.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157626002.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157626002.png)

# Basiseinstellungen für Indikatoren

Alle Indikatoren basieren auf ein Grundmodell für die Signal- Zonen - und Divergenzanalysen.

## Parameter

[![image-1656157629923.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157629923.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157629923.png)

Editiergrid für alle vorhandenen Parameter eines Indikatores. Änderungen an den Parametern werden mit dem Button Speichern dauerhaft gespeichert und mit Abbrechen verworfen. Für jden Parameter gibt es einen Defaultwert der mit dem Button Reset aktiviert werden kann. Für die möglichen Werte eines Parameters gibt es zudem eine Range die durch die Minimum und Maximumwerte festgelegt sind.

Zusätzlich Hilfe für die Einstellung der Parameter kann teilweise mit Aufruf der Hilfe gegeben werden.

Als gesonderter Parameter gilt die Kursbasis, die unten rechts im Fenster festgelegt werden kann. Die Kursbasis meint die verwendeten Inputdaten für die Berechnung eines Indikators. Einige Indikatoren ignorieren diesen Wert jedoch, da Sie intern ohne auf festgelegte Kursbasen zugreifen. Dies ist ersichtlich wenn die Formel des Indikators betrachtet wird.

## Signale

[![image-1656157636015.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157636015.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157636015.png)

  
Fast alle Indikatoren können über ein Signalpattern Signalmuster generieren. Das zu nutzende Signalpattern ist separat für die Kauf- und die Verkaufssignale festlegbar. Folgende Pattern sind definiert:

- Richtungsänderung: Der Basiswert verändert im Vergleich von 3 Einträgen der Ergebnisreihe die Richtung, beispielsweise 1&gt;2&lt;3 oder 1&lt;2&gt;3. Dagegen sind 1&gt;2&gt;3 und 1&lt;2&lt;3 ok.
- Crossover/Schnittstellen: Dieses Pattern ist nur nutzbar bei Indikatoren die intern sowohl eine Ergebnisreihe als auch zusätzlich einen Trigger berechnen. Tritt ein Schnittpunkt der beiden gedachten Linien auf, so wird ein Signal generiert.
- Nullachsenschnittpunkte: Entsprechend der Einstellung unter Datenquelle wird ein Schnittpunkt mit der Y-0-Achse als Signal interpretiert.
- keine Signale: Die Signalgenerierung dieses Signaltypes (Kauf/Verkauf) ist nicht sinnvoll und soll daher unterbunden werden.

Jeder Signaltyp hat eine eigene Verfallszeit, die den Verfall des ursprünglichen Signalwertes (1=Kauf, -1=Verkauf) in einer exponentiellen Kurve auf X Tage legt, d.h. die Signalwirkung wird exponentiell kleiner um so länger die Signalgenerierung bereits in der Vergangenheit liegt.

## Zonenanalyse

[![image-1656157655253.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157655253.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157655253.png)

- Zonenanalyse ist nicht sinnvoll und wird somit unterbunden
- Lineare gleichverteilte Zonenbildung, d.h. alle Zonen sind auf der Y-Achse gleich groß und besitzen somit einen linearen Faktor
- Normalverteilung: Es wird eine Normalverteilung der Werte in Form einer Glockenkurve vermutet, d.h. der mit % angegebene Wert spiegelt den Mittenbereich innerhalb der Glockenkurve dar.

## Divergenz Analyse

Es werden bei Aktivierung Unterschiede zwischen dem Verlauf des Basistitels und der des Indikators gesucht, d.h. wenn der Basistitel steigt und der Indikatorwert fällt, so liegt eine Divergenz vor. Der Zeitraum für den Vergleich beschreibt die Glättung der Daten vor dem Vergleich sowohl für die Indikatoren-Ergebnisreihe, als auch für die Basistitelkursreihe.

# Theorie und Hintergründe

Technische Indikatoren resultieren aus berechneten Datenreihen, die aus den Ursprungsdaten mit Hilfe von mehr oder weniger komplexen Algorithmen abgeleitet werden.

Ein Modell, mit dem sich zunächst jeder technische Analyst auseinandersetzt, ist das Capital Asset Pricing Model (CAPM). Dieses zentrale Modell der modernen Finanzmarkttheorie (auch Portfolio-Theorie) baut unter anderem auf der Annahme des Random Walk der Kursbewegungen auf. Random - Walk bezeichnet in der Mathematik eine Zufallsfolge, bei der jedes Element richtungsunabhängig, aber nicht ortsunabhängig, von den vorangegangenen Elementen ist. Auf die Kursentwicklung an den Finanzmärkten übertragen bedeutet dies, dass der Kursverlauf nicht durch die Entwicklung der Vergangenheit vorhergesagt werden kann. Die beste Schätzung der Kursrichtung von Morgen ist die Kursrichtung von Heute.

An der Börse kann trotzdem auch mit Hilfe der Technischen Analyse Geld verdient werden. In der Theorie steht dem die Major-Trend-Theorie (Dow-Theorie) zur Seite. Ihr Erfinder Charles H.Dow hatte die Idee, dass sich die Finanzmärkte in Zyklen bewegen. Er geht davon aus, dass ein Index alle Informationen enthält, die für die weitere Entwicklung des Aktienmarktes wichtig sind. Das Studium anderer Quellen ist nicht notwendig. Die Trendtheorie basiert auf der Annahme, dass sich der Markt in Trends bewegt. Aufwärtstrend bezeichnet man als Bull Market, Abwärtstrend als Bear Markets. Wobei nach der Laufzeit eines Trends zwischen Primär-, Sekundär- und Tertiärtrend unterschieden wird. Ein Primärtrend dauert normalerweise mehrere Jahre, ein Sekundärtrend höchstens sechs Monate, ein Tertiärtrend maximal einen Monat.

Je früher ein Trend erkannt wird, desto besser ist es für den Spekulanten und Investor, der mit dieser Information einen Profit sucht. In der Regel gibt es eine Vorbereitungszeit, meist eine wenig profitable Seitwärtsphase, bis es zum Trendstart kommt. Die Technische Analyse und Formationslehre versuchen nun, Trends an den Finanzmärkten frühzeitig zu erkennen.

Für viele ist die Technische Analyse immer noch etwas Astrologie und Voodoo. Sie hat nie die gleiche Akzeptanz erreicht wie die Fundamentalanalyse. Die beste Fundamentalanalyse greift aber erst, wenn der Markt sie auch zur Kenntnis genommen hat und von ihr überzeugt ist. Dann beginnt der Markt zu kaufen oder zu verkaufen. Genau da setzt die Technische Analyse an. Sie versucht, die Psychologie am Markt zu erfassen. Dies erfolgt in der Regel über drei Zeithorizonte. Die Theorie geht davon aus, dass sich gewisse Formationen ständig wiederholen, was durch das typische Verhalten von Anlegern begründet wird. Am erfolgreichsten lassen sich Entwicklungen im kurz- und mittelfristigen Bereich technisch analysieren, während langfristige Erscheinungen nur bei ausgeprägten Formationen feststellbar sind. Entwicklungen über Jahre sind technisch kaum fassbar und daher Aufgabe der Fundamentalanalyse.

Es gibt drei Grundannahmen, auf denen der technische Ansatz basiert:

1. Die Marktbewegung diskontiert alles
2. Kurse bewegen sich in Trends
3. Die Geschichte wiederholt sich selbst

(1)Der Techniker glaubt, dass alles, was die Kurse beeinflussen kann - fundamental, politisch, psychologisch usw. - durch den Marktpreis aktuell wiedergespiegelt wird. Daraus folgt, dass nur die Untersuchung der Kursbewegung verlangt wird, sonst nichts. Der technische Analyst weiß, dass es Gründe dafür gibt, warum Märkte hoch oder runter gehen. Er oder sie glaubt nur nicht, dass das Wissen um diese Gründe bei der Prognose nötig ist.

Am Anfang bedeutender Marktbewegungen erklären oder unterstützen die Fundamentaldaten üblicherweise nicht, was der Markt zu tun scheint. Eine Erklärung dafür liegt darin, dass Marktbewegungen dazu tendieren, den bekannten Fundamentals vorauszulaufen bzw. sich als Frühindikator der Fundamentals bzw. der momentan vorherrschenden Meinung zu verhalten.

(2) Das Trendkonzept ist für den technischen Ansatz unentbehrlich. Ein Folgesatz der  
Prämisse, dass sich Kurse in Trends bewegen, besagt: Ein Trend in Bewegung setzt sich mit größerer Wahrscheinlichkeit fort, als dass er sich umkehrt. Anders ausgedrückt: Ein Trend in Bewegung verläuft solange in derselben Richtung bis er sich umkehrt.

(3) Vieles bei der Technischen Analyse und dem Studium von Marktbewegungen hat mit dem Studium der menschlichen Psychologie zu tun. Bestimmte Muster z.B. Kursformationen offenbarten bis heute eine bullishe (steigende Kurse erwartet) oder bearische (fallende Kurse erwartet) Psychologie des Marktes. Weil diese Muster in der Vergangenheit funktioniert haben, wird angenommen, dass sie auch in der Zukunft weiterhin funktionieren werden. Sie basieren auf dem Studium der menschlichen Psyche, die nicht dazu tendiert, sich zu verändern. Der Schlüssel zum Verständnis der Zukunft liegt also um Studium der Vergangenheit oder die Zukunft ist nur eine Wiederholung der Vergangenheit.

Kritikpunkte des technischen Ansatzes  
Einige Fragen tauchen praktisch in jeder Diskussion zur Technische Analyse auf:

- Ist die Chart-,Technische Analyse nicht eine sich selbst erfüllende Prophezeiung?
- Können aus Kursdaten der Vergangenheit wirklich für die Vorhersage zukünftiger Kursbewegungen genutzt werden?

Die Anwendung der meisten Chartformen wurde in den letzten Jahren breit publiziert. Viele Trader sind mit diesen Formationen gut vertraut und könnten auf diese gemeinsam handeln. Dies bedingt eine „Self - Fullfilling - Prophecy", weil Wellen von Käufen oder Verkäufen als Antwort auf „bullishe" oder „bearishe" Formationen ausgelöst werden. Diese Idee ist so jedoch nicht zu halten, da Chartmuster immer ein Stück subjektiv sind und jeder Trader am Markt anders versucht auf Signale zu reagieren. Einige sind eher aggressiv, die anderen konservativ. Die einen nutzen Stops, während andere „bestens" oder „billigst" kaufen. Einige traden die langen Trends, andere schließen ihre Positionen regelmäßig am selben Tag. Auch die Geschwindigkeit, mit der Akteure am Markt agieren, ist recht unterschiedlich. Einigen stehen Realtimesysteme , anderen nur die Videotexttafeln des Fernsehers zur Verfügung.

Welche Zufälligkeit von Kursbewegungen auch immer existiert; es ist wahrscheinlich ein Phänomen sehr kurzfristiger Zeitperioden. Das Beharrungsvermögen existierender Trends über lange Zeitperioden, in vielen Fällen Jahren, ist ein zwingendes Argument gegen die Anhänger der Random- Walk- Theorie, die behauptet, Kurse seien seriell unabhängig und Kursbewegungen der Vergangenheit hätten keinen Einfluss auf zukünftige Kursbewegungen.

## Anwendung der Technischen Analyse

Die Anwendung der Technischen Analyse umfasst unterschiedliche Bereiche. Zunächst sollte zwischen Chartanalyse und der Indikatoren-Analyse bzw. Markttechnik unterschieden werden. Die Chartanalyse versucht anhand der Chartdarstellung und in den enthaltenen Formationen, Trendlinien und Mustern, Entscheidungen zu treffen. Diese Methode ist sehr stark visuell basiert und lässt sich nur in komplizierten mathematischen Methoden beschreiben. Diese sind allerdings bis heute nur in sehr wenigen sehr teuren Programmen integriert und kaum exakt beschrieben. Vor allem hier ergeben sich sehr viele unterschiedliche Ansatzpunkte in der Interpretation, womit die Analystenmeinungen weit auseinander gehen können.

Die Markttechnik dagegen basiert allein auf die Anwendung von exakt beschriebenen mathematischen und statistischen Algorithmen und Modellen auf Zahlen- bzw. Kursreihen. Die Algorithmen sind vorgegeben. Die Interpretationen jedoch sind mit einem nicht unerheblichen Interpretationsspielraum behaftet. Dies ist zum einen in den Auswirkungen unterschiedlicher Parametereinstellungen, wie auch dem Freiheitsgrad der Signalgebung durch die Indikatoren begründet. Dazu später aber mehr.

Im Vergleich wird oft von einer subjektiven Charttechnik und einer objektiven Markttechnik gesprochen. Beide Verfahren gründen sich auf einen Teil exakt beschriebener Vorschriften (objektiver Methoden) und einen Teil vom Anwender frei gewählte subjektiver Interpretationen. Die Analyseanteile sind unter Verwendung eines entsprechenden Regelwerkes schnell in Richtung objektiver Analyse zu verschieben.

Neben diesen Teilbereichen ist eine weitere Einteilung in Zyklen-Techniken und Sentimenttechniken möglich. Im Rahmen der Zyklentechnik wird nach einem Zyklus bzw. einem Muster in der zugrundeliegenden Kursentwicklung gesucht, die dann ansatzweise in die Zukunft fortgeschrieben werden kann. Innerhalb der Sentimenttechnik wird versucht, die „Stimmung" des Marktes zu messen, die hinter einer Kursentwicklung steht. Es wird damit die „psychologische Qualität" des bestehenden Preisniveaus und damit die Quantifizierung von Euphorie und Angst gemessen.

### Chartanalyse

Für die traditionellen Chart-Analysten ist der Chart nicht nur das primäre, sondern das einzige Werkzeug. An den Charts selbst werden Trendlinien bzw. Formationen konstruiert. Der Analyst interpretiert ausschließlich die Verletzung bzw. das Herausbilden dieser von ihm konstruierten Chartmuster und handelt dementsprechend. Im Rahmen dieser Arbeit wird nur auf einen besonders zuverlässiger Teil der Chart-Anaylse eingegangen, die sogenannten Candlesticks bzw. deren Formationserkennung. Auf andere Verfahren und deren Erkennung wird nicht eingegangen.

### Markttechnik

Die Markttechnik ist eine auf mathematisch erfassbaren Modellen aufbauende Technik der Aktienanalyse. Das Thema ist sehr komplex und kann hier nur soweit dargestellt werden, wie es zum Verständnis der Arbeit notwendig ist.

Nachfolgend wird eine Übersicht der in „Shareholder" nutzbaren Indikatoren und deren Einordnung in Indikatorengruppen gegeben. Es ist wichtig anzuerkennen, dass Aktienkurse sich zunächst immer in drei möglichen Trends bewegen. Dies kann ein Abwärts-, Aufwärts- oder Seitwärtstrend sein. Die Anwendung der Indikatoren, auch der Chartformationen, erfolgt immer auf Basis des festgestellten Trends. Es gibt einige Indikatoren, die die Festlegung des aktuell bestehenden Trends versuchen. In Anwendung dieser Indikatoren-Ergebnisse, der sogenannten Trendbestimmungsindikatoren, erfolgt dann bei vorliegendem Abwärts- oder Aufwärtstrend die Analyse mit Hilfe von Trendfolgeindikatoren. Allein in Seitwärtsphasen und zur Unterstützung der anderen Analysen erfolgt die Nutzung der Momentum Oszillatoren. Die Volatilitätsindikatoren werden zur Plausibilitätsprüfung und Entscheidungsunterstützung der Ergebnisse genutzt.  
Auf die mathematische Beschreibung und Interpretation der einzelnen Indikatoren wird über die Kontextsensitive Hilfe in „Shareholder" eingegangen. An dieser Stelle wird auf die Verwendung entsprechender Literatur verwiesen.

[![image-1656157693212.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157693212.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157693212.png)

## Interpretation der Umsätze

Das Umsatzniveau (Anzahl der gehandelten Aktien während der betrachteten Zeitperiode) misst die Intensität oder Dringlichkeit hinter einer Preisbewegung. Der technische Analyst kann hinter einer Marktbewegung stehenden Kauf- oder Verkaufsdruck abschätzen, indem er die Höhe der Umsätze gemeinsam mit der Kursbewegung verfolgt. Die Umsätze sollten in Richtung des existierenden Kurstrendes zunehmen. Erfolgt eine Aufwärtsbewegung bei fallenden Umsätzen, sollte dies als Warnung vor abnehmendem Kaufdruck im Aufwärtstrend verstanden werden. Bei der gemeinsamen Beobachtung von Kursen und Umsätzen werden zwei unterschiedliche Werkzeuge benutzt, um dasselbe zu messen - den Druck. Allein aus der Tatsache, dass die Kurse nach oben tendieren, erkennt man, dass es mehr Kauf- als Verkaufsdruck gibt. Höhere Umsätze sollten in der selben Richtung verlaufen wie der vorherrschende Kurstrend. Die Umsätze spielen daher in jeder Technischen Analyse eine große Rolle und dürfen nicht vernachlässigt werden.

## Trendfolgeindikatoren

Das Trendkonzept ist für den technischen Ansatz der Marktanalyse absolut notwendig. All die Hilfsmittel, die der technische Analyst im Bereich der Trendfolgeindikatoren misst, haben die einzige Aufgabe, bei der Bestimmung des Markttrendes zu helfen, um an diesem Trend zu partizipieren. Ein Markttrend wird dabei durch die Richtung der Gipfel und Täler konstituiert. Ein Aufwärtstrend wird demnach als eine Serie sukzessive höherer Gipfel und Täler definiert; ein Abwärtstrend durch eine Serie niedriger Gipfel und Täler; gleich hohe Gipfel und Täler identifizieren einen trendlosen Markt (Seitwärtsbewegung).

Ein Trendfolgesystem benötigt nach seiner Definition immer einen Trend. In trendlosen Phasen werden diese Indikatoren versagen.

Zusätzlich zu der Richtung eines Trends lässt sich die Klassifikation auch nach der Zeitdimension, in der sich ein Trend bewegt, vornehmen.

Nach der Dow Theorie gibt es:

- primären Trend (übergeordneten), der über ein Jahr dauert
- mittelfristigen-/ sekundären Trend, der in der Urtheorie länger als drei Wochen einzuordnen andauert
- kurzfristigen Trendbewegungen von wenigen Tagen oder Stunden

Ein Trend ist immer Teil eines längeren übergeordneten Trends. Man spricht daher auch von übergeordneten und untergeordneten Trends.

Trendfolgeindikatoren sind darauf ausgerichtet, die vorherrschende Trendrichtung anzuzeigen. Ein bestimmter Trend hat solange Gültigkeit, bis ein Trendfolgeindikator eine Änderung anzeigt. Da sie meist eine Glättungskomponente enthalten, die kleinere Kursausschläge herausfiltert, müssen die Kurse schon größere Bewegungen absolvieren, bevor sich ein „Trendfolger" dreht. Die Indikatorwerte verlaufen mit einer zeitlichen Verzögerung zu den Kursen und generieren die Signale entsprechend verspätet.

### Gleitende Durchschnitte (GD):

Dieser mit Abstand bekannteste technische Indikator berechnet revolvierend den Durchschnittskurs der letzten Börsentage. Es wird eine gleitende Trendlinie gebildet, die in Abhängigkeit von der Anzahl der gewählten Tage mit zeitlicher Verzögerung dem Kursverlauf folgt. Ausgehend von der Annahme, dass die weiter zurückliegenden Kurse weniger Einfluss auf den aktuellen Kurs des Wertpapiers haben, kann man die einzelnen zur Durchschnittsbildung herangezogenen Kurse gewichten: linear, geometrisch oder exponentiell. Der GD kann als einfaches System für Kauf- und Verkaufsentscheidungen dienen, wobei jeweils die Überkreuzungslinie des Gleitenden Durchschnitt und der Kurslinie als Signal gewertet wird. In Trendmärkten können so mit Hilfe weiterer Indikatoren durchaus gute Ergebnisse erzielt werden.  
Es ist darauf hinzuweisen, dass die Analyse der Durchschnitte allein kein ausreichender Grund für eine Kauf- oder Verkaufsentscheidung sein kann.

[![image-1656157702263.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157702263.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157702263.png)

Obwohl mehrfach nachgewiesen wurde, dass es keine Kombinationen gibt, die an den Börsen langfristig und kontinuierlich erfolgreich ist, gibt es immer noch Leute, die sich allein auf die Anwendung und Interpretation von GD verlassen. GD's sollte man nur in Verbindung mit anderen Indikatoren oder „Price Pattern" einsetzen!

## Momentum-Oszillatoren

Der Begriff „Oszillation" kommt ursprünglich aus dem Bereich der Elektrotechnik und steht für Schwingung bzw. regelmäßiges Hin- und Herschwingen. Das Momentum stellt die Schwungkraft des Marktes dar. Aufgrund ihrer Berechnungsart werden fast alle Momentum -Oszillatoren innerhalb einer bestimmten Bandbreite formalisiert. Sie schwingen entweder um eine Nullachse oder innerhalb eines Prozentbandes. Sobald Oszillatoren sich in ihren Extrembereichen aufhalten, deutet dies auf eine Überhitzung der bisherigen Marktgeschehnisse hin. Da sie aus den Extremzonen wieder zurücklaufen, sobald die Schwungkraft des Marktes nachlässt, die Kurse i.d.R. aber den Trend noch etwas beibehalten, laufen sie der tatsächlichen Kursentwicklung voraus.

Die Zyklusindikatoren werden in Börsenberichten häufig mit Worten wie überhitzt, überkauft, ruhig, widerstandsfähig usw. beschrieben und deuten darauf hin, dass diese damit zur Analyse des Stimmungsbildes des Marktes genutzt werden.

## Trendbestimmungsindikatoren

Die Hauptfrage, die sich alle Analysten und Händler stellen, ist ob ein Trend oder eine Seitwärtsbewegung vorliegt. Von der Beantwortung dieser Frage hängt der Erfolg der unterschiedlichen Analysteninstrumente und Handelsstrategien ab. Trendbestimmungsindikatoren sollen keine Kauf- oder Verkaufssignale liefern, sondern lediglich als Filter für die Auswahl anderer Instrumente dienen. Liegt ein Trend vor, dann bieten sich Trendfolgeindikatoren, trendkonforme Signale der Oszillatoren und Breakout -Verfahren an.

Die Aufgabe der Trendbestimmungs-Indikatoren liegt darin, die „Gesundheit" des Gesamtmarktes durch Messung der Marktbreite zu bestimmen. Die in ihren Formeln benutzten Daten sind steigende gegen fallende Werte, neue Hochs gegen neue Tiefs und Aufwärtsvolumen gegen Abwärtsvolumen.

Als Grundlagen vieler Berechnungen der Trendbestimmungsindikatoren dient die „directionale Bewegung". Dabei gelten zunächst folgende Zusammenhänge:

- +DM: Differenz zwischen den beiden Höchstkursen wird als „positive directional movement" bezeichnet
- -DM: Differenz zwischen den beiden Tiefstkursen ist das „negative directional movement"
- Tage, an denen kein neuer Höchstkurs/ Tiefstkurs ausgebildet werden kann, die sogenannten „inside days", werden in Berechnungen nicht berücksichtigt, da sie keine Relevanz für eine directionale Bewegung haben.

Die eigentliche Berechnung der beiden „Directional Indicators" erfolgt mit:

[![image-1656157715343.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157715343.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157715343.png)

Die True-Range wird oft verwendet und zeigt die maximale auftretende Schwungkraft innerhalb von zwei Tagen. Verglichen werden sowohl die Schlusskurse mit den Tiefstkursen des Tages, als auch die Höchstkurse/Tiefstkurse mit den Schlusskursen des vorherigen Tages.

## Volatilitäts-Indikatoren

Die Volatilität ist eine Kennzahl für die Schwankungsintensität eines Marktes. Da sich die Märkte zwischen ruhigen und volatilen Phasen ständig hin- und herbewegen, ist deren Quantifizierung nötig. Volatilitätsindikatoren messen den Stand der aktuellen Schwankungsintensität, um daraus die Entwicklung der zukünftigen Elastizität eines Marktes bestimmen zu können.

Ausgangspunkt jeder dynamischen Betrachtung des Börsengeschehens sind die individual- und massenpsychologischen Prozesse der Marktteilnehmer. Der massenpsychologische Effekt beginnt an dem Punkt, wo sich immer mehr Börsenakteure einer bestimmten Auffassung anschließen und ihre Handelsaktivitäten entsprechend konzentrieren. Das emotionale Engagement steigt parallel zur Dynamik der Kursentwicklung, wobei die Elemente der gegenseitigen Ansteckung zum Tragen kommen. Nach und nach drückt sich die einseitig ausgerichtete Erwartungshaltung in dynamischen Trendphasen aus. Ergreift die Börsenstimmung von der großen Masse der Anleger Besitz, kann es zu erheblichen Ausschlägen kommen. Mit zunehmender Dauer einer Kursbewegung kommen den Investoren jedoch zunehmend Zweifel, da die Plausibilität bisheriger Argumente abnimmt. Es bilden sich regressive Erwartungen, die zu einem Ende der vorherigen Bewegung und Trendrichtungsdynamik führen.

# Candlesticks

## Grundlagen

Candlesticks, die japanischen Kerzencharts, stellen eine besondere Chartdarstellungstechnik dar. Diese exotische, aber keinesfalls neue Variante, wurde in Japan des 16. Jahrhunderts entwickelt und repräsentiert den vermutlich ältesten Technischen Analyseansatz. Candlesticks enthalten als Kurskomponenten den Hoch-, Tief-, Eröffnungs- und Schlusskurs. Die Darstellungsform ist für beliebige Zeiträume, in denen Kursdaten ermittelt werden können (Hoch, Tief usw.), möglich. Es existieren hier sowohl Darstellungsformen für die tägliche, wöchentliche oder monatliche Darstellung.

## Candlestick -Darstellung

[![image-1655735971670.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655735971670.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655735971670.png)

Ein Kerzenkörper enthält alle relevanten Informationen des zugrundeliegenden Zeitabschnittes. Die Kerze besteht dabei immer aus einem Kerzenkörper, der Differenz von (Close-Open), und dem Schatten bzw. Docht ober- und unterhalb des Kerzenkörpers. Der Körper wird, wenn der Schlusskurses (Close) kleiner als der Eröffnungskurs (Open) ist, rot gezeichnet. Ist die Differenz von Close und Open dagegen positiv, so wird der Körper Grün gezeichnet. Der Kurs befindet sich damit am Ende des Zeitabschnittes höher als zu Beginn.  
Der Opening- oder Closing-Kurs ist dabei entweder am oberen oder unteren Ende des Kerzenkörpers zu finden.

Grundsätzlich können Candlesticks nach den in der Charttechnik bekannten Regeln untersucht werden, d.h. es gibt ebenso Trendkanäle, Widerstände und Unterstützungen. Daneben gelten jedoch auch einige anerkannte Muster, in denen die einzelnen Candlesticks bzw. deren Formationsgruppen interpretiert werden.

Im Programm-Modell ist eine Formationserkennung für Candlesticks integriert. Diese erkennt wichtige Patterns und gibt sie dem neuronales Kursprognosenetz als Eingabedaten weiter. Markante und zugleich zuverlässige Muster (Pattern) werden näher beschrieben. Einige Formationen tauchen nur selten auf und sind manuell nur mit Übung zu erkennen. Die Formationserkennung des jeweiligen Patterns wurde aus praktischen Gründen vor dieser Beschreibung integriert. Die Screenshots sind entsprechend vom Programm heraus gemacht.

Bullische Formationen erklären Kursmuster, die auf einen steigenden Kurs hindeuten und entsprechend lassen bearishe Formationen auf fallende Kurse spekulieren.

Beschäftigt man sich mit der Technik der japanischen Kerzencharts näher, erkennt man schnell deren Zuverlässigkeit und deren Nutzen. Im Projektmodell „Shareholder" ist daher die Pattern-Technik soweit ausgebaut, dass zur Zeit mehr als 15 Muster erkannt werden können.

Es ist wichtig zu verstehen, dass Candlesticks die Kraft zwischen den Bullen und Bären messen und ein sehr gutes Hilfsmittel darstellen, um die Psychologie und Marktstärke zu messen. Für das Neuronale Kursprognose-Netz werden die Daten eine Basis darstellen, insbesondere für die sehr kurzfristige Kursprognose

Folgende Muster werden zugeordnet und erkannt:

<div class="table-wrap" id="bkmrk-name-signalst%C3%A4rke-ei"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Name: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0">Name

</th><th aria-disabled="false" aria-label="Signalstärke: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0">Signalstärke

</th><th aria-disabled="false" aria-label="Einordnung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0">Einordnung

</th><th aria-disabled="false" aria-label="Anzahl Kerzen: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" role="columnheader" scope="col" tabindex="0">Anzahl Kerzen

</th><th aria-disabled="false" aria-label="Bestätigung: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="4" role="columnheader" scope="col" tabindex="0">Bestätigung

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">Abandoned Baby

</td><td class="confluenceTd">\+ + + + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Advance Block

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Belt Hold

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Breakaway

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">5

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Concealing Baby Swallow

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">4

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Dark Cloud Cover

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Deliberation

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Doji Star

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Downside Gap Three M.

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Downside Tasuki Gap

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Engulfing

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Evening Doji Star

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Evening Star

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Falling Three Methods

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">5

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Gravestone doji

</td><td class="confluenceTd">++

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Hammer

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Hanging Man

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Homing Pigeon

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Harami

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Harami Cross

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Identical Three Crows

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">In Neck Line

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Inverted Hammer

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Kicking

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Ladder Bottom

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">5

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Matching Low

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Mat Hold

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Positiv Trendbestätigend

</td><td class="confluenceTd">5

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Meeting Lines

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Morning Doji Star

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Morning Star

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">On Neck Line

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Piercing Line

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Rising Three Methods

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv Trendbestätigend

</td><td class="confluenceTd">5

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Separating Lines

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv / Negativ Trendbestätigend

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Side-by-Side White L.

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv / Negativ Trendbestätigend

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Stick Sandwich

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Shooting Star

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Negativ/ Umkehrformation

</td><td class="confluenceTd">1

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Three Black Crows

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Three Inside Up/Down

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Three Line Stike

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Positiv / Negativ Trendbestätigend

</td><td class="confluenceTd">4

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Three Outside Up/Down

</td><td class="confluenceTd">\+ + + + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Three Stars in the South

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Three White Soldiers

</td><td class="confluenceTd">\+ + + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nicht nötig

</td></tr><tr role="row"><td class="confluenceTd">Thrusting Line

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Negativ Trendbestätigend

</td><td class="confluenceTd">2

</td><td class="confluenceTd">Nötig

</td></tr><tr role="row"><td class="confluenceTd">Tri Star

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv / Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Two Crows

</td><td class="confluenceTd">\+ + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Unique Three River

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Positiv Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Upside Gap Three Meth.

</td><td class="confluenceTd">\+ +

</td><td class="confluenceTd">Positiv Trendbestätigend

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Upside Gap Two Crows

</td><td class="confluenceTd">\+ + + +

</td><td class="confluenceTd">Negativ Umkehrformation

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Wird vorgeschlagen

</td></tr><tr role="row"><td class="confluenceTd">Upside Tasuki Gap

</td><td class="confluenceTd">+

</td><td class="confluenceTd">Positiv Trendbestätigend

</td><td class="confluenceTd">3

</td><td class="confluenceTd">Nötig

</td></tr></tbody></table>

</div>Siehe auch:  
Erkennbare Muster aus einer Kerze  
Erkennbare Muster aus zwei Kerzen  
Erkennbare Muster aus drei Kerzen  
Erkennbare Muster aus vier und mehr Kerzen

# Momentum-Oszillatoren

## Indikator - RSI

**Formel**

RSI =

[![image-1655736058500.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736058500.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736058500.png)

Der Indikator zeigt die innere Stärke einer Kursbewegung. Der RSI berechnet ein Verhältnis von Aufwärts- und Abwärtsschlusskursen über eine bestimmte Zeitperiode.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Bei der Suche nach Divergenzen kann der Indiaktor behilflich sein.  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Die Standardeinstellung von 14 Tagen sollte nicht verwendet werden, da der Indikator dann viel zu wenige saubere Signale lifert.

**Interpretation**

Bei einem RSI von über 70 gilt der analysierte Titel als überkauft, bei unter 30 als überverkauft, weshalb man mit einer Gegenreaktion rechnen kann, sobald der RSI diese Zonen wieder in die jeweils andere Richtung verlässt. Die Tops und Tiefpunkte des RSI in den Extremzonen kristallisieren sich frühzeitiger heraus als die des Basistitels.

## Indikator - Stochastik

**Formel**

Fast Stochastik %K =

[![image-1655736107580.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736107580.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736107580.png)

Triggerlinie %D = i.d.R. ein 3er-, 5er-, oder 8er-GD von %K

Slow Stochastik =

[![image-1655736112493.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736112493.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736112493.png)

**Ausgangspunkt**

Ausgangspunkt ist die Beobachtung, dass sich in einer Phase steigender Kurse die Schlusskurse am oberen Rand der Trading Range befinden und umgekehrt. Der Stochastik-Oszillator ist darauf ausgerichtet, die Differenz zwischen dem heutigen Schlusskurs und dem Periodentief mit der Handelsspanne (High/Low) des Betrachtungszeitraumes zu vergleichen. Das Resultat wird auf einer Skala zwischen 0..100 als Zwei-Linien-Modell dargestellt (%K Linie und deren Gleitender Durchschnitt %D). Bei einem Slow-Stochastik handelt es sich um eine geglättete Variante.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) In Märkten, die wellenähnliche Strukturen aufweisen, erwischt man mit dem Stochastik-Oszillator fast jeden Hoch-und Tiefpunkt. In Trendmärkten gibt er recht gute Signale in Richtungs des Trends  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Die Standardeinstellungen sind kaum zu gebrauchen (20/80 Lebel)

**Interpretation**

Ein Wert von 100% zeigt, dass der aktuelle Schlusskurs dem höchsten Kurs der Periode entpsricht. Stochastik-Werte oberhalb von 80% definieren einen überkauften Zustand unterhalb von 20% einen überverkauften Status der Kurse. Signale werden entweder generiert, wenn der Stochastik-Oszillator seine Triggerlinie %D kreuzt oder die Extremzonen (20/80) wieder in die jeweils andere Richtung verlassen wird.

## Indikator - Chaikin

**Formel**

ROC10 (MA10 (High-Low))

Bei diesem Indikator wird die Volatilität an einer sich ausweitenden Handelsspanne zwischen dem Höchst- und dem Tiefskurse eines Tages definiert.

**Pro&amp;Contra**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) In volatilen Märkten bietet der Indikator wertvolle Hilfe um den Markt einzuschätzen  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In langanhaltenden Trendphasen sowie in relativ flach verlaufenden Seitwärtsmärkten fehlt ihm die Signaldeutlichkeit

**Interpretation**

Ein Steiler Anstieg zeigt dass bald mit einer Bodenbildungsphase gerechnet werden kann. Ein Rückgang des Indikators, der sich über einen längeren Zeitraum erstreckt, deutet auf eine bevorstehende Topbildung hin. Bodenbildungen des Indikators im negativen Bereich deuten auf mögliche Ausbruchbewegungen aus einer Range hin, die oftmals den Beginn einer Trendphase einleiten.

Hinweis: In SHAREholder wird eine modifizierte Version verwendet, die allerdings an das Orginalllerdings an das Orginal angelehnt ist.

## Indikator - Double Smoothed Stochastik "DsSt"

**Formel**

[![image-1656157752498.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157752498.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157752498.png)

Beim DSS werden die Komponenten der ursprünglichen Stochastik-Formel jeweils durch zwei Exponentiell Geglättete GD gesmoothed.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Sehr gute Signalausprägung  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Häufige gute trendkonforme Signale  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Bei sehr flach verlaufenden Seitwärtsmärkten treten auch hier Fehlsignale auf

**Interpretation**

Ein Wert von 100% zeigt , dass der aktuelle Schlusskurs dem höchsten Kurs der Periode entspricht. Werte oberhalb von 70% / 80 % definieren bei der Standardinterpretation einen überkauften Zustand, unterhalb 30% oder 20% einen überverkauften Status der Kurse. Signale werden generiert, wenn die Mittellinie gekreuzt wird oder die Extremzonen wieder in die jeweils andere Richtung verlassen werden. Signale werden generiert, wenn der DSS seine Mittellinie kreuzt oder die Extremzonen wieder in die jeweils andere Richtung verlassen wird.

## Indikator - Momentum

**Formel**

Mom = (Kurs- Kurs n-Tage) x100  
ROC =

[![image-1656157758828.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157758828.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157758828.png)

Das Momentum misst die Schwungkraft eines Marktes bzw. die Stärke einer Kursbewegung. Dem Indikator liegt die Erkenntnis zugrunde, dass sich Kursbewegungen eines Marktes vor einer möglichen Trendumkehr bzw. Korrektur erst abschwächen. Oftmals findet man das Momentum auch als ROC (Rate of Change). Hierbei dividiert man die beiden Kurse und multipliziert den Quotienten mit Faktor 100.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Der Bruch der Mittellinie erfolgt in volatilen Seitwärtsmärkten oftmals am Top oder am Tief einer Kursbewegung  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Berechnungsart beim Mom weist den Nachteil auf, stark vom zugrundeliegendem Wert abhängig zu sein. Es können keine Vergleiche zwischen 2 Werten vorgenommen werden  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Der Indikator basiert nur auf den Vergleich von 2 Kursen. Wichtige Kursmuster aus dem Zeitraum zwischen den beiden Schlusskursen bleiben unberücksichtigt.

**Interpretation**

Der Indikator bildet die Dynamik ab, den die Kursbewegung zur Zeit besitzt, indem der Tageskurs in Beziehung zu einem historischen Kurs gesetzt wird. Neue Höchstkurse sollten dabei mit gleich hohen Spitzen im Momentum einhergehen. Liegt hier eine Divergenz vor, so sind immer weniger Anleger bereit, zu immer höheren Kursen einzusteigen. Im Einzelnen heißt dies:

- Ein steigendes Momentum unterhalb der Mittellinie wird durch eine Verringerung der Abstände der beiden Schlusskurse verursacht und steht für ein Nachlassen der Abwärtsbewegung.
- Bei einem steigenden Momentum oberhalb der Mittellinie liegt der Schlusskurs über dem von vor n-Tagen. Je stärker das Momentum steigt, desto dynamischer ist der Aufwärtstrend. Je höher er dabei gestiegen ist, desto „überkaufter" sollte der Markt sein.  
    Ein fallendes Momentum oberhalb der Mittellinie warnt vor einer möglichen Korrektur der Kurse.

## Indikator - Coppock

**Einführung**

Der Coppock Indikator, entwickelt von Edwin Coppock, basiert auf dem Momentum und dem GD. Er dient zum Erkennen langfristiger (mehrjähriger) Trends, für kurzfristige Trends ist er nicht zu gebrauchen. Eine gebräuchliche Abkürzung existiert nicht.

**Aussage**

Der Coppock misst langfristige Trends, in dem zwei langfristige Momentums addiert werden. Auf Basis dieser Summe wird ein gewichteter GD gebildet. Da die Basis des Indikators vom Momentum gebildet wird, oszilliert auch der Coppock um die Nulllinie.

**Formel/Berechnung**

Coppock = WMAx (ROCy + ROCz)

- WMA = Weighted Moving Average (gleitender Durchschnitt, gewichtet)

**Interpretation**

Der Coppock wird auf zwei verschiedene Weisen interpretiert. Bei der Standardinterpretation ist die Drehung der Linie oberhalb der Nulllinie nach unten als Verkaufssignal, die Drehung der Linie unterhalb der Nulllinie nach oben als Kaufsignal zu sehen. Eine weitere Interpretationsöglichkeit besteht darin, auf Basis des Coppocks einen weiteren, langfristigen GD zu bilden. Der Schnitt des GDs mit dem Coppock wird in diesem Fall als Signal bewertet.

## Indikator - Money Flow Index "MFI"

**Einführung**

Der Money Flow Index bezieht neben den eigentlichen Kursen auch noch die Umsätze in die Berechnung ein. Er stellt eine Art Umsatz-Momentum dar. Die typische Abkürzung lautet MFI.

**Aussage**

Der MFI basiert auf der Idee, dass in einen Titel investiert wird, wenn der Wert in der Nähe des Tageshochs schließt. Wenn der Schlusskurs in der Nähe des Tagestiefs liegt, wird dem Titel Geld entzogen. Die Berechnung erfolgt auf Basis des sogenannten "Typischen Preises", den wir beim Commodity Channel Index eingeführt haben. Ist der aktuelle Preis höher als der gestrige, spricht man von einem positiven Geldfluss (Money Flow). Liegt der aktuelle Preis niedriger, spricht man von einem negativen Money Flow. Auf Basis dieser beiden Zahlen wird das Money-Ratio gebildet. Am Schluss wird dieses Ratio normiert, um eine besser zu interpretierende Darstellung zu erhalten. Durch die Normierung schwankt der MFI immer um die 50er Linie mit dem Maximum 100 und dem Minimum 0.

**Formel/Berechnung**

[![image-1655736457441.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736457441.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736457441.png)

**Interpretation**

Aufgrund seiner Berechnung steigt der MFI bei steigenden Kursen an, bei fallenden Kursen fällt er. Da neben den Kursen auch die Umsätze eine Rolle spielen, deuten starke Bewegungen im MFI immer auf besonders hohe Umsätze oder sehr starke Kursveränderungen zum Vortag hin. Als Standardsignal wird das Kreuzen mit der 50er Linie gedeutet. Ein Durchbruch von unten nach oben liefert ein Kaufsignal, ein Durchbruch von oben nach unten ein Verkaufssignal. Alternativ kann man auch einen Gleitenden Durchschnitt über den MFI legen und die Schnitte zwischen GD und MFI als Signale interpretieren, ähnlich wie beim MACD. Neben dieser Interpretation benutzen viele Analysten auch Divergenzen zwischen Basiswert und MFI zur Signalgenerierung. Steigt der Kurs noch weiter an, fällt der MFI bereits, ist mit einem baldigen Ende der Aufwärtsbewegung zu rechnen. Gleiches gilt auf umgekehrte Weise bei noch fallenden Kursen und steigendem MFI.

Standardeinstellung: 20 Tage

## Indikator - Price and Volume Trend "PVT"

**Beschreibung**

Der Indikator ist eine Weiterentwicklung des OBV. Wie beim OBV wird der Umsatz kumuliert (Addition bei Kursanstieg, Subtraktion bei Kursabfall), der Umsatz wird jedoch mit der prozentuellen Änderung gewichtet. Das heißt, der Umsatz bei einer großen Kursänderung wird stärker berücksichtigt.

**Berechnung**

Die Berechnung erfolgt nach folgender Formel:

[![image-1656157773401.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157773401.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157773401.png)

- C..... Schlusskurs
- CVortag..... Schlusskurs des Vortages

**Anwendung**

- Divergenzen zwischen PVT und Aktie deuten auf eine bevorstehende Trendwende hin.

Siehe auch:

- OBV (On Balance Volume)
- Positive Volume Index (PVI)
- Negative Volume Index (NVI)

## Indikator - RSL

# Trendbestimmungs-Indikatoren

## Indikator - MA - Gleitende Durchschnitte

...

## Indikator - Bollinger

...

## Indikator - Random Walk Index "RWI"

**Hintergrund**

Der RWI basiert auf der Annahme, dass ein bestimmter Teil der Kursbewegungen rein zufällig auftreten. Die erwartete durchschnittliche Abweichung der Zufälligkeit ist dabei vergleichbar mit der Multiplikation der durchschnittlichen Preis-Range mit der Wurzel aus der Anzahl von Zeiteinheiten. Der RWI besteht aus 2 Indikatoren, dem RWI\_Up (grün) und dem RWI\_Down(rot)

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Hohe Reaktionsgeschwindigkeit  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Verlaufsmuster enthält zusätzliche Informationen für Reentry und Exit-Signale  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Sehr volatiler Indikator

**Interpretation**

Je höher der RWI steigt, desto weiter weichen die Kurse zwar von dem ab, was statistisch betrachtet zu erwarten wäre, desto stärker ist aber auch die Trendkomponente des Marktes. Da die Kurse immer wieder zu einem relativen Mittelwert zurücklaufen, signalisiert ein hoher RWI-Wert ein mögliches Ende der bisherigen Bewegung. Wenn RWI\_Up über dem RWI\_Down verläuft, liegt ein eher aufwärtsgerichteter Markt vor, ansonsten ein abwärtsgerichteter. Ein Crossover der beiden Linien signalisiert eine Trendwende. Der RWI-Level, ab dem ein Trend angenommen werden kann, liegt je nach Markt zwischen 1.0 und 1.5

## Indikator - AROON

**Formel**

Dabei werden die Tage gemessen, die seit dem letzten Hoch oder Tief am Markt vergangen sind. Diese Werte werden von einem AROON\_Up und einem AROON\_Down gemessen.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Geradliniger Kurvenverlauf  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Standort und Verhalten des unteren Indikator für Zusatzinformationen genutzt werden  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Es wird lediglich die zeitliche Komponenten genutzt, nicht aber die Preisentwicklung

**Interpretation**

Ein Abwärtstrend wird angezeigt, wenn der AROON\_Down (rot) über dem AROON\_Up (grün) und umgekehrt. Ein Crossover der beiden Indikatoren zeigt ein möglichen Trendwechsel. Je höher der AROON, desto kontinuierlicher bewegt sich ein Trend. Es wird nicht die preisliche Trendstärke gemessen, sondern die Anzahl der Tage, die der Trend nun schon enthält. Je gleichmäßiger einer der beiden Indikatoren im oberen Bereich verläuft, desto eindeutiger ist der jeweilige Trend. Trendlose Phasen werden angezeigt, wenn sich keine der beiden Indikatoren im oberen Bereich aufhält.

## Indikator - TRWinkel

**Berechnung**

Der Indikator ist recht einfach und basiert auf:

- Gleitender Durchschnitt auf alle Highs als Trigger
- Gleitender Durchschnitt auf alle Lows als Trigger

**Annahme**

Wenn ein Wert steigt, so hat er im Normalfall auch steigende Highs innerhalb einer Periode. Ebenso steigen auch die Lows. Schneiden sich die beiden Kurven, so könnte eine Trendwende eingeleitet werden.

## Indikator - Dynamic Momentum Index "DMI" und "ADX"

**DMI Bedeutung**

Er stellt um den Faktor Volatilität erweiterten RSI Indikator von Wilder dar, wobei die Volatilität durch das Verhältnis einer 5 tägigen Standardabweichung zu dem 10 tägigen Durchschnitt einer 5 tägigen Standardabweichung. In unruhigen Marktphasen verwendet der DMI dadurch größere Periodenlängen und in volatilen Märkten kleinere.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Er reagiert präziser und eindeutiger als andere VI  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Viele Haken, die ihn anfällig für Fehlinterpretationen macht

**ADX Formel**

ADX = MA14 (DMI)  
ADXR = MA14 (ADX)

Bei einem ADX handelt es sich um einen Gleitenden Durchschnitt des DMI-Indikators. Er bestimmt zwar die Trend-Intensität aber nicht die Trendrichtung.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Im Zusammenspiel mit anderen Indikatoren sehr wertvoll als Trendfilter  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Seine Stärken kommen bei einem systematischen Ansatz zum Tragen.  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Da der ADX mit mehreren Glättungskomponenten arbeitet, ist er recht langsam.

**Interpretation**

Ein ansteigender ADX steht für ein sich verstärkende Trendintensität, während ein fallendender ADX eine nachlassende Trend-Intensität anzeigt. Oftmals verharren die Kurse dann in Seitwärtsphasen.

## Indikator - RAVI

**Formel**

[![image-1656157801898.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157801898.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157801898.png)

Der RAVI definiert sich über den absoluten Wert der prozentualen Differenz zwischen den beiden gleitenden Durchschnitten.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Er reagiert schneller als der ADX  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Er zeigt deutlichere Verlaufsmuster als der ADX  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Plötzliche Trendwechsel werden nicht als neue Trenddynamik angezeigt (steigender Verlauf) sondern oft mit einem fallenden Verlauf, da sich scheinbar Kurse gegenseitig neutralisieren.

**Interpretation**

Bei der 7/65 Konstellation gilt ein Markt als Trendmarkt, wenn der RAVI Wert über 3% liegt. Ein Range-Markt weist dagegen einen Ravi-Wert von unter 3% auf. Erreicht der RAVI ein Top und dreht dann wieder nach unten, sollte ein Trendmarkt beendet sein, mindestens aber eine Pause einlegen. Je höher der RAVI, desto stärker ist der Trend. Sollte der RAVI unter 1% fallen, dann hat der Markt bereits eine längere Phase der Trendlosigkeit hinter sich. In diesen Fällen ist mit dem baldigen Beginn eines neuen Trends bzw. mit einem Breakout der Kurse aus ihrer Range zu rechnen.

# Trendfolger

## Indikator - Parabolic SAR "PSAR"

**Einführung**

Welles Wilder entwickelte den Parabolic SAR (PSAR) um eine Stop-Marke herum. Neben der Stop-Marke werden die Preisentwicklung und die Zeit in den Indikator eingearbeitet.

**Aussage**

Der PSAR befindet sich ständig im Markt, das bedeutet, dass bei jedem Schnitt des PSAR mit dem Kursverlauf ein Handelssignal ausgelöst wird. Bitte beachten Sie, dass der PSAR eine gewisse  
"Einlaufzeit" benötigt und daher die ersten Signale ignoriert werden sollen.

**Formel/Berechnung**

[![image-1655736882240.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736882240.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736882240.png)

- EP = Extremkurs
- AF = Beschleunigungsfaktor

**Interpretation**

Der PSAR schwankt immer um den eigentlichen Kursverlauf. Bei Ausbildung eines Trends nähert sich der PSAR dem Kursverlauf immer mehr an, ein Schnitt des PSAR mit dem Kursverlauf löst dann schließlich das Signal aus. Der PSAR funktioniert in erster Linie in sehr starken Trendmärkten, in trendlosen Märkten liefert der PSAR fast nur Fehlsignale.

- Standardeinstellung: täglich, Beschleunigungsfaktor 0,02

Verwandte Indikatoren

- Directional Movement Indikator
- Commodity Channel Index

## Indikator - MACD

**Formel**

[![image-1656157826890.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157826890.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157826890.png)

Die Basis für seine Berechnung bilden zwei EMA, die voneinander subtrahiert werden. Das Ergebnis wird als Linie dargestellt und zusätzlich mit einer 9er EMA Signallinie verstehen, so dass ein Zwei-Linie-Modell entsteht.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Trendwechsel werden relativ schnell angezeigt  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Indikator kann einfach gelesen werden  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In langen Trendphasen dreht der MACD häufig gegen die Richtung des Haupttrends  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In volatilen Range Trading überhaupt nicht verwendbar durch häufige Fehlsignale

**Interpretation**

Wenn der MACD steigt, liegt ein Aufwärtstrend vor, wenn er fällt, ein Abwärtstrend. Sobald der MACD (gestrichelte Linie) seine Signallinie (durchgezogene Linie) von unten nach oben kreuzt, ist ein Kaufsignal gegeben. Analog gilt ein Verkaufssignal, wenn der MACD die Signallinie von oben nach unten kreuzt. Die Differenz zwischen MACD und Signallinie/Triggerlinie wird als Fläche dargestellt.

## Indikator - TRIX

**Formel**

[![image-1655736962427.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655736962427.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655736962427.png)

Es handelt sich somit um ein 1 Tages Rate of Change eines dreifach exponentiell geglätteten Durchschnittes der Schlusskurse eines Wertes. Das Ergebnis ist ein um die Null-Linie schwankender Oszillator, der aufgrund seiner Stabilität als Trendindikator verwendet wird. Auch hier ist es möglich eine 9er EMA Signallinie zu verwenden, um Signale frühzeitiger und systematischer generieren zu lassen.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Die starke Glättungskomponente führt dazu, dass der TRIX unbedeutende Kursbewegungen herausfiltert und eine äußerst glatte Verkaufskurve aufweist.  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Er eignet sich besonders gut, für die Darstellung mittelfristiger Kurs-Swings  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Die Signalgenerierung ist durch die Glättung sehr träge. In volatilen Seitwärtsphasen nicht einsetzbar  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Die Einstellung der Zeitspanne ist relativ kritisch, da hiermit die Trägheit sehr stark beeinflusst wird

**Interpretation**

Es entsteht ein Kaufsignal, wenn der TRIX Indikator sein Null-Linie von unten nach oben durchschneidet. Ein Verkaufssignal wird generiert, wenn er die Null-Linie nach unten durchbricht.

## Indikator - Commodity Channel Index "CCI"

**Formel**

[![image-1655739781285.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655739781285.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655739781285.png)

MABn ... Mittlere Abweichung als Summe der Differenzen zwischen dem Durchschnittskurs jeder Periode und seinem GD

Vereinfacht drückt Indikator aus, wie weit sich die aktuellen Kurse von ihren Gleitenden Durchschnitten entfernt haben. Die Formel berechnet ein einen Gleitenden Durchschnitt der täglichen Durchschnittskurse (H+L+C)/3 und deren mittlere Abweichung MABn.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Neben der Trendrichtung wird auch die Trendstärke/Intensität angezeigt  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Kurzfristige Signale des CCI in Richtung des längerfristigen Trends sind besonders gut  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Verlaufskurse ist relativ unruhig

**Interpretation**

Nach Lambert deuten Werte zwischen +100 und -100 auf trendlose Märkte hin, die keine Handelsindikationen liefern. Je steiler die Verlaufskurve, desto stärker der Trend. Kauf und Verkaufssignale ergeben sich erst durch Kreuzen der Linie 100 bzw. -100. Bei einer längeren Parametereinstellung kann ein Schneiden der Null-Linie als Trendumkehr gewertet werden. Je kürzer der gewählte Periodenzeitraum (&lt;10) desto stärker oszilliert der CCI und eignet sich dann auch als Overbought/ Oversold-Indikator.

## Indikator - RMI

**Formel**

[![image-1655739811132.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655739811132.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655739811132.png)

Anstelle des Summierens von gefallenen und gestiegenen Tagen auf Schlusskursbasis, wie es beim RSI geschieht, zählt der RMI Kurssteigerungen und Kursrückgänge relativ zu einem Schlusskurs von vor x Tagen. Der Indikator stellt somit ein um eine Momentum-Komponente hinzugefügte RSI dar.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Bestimmung von Trends  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Trendwechsel erfolgen relativ schnell  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Sehr ruhiger und stabiler Kursverlauf  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In Seitwärtsmärkten läuft der Indikator zu leicht in die Extremzonen

**Interpretation**

Solange der alternative RMI oberhalb von 70-80 läuft, liegt ein Aufwärtstrend vor, unterhalb 30-20 ein Abwärtstrend. Von einer überkauften oder überverkauften Situation darf dabei nicht ausgegangen werden, da Trends mit Eintritt des RMI in die Extremzonen meist erst richtig einsetzen. Der Bruch der Mittellinie kann als möglicher Trendwechsel gesehen werden.

## Indikator - Polized Fractal Efficiency "PFE"

**Formel**

[![image-1655739847146.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655739847146.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655739847146.png)

Polized Fractal Efficiency ist ein Ansatz, bei dem die Gesetze der Fraktalen Geometrie und die Erkenntnisse der Chaostheorie eingeflossen sind. Der PFE stellt die Frage ob eine Marktbewegung geradlinig verläuft, was sehr „effizient" ist, oder in Wellen.

(+ bei steigenden, - bei fallenden Kursen)

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Trendphasen werden durch den Aufenthalt in seinen Extremzonen hervorragend angezeigt.  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Verlaufsmuster eines Trendwechsels und die Trendindikation zeigen sehr agil und trotzdem geglättet.  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In Seitwärtsphasen taucht der PFE zu schnell in seine Extremzonen ein.

**Interpretation**

Der PFE oszilliert in der Regel zwischen +100 und -100, wobei ein Wert über +40 bis +60 eine positive Trendeffizienz, ein Wert unter -40 bis -60 für eine negative Trendeffizienz spricht (je nach Markt und Parametereinstellung). Solange der Indikator in seinen Extremzonen bleibt, braucht man der Fortführung des Trends nicht zu zweifeln. Die Zone dazwischen ist als trendloses Niemandsland zu betrachten. Manchmal wird jedoch trotzdem der Bruch der Mittellinie zur Interpretation herangezogen.

## Indikator - Time Series Forecast "TSF"

**Formel**

1\. Berechnung der Regressionsgeraden R über die letzten X Perioden für X Tage  
2\. Fortlaufende Notierung eines neu berechneten Wertes für X+1 dieser Regressionsgeraden

Der Time/Series Forecast ist in seinem Aufbau einem Moving Average sehr ähnlich, der Trend des Basistitels wird jedoch mit Hilfe einer Regressionsgleichung nach der Methode der kleinsten Quadrate ermittelt. Diese Methode beinhaltet vereinfacht beschrieben das Anlegen einer Geraden in den Chart des Basistitels, die mit der Maßgabe konstruiert wird, entsprechend dem Einstellungszeitraums den Abstand zwischen den Kursen und der Regressionslinie zu minimieren.

**Pro&amp;Contra**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Sehr schnelle Reaktionszeit durch die Einbeziehung auch des letzten Kurses  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Indikator schießt durch seine Berechnung oft über das Ziel hinaus

**Interpretation**

Der Indikator ist ein den Kursen stets vorauslaufender Indikator, mit einer äußert sensitiven Wirkung

## Indikator - NewHigh - NewLow

...

# Umsatzindikatoren

## Grundlagen

Markantes Volumenverhalten ist oft ein starkes Signal für eine vorstehende Bewegung. Die wichtigsten Regeln:

- Konsolidierungen (auch in K.formationen) sind umso aussagefähiger je stärker das Volumen insgesamt dabei zurückgeht. Damit ist aber kein "Austrocknen" der Volumina gemeint. Es ist Rückgang gemeint! Kein gänzliches Austrocknen wie oft bei sehr nichtliquiden Aktien.
- Bei Umkehrformationen jeglicher Art (KSK-Formation, Dreiecke usw.) ist ein Vol.rückgang ebenfalls sehr aussagekräftig. Jeodch sollte z.B. bei einer Schulter-Kopf-Schulter-Formation das Volumen zwar gesamt zurückgehen, jedoch idealerweise bei den Anstiegen innerhalb der Formation leicht abnehmen und bei den Abstiegen zunehmen. Bei Vollendung sollte das Volumen stark steigen, eine förmliche Explosion beim Durchbruch nach unten ist sehr aussagekräftig.
- Also ein Ausbruch aus einer Formation oder Konsolidierungszone sollte stets von hohem Volumen begleitet sein. Heisst, das Vol sollte mind. höher sein als in den letzten vor dem Verlassen der Konsolidierung.
- Eine andauernde Kursbewegung ist umso bedeutender je mehr das Volumen dabei ansteigt. Je geringer dabei die Wellenbewegungen/Voaltilität desto stabiler und besser.
- Generell geht das Verhalten des Volumens über die absolute Größe. Also wichtiger ist, ob das Volumen in eine bestimmte Kursrichtung hin zunimmt als wie hoch es genau ist.
- Tage mit extremen Kursbewegungen und extremer Volumenzunahme sind sehr riskant. Liegt man richtig kann man schnell einen großen Profit machen. Liegt man falsch und hat kein enges StopLoss ist man "arm" dran. Wenn man auf solche Extrembewegungen (bspw. &gt; 30% an einem Tag) handelt, dann sollte man auf Konsolidierungskerzen warten und erst dann handeln, wenn diese nach oben hin verlassen werden.

## Indikator - ForceIndex "FI"

**Einführung**

Ähnlich wie der VPT ist auch der Force-Index eine Kombination aus dem Momentum und dem Umsatz. Entwickelt wurde der Indikator von Dr. Alexander Elder, der mit dem Indikator die Kraft der Bullen und Bären messen wollte.

**Aussage**

Für den Force-Index wird jeweils nur ein Ein-Tages-Momentum berechnet und dieser Wert mit dem jeweiligen Umsatz multipliziert. Das Ergebnis schwankt daher sehr stark nach oben und unten offen über die Nulllinie, da an Tagen mit Kursgewinnen die Werte positiv, an Tagen mit Kursrückgängen negativ sind. Die Höhe des einzelnen Wertes ist abhängig vom Umsatz und von der eigentlichen Kursbewegung. Um die starken Schwankungen besser in den Griff zu bekommen, wird der Indikator meistens nur geglättet dargestellt.

**Formel/Berechnung**

[![image-1655740007674.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740007674.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740007674.png)

**Interpretation**

Die Interpretation erfolgt im allgemeinen auf zwei Weisen, zum einen über den Durchbruch der Nulllinie, zum anderen über die Berechnung eines GDs auf den Force-Index. Durchbricht der Indikator die Nulllinie von unten nach oben, handelt es sich um ein Kaufsignal. Durchbricht der Indikator die Nulllinie von oben nach unten, handelt es sich um ein Verkaufssignal. Bei dieser Interpretation wird er Indikator hauptsächlich un-geglättet und als Histogramm dargestellt. Die andere Möglichkeit ist die, auf den Force-Index einen GD zu berechnen und den Schnitt der beiden Linien als Signalgeber zu nutzen. Ein Kaufsignal ist gegeben, wenn der Force-Index seinen GD von unten nach oben schneidet, ein Verkaufssignal dann, wenn der Force-Index seinen GD von oben nach unten schneidet.

## Indikator - On Balance Volume "OBV"

**Beschreibung**

Der Indikator wurde von J. Granville entwickelt. Er ist die kumulierte Summe des Umsatzes, wobei der Umsatz bei einem Anstieg addiert, bei einem Kursrückgang subtrahiert wird.

**Berechnung**

Die Berechnung erfolgt nach folgender Formel:

[![image-1655740050966.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740050966.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740050966.png)

- C..... Schlusskurs
- CVortag..... Schlusskurs des Vortages
- Abs..... Absolutwert

**Anwendung**

- Divergenzen zwischen OBV und Aktie deuten auf eine bevorstehende Trendwende hin.

Siehe auch:

- Price and Volume Trend (PVT)
- Positive Volume Index (PVI)
- Negative Volume Index (NVI)

## Indikator - Volume Price Trend "VPT"

**Beschreibung**

Der Volumen Price Trend (VPT) ist eine einfache Kombination des Momentums mit dem Umsatz. Entwickelt wurde dieser Indikator von Steve L. Kille.

**Berechnung**

Die Berechnung des Indikators erfolgt, in dem die jeweiligen Kursveränderungen mit dem Umsatz des betreffenden Tages multipliziert werden. Das jeweilige Ergebnis wird über den gewünschten Zeitraum aufsummiert.

Das Ergebnis schwankt nach oben und unten offen über die Nulllinie, da an Tagen mit Kursgewinnen die Werte positiv, an Tagen mit Kursrückgängen negativ sind. Die Höhe des einzelnen Wert ist abhängig vom Umsatz und von der Kursbewegung.  
Formel/Berechnung:

**Anwendung**

Die Interpretation erfolgt im allgemeinen auf zwei verschiedene Weisen, zum einen über Trendwechsel im Indikator, zum anderen über die Berechnung eines GDs auf den VPT. Wenn der Indikator im positiven Bereich nach unten dreht, zeigt dies, dass der Aufwärts-Schwung nachlässt und ein Abfallen des Kursverlaufs wahrscheinlich wird. Eine Drehung im negativen Bereich nach oben weißt auf einen nachlassenden Abwärtstrend hin und damit auf bald steigende Kurse.  
Die andere Möglichkeit ist die, auf den VPT einen GD zu berechnen und den Schnitt der beiden Linien als Signalgeber zu nutzen. Ein Kaufsignal ist gegeben, wenn der VPT seinen GD von unten nach oben schneidet, ein Verkaufssignal dann, wenn der VPT seinen GD von oben nach unten schneidet.

- Price and Volume Trend (PVT)
- Positive Volume Index (PVI)
- OBV (On Balance Volume)

## Indikator - Negative Volume Index "NVI"

**Beschreibung**

Der Indikator wurde von N. Fosback entwickelt. Er nimmt an, dass die professionellen Anleger an Tagen mit geringen Umsätzen handeln, während sich die uninformierten Anleger an Tagen mit hohen Umsätzen engagieren. Der Indikator ändert seinen Wert nur bei fallendem Umsatz.

**Berechnung**

Bei unverändertem oder höherem Umsatz als am Vortag ändert der NVI seinen Wert nicht. Bei niedrigerem Umsatz errechnet sich der NVI nach folgender Formel:

[![image-1655740142113.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740142113.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740142113.png)

- C..... Schlusskurs
- CVortag...... Schlusskurs des Vortages

**Anwendung**

- Wenn der NVI unter seinem GD40 (40 Tage gleitender Durchschnitt) liegt, ist der Markt von den "Profis" beherrscht.
- Bei einem Anstieg des NVI über seinen GD40 ist mit einem Kursanstieg zu rechnen.
- Bei einem Rückgang des NVI unter seinen GD40 ist mit einem Kursrückgang zu rechnen.  
    Die Aussagekraft des NVI ist sehr unterschiedlich. Nach unserer Erfahrung ist er für Seitwärtsbewegungen ungeeignet. Es empfiehlt sich die Anwendbarkeit des Indikators für die betreffende Aktie in der Vergangenheit zu prüfen bzw. den Indikator nur zur Unterstützung der Aussage anderer Indikatoren einzusetzen.

Siehe auch:

- Price and Volume Trend (PVT)
- Positive Volume Index (PVI)
- OBV (On Balance Volume)

## Indikator - Positive Volume Index "PVI"

**Beschreibung**

Der Indikator wurde von N. Fosback entwickelt. Er nimmt an, dass die professionellen Anleger an Tagen mit geringen Umsätzen handeln, während sich die uninformierten Anleger an Tagen mit hohen Umsätzen engagieren. Der Indikator ändert seinen Wert nur bei fallendem Umsatz.

**Berechnung**

Bei unverändertem oder höherem Umsatz als am Vortag ändert der NVI seinen Wert nicht. Bei niedrigerem Umsatz errechnet sich der NVI nach folgender Formel:

[![image-1656157860048.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157860048.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157860048.png)

- C..... Schlusskurs
- CVortag...... Schlusskurs des Vortages

**Anwendung**

- Wenn der NVI unter seinem GD40 (40 Tage gleitender Durchschnitt) liegt, ist der Markt von den "Profis" beherrscht.
- Bei einem Anstieg des NVI über seinen GD40 ist mit einem Kursanstieg zu rechnen.
- Bei einem Rückgang des NVI unter seinen GD40 ist mit einem Kursrückgang zu rechnen.

**Beispiel**

Die Aussagekraft des NVI ist sehr unterschiedlich. Nach unserer Erfahrung ist er für Seitwärtsbewegungen ungeeignet. Es empfiehlt sich die Anwendbarkeit des Indikators für die betreffende Aktie in der Vergangenheit zu prüfen bzw. den Indikator nur zur Unterstützung der Aussage anderer Indikatoren einzusetzen.

Siehe auch:

- Price and Volume Trend (PVT)
- Positive Volume Index (PVI)
- OBV (On Balance Volume)

## Indikator - Volume Rate Of Change "VROC"

**Beschreibung**

Der Volume ROC-Indikator (Rate of Change = Änderungsrate) beschreibt die relative Änderung des Umsatzes in Prozent. Es ergeben sich daher Schwankungen um Null herum. Im Gegensatz zum ROC erfolgt noch eine Glättung durch einen gleitenden Durchschnitt, um zu starke Schwankungen zu vermeiden.

**Berechnung**

Die Berechnung des Volume ROC erfolgt nach folgender Formel:

[![image-1655740223706.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740223706.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740223706.png)

Umsatzalt..... Umsatz vor 10 Tagen  
GD6..... Arithmetischer gleitender Durchschnitt (6 Tage)

**Anwendung**

- Bei steigenden Kursen sollte auch der Volume ROC steigen bzw. im positiven Bereich bleiben
- Ein rückläufiger Volume ROC bei steigenden Kursen deutet auf eine Trendwende hin (Umsatz geht zurück).

Siehe auch:

- Umsatz

<div class="page-metadata-modification-info css-19x0k3t e2lse4a0" data-test-id="page-main-div" id="bkmrk--4"><div class="css-1t5f1ho e2lse4a2">  
</div></div>

# Volatilität

## Indikator - Standardabweichung "S"

**Formel**

[![image-1655740273844.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740273844.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740273844.png)

Der Indikator macht sich die Erkenntnis der Normalverteilung zunutze, dass sich bei statistischen Ergebnissen stets eine Konzentration um einen Mittelwert ergeben. Mit einer einfachen Standardabweichung lassen sich 70%, mit einer zweifachen 95% alle Kursbewegungen erfassen.

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Je nach Parametereinstellung können sowohl die Enden von langfristigen Trends als auch von kurzfristigen Breakout-Bewegungen angezeigt werden.  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Der Indikator zeigt Trendwechsel beim Erreichen der unteren Extremzone recht zuverlässig an  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Es gibt keine Kauf/Verkaufssignale, sondern nur ob eine Kursbewegung einsetzten kann oder sie vor ihrem Ende steht.  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Bei kurzfristigen Einstellungen lässt der Indikator zuviel Interpretationsspielraum

**Interpretation**

Ein steigender Verlauf steht für eine volatilere, meist trendgerichtete Bewegung der Kurse. Ein niedriger Stand weist oft auf ein baldigen Breakout hin, dagegen zeigt ein Wert in der oberen Extremzone oft ein Wechsel der Trendrichtung an.

## Indikator - 6-100 Historische Volatilität - "HistVol"

**Formel**

[![image-1656157879003.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1656157879003.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1656157879003.png)

Die Volatilität einer 6-tägigen Periode wird ins Verhältnis zu einer 100-tägigen gesetzt. Historische Volatilität wird dabei als Standardabweichung einer logarithmierten Kursveränderung definiert.

Ein niedriger Stand zeigt, dass die Volatilität der letzten 6 Tage im Verhältnis zu den letzten 100 Tage relativ gering ist. Da die Volatilität sich zyklisch verhält, kann man in diesen Fällen von einem baldigen Anstieg ausgehen. Ein hoher Wert deutet darauf hin, dass sich die Kurse kurzfristig zu weit von ihrem Mittelwert entfernt haben.

**Pro&amp;Contra**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Hoher Autokorrelationswert, d.h. eine einmal eingeschlagene Richtung wird beibehalten  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Die Kurve zeigt zwischen 0.6 und 0.8 zu viele Interpretationsspielräume

**Interpretation**

Die Volatilität einer 6-tägigen Periode wird ins Verhältnis zu einer 100-tägigen gesetzt. Historische Volatilität wird dabei als Standardabweichung einer logarithmierten Kursveränderung definiert.

Ein niedriger Stand zeigt, dass die Volatilität der letzten 6 Tage im Verhältnis zu den letzten 100 Tage relativ gering ist. Da die Volatilität sich zyklisch verhält, kann man in diesen Fällen von einem baldigen Anstieg ausgehen. Ein hoher Wert deutet darauf hin, dass sich die Kurse kurzfristig zu weit von ihrem Mittelwert entfernt haben.

## Indikator - Vertical Horizontal Filter "VHF"

**Formel**

[![image-1655740353106.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/scaled-1680-/image-1655740353106.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-06/image-1655740353106.png)

Er determiniert, ob sich die Preise in einer Trend oder Nicht-Trendphase bewegen. Dazu vergleicht er die Summe einer ein-periodigen Rate of Change mit High/Low Range einer bestimmten Periode

**Pro&amp;Contro**

![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Anzeige der Ende sowohl von kurzfristigen als auch von langfristigen Trends je nach Parametereinstellung  
![(Plus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/add.png) Bodenbildungen sind wertvolle Hinweise für Einstiegsstrategien  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) In langfristigen Trendphasen sind die Verlaufsmuster nicht stabil genug  
![(Minus)](https://shareholder.atlassian.net/wiki/s/1390985508/6452/54e101d7235b2d7307c412fdfb4c3bd12f35dd91/_/images/icons/emoticons/forbidden.png) Sehr unruhiger Kursverlauf

**Interpretation**

Richtung bestimmt die Trendart, die Steigungsgrad bestimmt die „Trendiness". Topbildungen oberhalb von 0,4 bzw. 40 signalisieren das Ende des bisherigen Trends und Bodenbildungen unterhalb von 0,2 bzw. 20 deuten auf mögliche Ausbruchsbedingungen hin.

## Indikator - Volatilät der True Range "Wilder (Volatilität)"

**Einführung**

Welles Wilder errechnet mit diesem Indikator eine Art Volatilität auf Basis der True Range eines Tages.

**Aussage**

Die True Range wird in einigen Indikatoren, etwa dem DMI, verwendet, um Tage mit einer geringen Tages-Handelspanne, aber einem großen Abstand zum Vortagesschluss (Gap) korrekt in die Berechnung der Volatilität einfließen zu lassen. Die True Range ist immer positiv und stellt das Maximum der drei folgenden Formeln dar: 1.)Tageshoch heute minus Tagestief heute 2.)Tageshoch heute minus Schlusskurs gestern 3.)Tagestief heute minus Schlusskurs gestern Auf dieser True Range wird ein GD gebildet, wobei Wilder einen einfachen 14-Tage-GD empfohlen hat. Das Ergebnis ist die "Average True Range" (ATR). Die Aneinanderreihung der ATR ergibt den "Wilder´s Volatility". Da die True Range immer positiv ist, ist auch die Wilder´s Volatility immer positiv.  
Formel/Berechnung: 1. Messen der True Range (TR) 2. ATR = MAx (TR) 3. Wilder's Volatility = ATRt + I I = Wilder's Volatility Vortag

**Interpretation**

Die Wilder´s Volatility liefert keine eigenständigen Signale. Ein steigender Indikator-Verlauf signalisiert lediglich eine steigende Volatilität, während ein fallender Verlauf auf eine abnehmende Volatilität hinweist. Chart mit Wilder´s Volatility

- Standardeinstellung: Der GD wird standardmäßig über 14 Tage berechnet.
- Verwandte Indikatoren: 
    - Directional Movement Indikator
    - Chaikin´s Volatility

## Indikator - Notis %V - "VolumeNotisV"

**Einführung**

Der von Steve Notis entwickelte Notis %V Indikator misst zwei Volatilitäten; eine für den Aufwärts-, und eine für den Abwärtstrend, um so durch die Kreuzung dieser beiden Linien Trendwenden zu finden.  
Aussage:  
Die Berechnung der Aufwärts-Volatilität erfolgt durch die Bildung der Differenz zwischen Tageshoch und Tagesschluss. Die Differenz ist so immer größer oder gleich Null. Die Berechnung der Abwärts-Volatilität erfolgt durch die Bildung der Differenz zwischen Tagesschluss und Tagestief. Die Differenz ist so immer größer oder gleich Null. Beide Kurven werden dann in der Regel nochmals mit einem GD geglättet.

**Formel/Berechnung**

+%V = Ht - Ct und -%V = Ct - Lt +%V = Kurve der "Aufwärts-Volatilität" -%V = Kurve der "Abwärts-Volatilität"

**Interpretation**

Im Abwärtstrend steigt gemäß der Notis-Formel die Aufwärts-Volatilität, da die Kurse in der Nähe des Tiefkurses schließen und so die Spanne zwischen Close und High tendenziell höher wird. In Aufwärtstrend gilt genau das Gegenteil. Wenn die beiden Linien sich also schneiden, findet ein Trendwechsel statt. Ein positives Signal ist gegeben, wenn die Aufwärts-Volatilität die Abwärts-Volatilität von oben nach unten schneidet, ein negatives Signal dann, wenn die Aufwärts-Volatilität die Abwärts-Volatilität von unten nach oben schneidet.

- Standardeinstellung: täglich, der GD wird standardmäßig über 14 Tage berechnet.
- Verwandte Indikatoren: 
    - Chaikin´s Volatility

# Tipps und Hinweise

## Mehr als zwei Dutzend Designs stehen zur individuellen Gestaltung zur Verfügung

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/image.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/image.png)

ShareHolder kann individualisiert werden mit eigenen Schriftarten, -größen aber auch komplett eigenen Designs. Diese werden dauerhaft personalisiert eingestellt und stehen auch nach einem Neustart zur Verfügung.

Sie können dabei zwischen mehr als zwei Dutzend Designs auswählen.

Sie finden die Einstellungen im Hauptreiter unter Darstellung in der oberen Toolbar.

## Nachrichten-Ticker und Online-Browser

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/cFximage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/cFximage.png)

Sie können sich Ihre eigenen Nachrichten-Ticker für Ihr Depot, Watchliste oder Marktliste aufbauen. Hier können Sie das Nachrichten-Pannel nutzen. Sie starten dieses über die Iconleiste. Es liegt direkt neben dem Chart-Icon.

Hierbei werden anpassbare Konfigurationen genutzt, die Ziel-Internet-Adressen aufrufen. Diese werden aus dem selektieren Titel generiert z.B. über die ISIN.

  
Achtung: Zur Nutzung der Funktion beachten Sie die Hinweise d.h. es muss Microsoft Edge-Browser (DEV) installiert werden und die aktuellste WindowsSystemdateien.Modul-Datei.

## Transaktionsfilter

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/PfCimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/PfCimage.png)

Sie können in der Transaktionsansicht über den Spaltenkopf mit Klick auf die "..." Punkte einen Filter setzen z.B. auf die Kontenspalte "Comdirect".

Die gezeigten Transaktionen können Sie über die Toolbar mit einem Klick auf "Alle Transaktionen markieren" und mit einem Klick z.B. Löschen.

## Automatische Sicherungen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/AQCimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/AQCimage.png)

In ShareHolder werden eine Reihe von Sicherungsmechanismen genutzt. So werden beim Speichern jeweils bis zu 10 Sicherungs-Varianten als Historie gehalten. Bei der Installation von neuen Modulen oder Programmversionen werden ebenfalls immer Sicherungen angelegt. Beides finden Sie im Datenverzeichnis unter \\Daten\\Backup bzw. \\Daten\\Backup-Install.

## Netzlaufwerke / Dropbox / GDrive - Lösungen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/7G3image.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/7G3image.png)

Die Daten(-banken) für ShareHolder müssen nicht zwingend lokal auf dem Rechner liegen und können auch über eine Dropbox, Netzlaufwerk gepflegt werden. Sie müssen lediglich das Datenverzeichnis dorthin verschieben/kopieren und in den Programmeinstellungen den Pfad anpassen!

## Scripting-Studios kann Bibliotheken nutzen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/jiBimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/jiBimage.png)

Das Scripting-Studio erlaubt das Schreiben von Handelsstrategien. Dabei können auch Berechnungs-Bibliotheken verwendet werden und damit gemeinsam genutzte Routinen aufgebaut werden. Das zugehörige Schlüsselwort hierfür ist "use &lt;Name des Scripts&gt;;". Ein Standardbeispiel hierfür existiert bereits mit "use common;"

## ShareHolder existiert seit 1999 und ist allein privat geführt

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/RwRimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/RwRimage.png)

Die Daten(-banken) für ShareHolder müssen nicht zwingend lokal auf dem Rechner liegen und können auch über eine Dropbox, Netzlaufwerk gepflegt werden. Sie müssen lediglich das Datenverzeichnis dorthin verschieben/kopieren und in den Programmeinstellungen den Pfad anpassen!

## Automatische Ermittlung des optimalen Fonds/ETFs/Zertifikats auf Basis von Wertentwicklung und Risiko

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/6IKimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/6IKimage.png)

Sie können im Handelsstrategie-Studio über die Realtive-Stärke-Strategie in Sekunden nicht optimalen Titel für eine Investition finden, wenn Sie die Wertentwicklung/Momentum des Titels auf langfristiger und mittelfristiger Sicht betrachten und gleichzeitig die Schwankungsbreite des Titels betrachtet haben möchten.

Es wird dabei ein gewichteter Scorewert genutzt und die Liste entsprechend sortiert. Die Top 10 Titel werden dabei in einer eigenen "Investitions-Gruppe" dargestellt.

Beispiele für die Nutzung: Watchliste interessanter Fonds oder Wikifolios und die Suche nach einer guten Investition

Weitere Details unter:

[https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-handelsstrategie-momentum-vola](https://www.shareholder24.de/registrierung-boersensoftware/bestellung-erweiterungen/addon-handelsstrategie-momentum-vola)

## Regelmäßige Bereinigung der Datennutzung durch ShareHolder

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/03Cimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/03Cimage.png)

In ShareHolder werden eine Reihe von Dokumente, Einstellungen und Datenbanken verwaltet. Dabei werden sowohl temporäre Inhalte genutzt, als auch Sicherungen automatisch angelegt.

Über die Entwicklungszeit kann es zudem passieren, dass bestimmte Inhalte nicht mehr genutzt werden. So ist z.B. diese Tipp-des-Tages-Datenbank in einer 1. Iteration als Offline-Datenbank angelegt worden. Durch die Umstellung auf eine Online-Datenbank ist diese nicht mehr notwendig. Da ich bei einem Update nicht automatisch Inhalte löschen möchte, muss hier eine nachträgliche Bereinigung erfolgen.

Sie sollten daher abundzu Ihr System gerne von unnötigen Inhalten bereinigen und hier teilweise mehrere 100MB Speicherplatz sparen.

Sie finden den Punkt unter Extras / Bereinigen.

Der Umfang und Art der Bereinigungen wird zentral gepflegt, kann aber auch manuell geändert werden über die "\\Daten\\Programm.CleanUp.ini"-Konfiguration.

## Pflege des Investitions-und Trading-Tagebuchs bequem aus der Transaktions-Auswertungssicht per Doppelklick

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/dQAimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/dQAimage.png)

Eine Ziel was auch durch ShareHolder unterstützt werden soll, ist die Möglichkeit der Analyse und möglichen Optimierungen für Handels-Entscheidungen (Kauf, Verkauf).

Praktisch wird über das Tagebuch ein freier Kommentar erfasst gemacht und ein klassifizierter Einstiegsgrund angegeben, ebenso wie ein Ausstiegsgrund und die zugehörigen nachträglichen Bewertungen.

Um diesen Prozess zu unterstützen, kann in der Transaktions-Auswertungsansicht per Maus-Doppelklick auf eine abgeschlossene Transaktion in der Spalte "Einstiegsgrund" bzw. "Ausstiegsgrund" direkt die zugehörige Transaktion geöffnet werden.   
Die Anpassungen kann dann unmittelbar erfolgen und werden beim Speichern sofort übernommen.

## Werte in der Statusleiste im Hauptprogramm können per Klick angepasst werden

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/EFFimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/EFFimage.png)

In der Statusleiste werden zwei Werte angezeigt, die intern als "Benchmark-Werte" bezeichnet sind. Mit Klick auf die Werte öffnet sich der Chart.

Die Werte sind nicht statisch hinterlegt und können über das Kontextmenü (r. Maustaste) innerhalb von Detaillisten und auch in Watchlisten jederzeit verändert werden. Hierzu muss lediglich der Titel ausgewählt werden und das Kontextmenü über das Untermenü "Benchmarks" geöffnet werden.

Die Anpassungen werden dauerhaft über die Programm-Einstellungen gespeichert.

## Begrenzung von Verlusten und Absicherung von Gewinne

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/BKnimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/BKnimage.png)

In der Depot-Hauptansicht gibt es einen speziellen Reiter "Stopps" der extrem hilfreich ist, um die aktuellen Depot-Positionen abzusichern.

Dabei gibt es die einfache Sicht zur reinen Verlustbegrenzung (V-erlust) d.h. wieviel verliere ich, wenn alle Verlust-Stopps ausgelöst werden würden.

Betrachte ich auch Stopp-Kurse die bereits im Positiven liegen (Break-Even erreicht), dann kann ich mit G/V beide Gruppen betrachten und einschätzen, was "übrig" bleibt, wenn die Stopps ausgelöst werden würden.

Eine letzte Betrachtung ist die Absicherung der bereits vorhandenen Buchgewinne d.h. den aktuellen Wert. Wieviel "Buchgewinne" verliere ich eigentlich beim Auslösen der Stoppkurse?

## Optimierung der Transaktionskosten durch Prüfung eines Kontowechsels auf Basis der bisherigen eigenen Transaktionen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/EpNimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/EpNimage.png)

Unter Konten können Sie einen Kontenvergleich durchführen. Sind im aktuellen Depot bereits Transaktionen durchgeführt worden, können Sie auf einen Blick einen effektiven und praktischen Kostenvergleich durchführen. Es wird für den Vergleich direkt auf Ihre hinterlegten Transaktionen aufgesetzt. In der letzten Spalte sehen Sie dann errechnten Hochrechnungen.

In der Spalte "Simulation" werden auch Prüfungen vorgenommen, ob im Konto alle von Ihnen gehandelten Titel unterstützt werden. Sie bekommen damit weitere Anhaltspunkte, ob ein Wechsel zu diesem Anbieter möglich wäre.

Es ist damit deutlich realistischer als die häufigen Online-Kontenvergleichs-Portale. Sie können die Gebührenberechnung mit einem eigenen Scipt komplett dynamisch durchführen.

## Sprung direkt zur Transaktion von der Depotansicht heraus per Doppel-Klick

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/llkimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/llkimage.png)

Alle zur aktuellen Depot-Position gehörenden Transaktionen werden nach Aufklappen einer Position dargestellt. Durch Doppelklick auf eine Position, kann direkt die zugehörige Transaktion in der Gesamtliste der Transaktionen angesprungen werden. Anschließend kann bei Bedarf die Transaktion verändert bzw. korrigiert werden. Auch hier wieder durch Doppelklick innerhalb der Baumdarstellung.

## Watchlisten könnnen exportiert und importiert werden

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/JcXimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/JcXimage.png)

Unter dem Hauptmenü Einstellungen / Watchlisten können nach Auswahl einer Watchliste über die gleichnamigen Buttons Watchlisten importiert und exportiert werden.

So können z.B. aus Comdirect die Online-Watchlisten exportiert werden und vollständig per Klick auch in das Programm übernommen werden.

## Wird ein Titel in der Detail-Liste gesucht, werden veränderbare Fundamentaldaten-Profile verwendet

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/9rBimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/9rBimage.png)

Wird ein Titel in der Detailliste bei der Suche nach dem Titelnamen, ISIN, WKN etc. nicht gefunden, wird ein automatischer Abgleich gegen Tai-Pan, Tai-Pan RT und einem Internet-Fundamentaldaten-Profil versucht, um den Titel dennoch "aufzulösen" und automatisch in die Aktienstammdaten zu übernehmen.

Hier wird das Profil "Fundamental-Data-Autoimport.ini" verwendet, was Sie unter Einstellungen / Fundamentaldaten wiederfinden.

Der Umfang und Art der Aktualisierung für die automatische Auflösung der Titel-Stammdaten sind weitgehend anpassbar.

Vorkonfiguriert ist aktuell ein Datenabruf über die comdirect-Website.

## Quartett-Karten-Spiel über ShareHolder mit Fundamentaldaten

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/HA0image.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/HA0image.png)

In ShareHolder können Quartett-Karten erstellt und ausgedruckt werden. Diese beinhalten relevante Fundemental-, Momentum- und Technik- Indikatoren.

Die Auswahl basiert dabei auf den 12 Kern-Indikatoren, die auch für eine Susann-Levermann-Handellsstrategie benötigt werden.

Die Karten werden dabei mit 4 Karten pro DIN-A4-Blatt ausgedruckt.

Auf der Website finden Sie hierfür unter:  
https://www.shareholder24.de/anlage-strategien/aktive-anlagestrategien-value-strategien/susan-levermann-strategie-investitionskarten weitere Details für eine Spiel-Anleitung.

## Optimale Sicherungs-Strategie

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/fAdimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/fAdimage.png)

Wenn Sie eine lebenslange Update-Berechtigung besitzen, brauchen Sie für eine Sicherung von ShareHolder lediglich zwei Inhalte:

\- Ihre Depotdateien (\*.DepotR2-Dateien)  
\- Ihre individualisierten Inhalte (\*.stmc-Dateien)

Die Sicherung können Sie über Extras.Sicherung durchführen oder Sie öffnen über Extras."Öffne Datenverzeichnis" das richtige Verzeichnis und sichern die Dateien einfach manuell.

Der Sicherungsumfang umfasst daher nur wenige Kilobytes an Speicherplatz.

Alle anderen Nutzer sollten alle Installations-Module (\*.MOD) inkl. der Programmversion sichern, sowie das zugehörige Setup-Modul. Mit dem Setup können so auch ohne Updateberechtigung der Stand der Module wieder eingespielt werden. Die Module finden Sie ebenfalls in der letzten Aktualisierungsvariante im Datenverzeichnis!

## Marktlisten als auch Watchlisten für mehrere Titel ändern

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/6pWimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/6pWimage.png)

Sie können über die Titel-Zuordnungen in der Toolbar ein oder mehrere ausgewählte Titel in den zugeordneten Watchlisten oder Markt-Segment-Zuordnungen verändern.

Um mehrere Titel auszuwählen einfach mit gedrückter Shift-Taste oder Strg-Taste die Titel selektieren.

Über das Kreuz (X) können Sie Zuordnungen löschen, durch Klick in die Toolbar und Eingabe der Anfangsbuchstaben wird eine Auswahlliste der Markt-Segmente bzw. Watchlisten angezeigt.

Mit &lt;Enter&gt; wird die Eingabe abgeschlossen bzw. mit der Maus selektiert.

## Sie können die Weiterentwicklung unmittelbar beeinflussen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/2kKimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/2kKimage.png)

Unter Updates / Voting finden Sie eine Auflistung der aktuellen Stories aus dem geplanten Entwicklungsumfang.

Wenn Sie durch Anklicken eines Herzens einem Feature bzw. Thema Ihre Stimme geben, wird für mich sichtbarer, welche Themen Sie wirklich interessieren.

Die Priorisierung in der Weiterentwicklung richtet sich auch nach Ihren Votes.

Sie haben pro Thema eine Stimme (Herz).

## Wofür verwende ich als Entwickler der Börsensoftware die Lösung?

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/o5jimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/o5jimage.png)

Grundsätzlich nutze ich ShareHolder für meine eigene Investitionsentscheidungen. Die Software hat dabei für mich persönlich folgende Mehrwerte, trotz sehr guter alternativer Online-Lösung für einfache Depotverwaltungen:

- Risiko/Money-Management d.h. virtuelle Verwaltung von Stopp-Kursen
- Portfolio-Handling und Übersicht der Entwicklung der Positionen inkl. Charts mit Benchmarking
- Handelsstrategien um eigene Investitions-Gelder optimal zu investieren. Ich verwende dabei sowohl die Momentum-Strategie zur ETF-Sparplan-Auswahl als auch die Susann-Levermann-Strategie für die Einzelauswahl an Aktien für langfristige Investitionen
- News-Panel, um schnell durch weitere Informationen verschiedener Websites pro Titel zu surfen, ebenso wie die Chart-Gallery für einen schnellen Marktüberblick
- Kursprognosen für Echtzeit-Trading. Hierauf baut auch die https://ml-algotrader.com Lösung.

## Die Nutzung der Zugangsdaten für die aktuellen Programmversionen und Updates sind getrennt von denen der Website

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/btPimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/btPimage.png)

In ShareHolder gibt es nicht sofort ersichtlich zwei verschiedene Registrierungen. Die eine ist für die Website und dem Shop, die andere ist für die Nutzung der aktuellsten Programmversionen.

Die Registrierungsdaten der Website sind dabei aus sicherheitsgründen völlig unabhängig von denen der Programmversion.

Die Zugangsdaten für die Programmversion erhalten Sie nach Registrierung per Mail. Bitte achten Sie dabei auf Groß-und Kleinschreibung und Sonderzeichen.

Werden Zusatz-AddOns bestellt, bleiben die Zugangsdaten für Sie immer identisch und unterscheiden sich nicht zur Programmversion.

Kurz: Bitte bewahren Sie die Zugangsdaten für die Website UND für die Programmversionen (Addons) gesichert auf.

## Nutzung von Standard-Stammdaten und individuellen Einträgen sind parallel möglich

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/pHbimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/pHbimage.png)

Grundsätzlich werden zentrale Einstellungen und Stammdaten (Märkte, Börse, Aktualisierungs-Profile etc.) bereitgestellt.

In ShareHolder sollen jedoch bewusst auch eigene individuelle Einstellungen ermöglicht werden, ohne dauerhaft keine neuen Stammdaten-Einspielungen vornehmen zu können.

Sie müssen lediglich unter Einstellungen / &lt;Stammdaten-Einstellung&gt; in den Listendarstellung das Kontextmenü mit der rechten Maustaste öffnen. Dort können Sie dann einen Eintrag auf "individuell" setzen. Diese Einstellung wird damit dauerhaft immer beim Laden "nachgeladen" mit Ihren Einstellungen.

Bei neuen Einträgen wird diese Einstellung automatisch gesetzt. Individuelle Einträge haben immer ein grünen Diamant in der Darstellung.

## Arbeit auf verschiedenen Rechnern vereinfachen mit der Dropbox oder Google Drive Synchronisation

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/huvimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/huvimage.png)

Sie können mittels der Cloud-Synchronisation Ihre Portfolio-Dateien und individuellen Konfigurationen mit einem Klick synchronisieren. Dabei wird die jeweils aktuellste Version lokal oder remote auf dem Cloud-Speicher synchronisiert.

Sie können so auf Ihrem Notebook das Portfolio anpassen und synchronisieren und mit einem Klick auf Ihrem Hauptrechner oder zweiten Notebook mittels Synchronisation den gleichen Datenbestand erzeugen.

Manuelle Datenverschiebungen oder Kopieroperationen sind dabei überflüssig.

Die Synchronisationsrichtung kann dabei auch manuell verändert werden, so dass Sie auch einfach die letzte Version aus der Cloud wiederherstellen können nachdem Sie z.B. versehentlich Daten gelöscht haben.

Unterstützt werden dabei Google-Drive &amp; Dropbox. Die Daten bleiben dabei nur in IHREN Ablagen geschützt. Es erfolgt keine zentralisierte Speicherung!

## Aktualisierung kann nur für die Programmversion oder Modul-Versionen insb. der AddOn's erfolgen

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/KL0image.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/KL0image.png)

Grundsätzlich werden in ShareHolder Aktualisierungen immer über getrennte Module vorgenommen z.B. für Aktienstammdaten, System-Bibliotheken, Programm-Versionen oder Depot-Import-Konfigurationen etc.

Als Nutzer kann ich dabei über Updates / "Aktualisiere Programmversion ... " lediglich die Programmversion &amp; Kern-Module aktualisieren oder einzeln mit inhaltlichem Versionsabgleich alle Module einzlen prüfen und aktualisieren unter Updates / Aktualisiere Module. Um auch bei NUR Programm-Updates abhängige Module wie System-Bibliotheken automatisch bei Bedarf mit zu aktualisieren, wird intern automatisch geprüft ob zwingende Dateien lokal bereits einmalig installiert worden sind oder nachinstalliert werden müssen z.B. für die Nutzung des News-Moduls, Tipp-des-Tages etc. Nachinstallationen werden somit auch bei Programm-Aktualisierungen für System-Bibliotheken, Stammdaten &amp; Depot-Import-Konfigurationen automatisch vorgenommen. Sollten Inhalte überschrieben werden müssen, erfolgt immer zuvor ein Nutzer-Rückfrage.

## News-Browser mit eigenen Bookmark-Konfigurationen und "Direkt-Links"

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/XePimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/XePimage.png)

Sie können über den neuen Microsoft Edge (Chromium) Browser nun auch bequem und ohne Einschränkungen direkt im News-Modul auf konfigurierte Bookmarks zugreifen.

Die Bookmarks nutzen "Direkt-Links" d.h. enthalten Parameter aus dem aktuell ausgewählten Titel z.B. die ISIN des Titels und zeigen damit auf den direkten Inhalte zum Titel. Hier im Beispiel können daher direkt die Finanznachrichten von Alphabet Inc. ohne weitere Navigation des Nutzers genutzt werden. Die Bookmarks werden dabei durch den Nutzer konfguriert und sind sehr leicht anpassbar. Der Zugriff erfolgt direkt über einen eigenen Tab am rechten Rand.

Die Zwischenspeicherung der Inhalte inkl. Cookies erfolgen im Programmverzeichnis von ShareHolder und sind damit unabhängig vom installierten Hauptbrowser. So bleiben Logins &amp; Cookies unabhängig. Die Verwaltung und Verschlüsselung obliegt dabei vollständig beim MS Browser.

## Arbeitsplatz adhoc verstecken

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/HQqimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/HQqimage.png)

Sie können mittels ShortCut "&lt;Strg&gt;&lt;Umsch&gt;&lt;V" ShareHolder das Programm in sehr kurzer Zeit verstecken. Mit der gleichen Tastenkombination können Sie dann das Programm wieder "anzeigen".

Es verschwindet dabei auch aus der Taskleiste und es ist nur noch im Taskmanager sichtbar.

Idee ist es "neugierige" Blicke in kurzer Zeit Adhoc zu unterbinden.

## ShareHolder-Sicherungen sind selbstentpackend und können den kompletten Datenbestand per Klick rekonstruieren

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/Ahgimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/Ahgimage.png)

Datensicherungen in ShareHolder sind hochindividuell und basieren auf einem komprimierten Package-Gedanken d.h. ich sammle alle Datendateien zur Sicherung und mache diese anschließend selbstausführend. Damit wird als eine ausführbare Datei (EXE) erzeugt, die im ZIP-Format die Dateninhalte enthält.

Für spätere Rückspielungen benötigen Sie daher nur Ihren Registrierungs-Schlüssel und können damit das Setup einmal ausführen für die Basis-Installation. Anschließend können Sie Ihre Sicherung einmal starten und zurückspielen. Dies wars und Sie können dort weitermachen wo Sie aufgehört haben.

## Datennutzung und Surf-Vehalten anonymisieren

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/y7Oimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/y7Oimage.png)

Nicht alle News-und Kursdaten-Portale sehen eine aktive und regelmäßige Nutzung sehr gerne. Einige sperren auch aktiv den Datenverkehr nach einer Mindestanzahl von Abrufen (z.B. ARIVA).

Sie können daher in ShareHolder VPN-Proxies konfigurieren. Diese verschleiern das Nutzungsverhalten hinter sogenannten Proxy-Servern.

In ShareHolder sind hierfür bereits Proxy-Adressen vorkonfiguriert für PrivateVPN und müssen nur in den Programmeinstellungen aktiviert werden. Sie müssen sich dabei einmalig unter PrivateVPN anmelden und Ihre Kenndaten unter User/Password hinterlegen.

## Keine weiteren Tipps

[![image.png](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/scaled-1680-/ZqIimage.png)](https://www.shareholder24.com/wiki/uploads/images/gallery/2022-09/ZqIimage.png)

An dieser Stelle gibt es für Sie zunächst keine weiteren Tipps. Sie haben bereits alle vorhandenen Einträge gesehen.

Die Tipps werden regelmäßg online aktualisiert mittels einer von mir gepflegten Online-Tipp-Datenbank.

Schauen Sie daher gerne hier abundzu rein. Es wird über die Programmeinstellungen gespeichert, was Ihr letzter gelesener Eintrag gewesen ist, so dass Sie sofort auf eventuelle neue Tipps stoßen werden.