Hallo
Die Ausführungen von wiwu machen durchaus Sinn, so kann man auf *einer* Maschine mit "offiziellen Mitteln" seine Investox Instanzen managen.
Ich verwende jedoch Investox nicht nur auf einer Maschine, sondern mehreren. Daher klappt der Ansatz so nicht mehr gut.
Da ausserdem die Hauptinstanz blockiert ist um mit der Instanzverwaltung zu arbeiten, wenn man darin z.B. gerade Indikatoren entwickelt (je nach Underlying mehr oder weniger lang), mache ich das anders.
Zunächst gehen wir von der Beschreibung der Kataloge aus, wie sie in der aktuelle 7.x Online Dokumentation von Investox aufgeführt wird:
Titelverwaltung
Seit vielen Investox Releases gehören diese Kataloge zusammen (ich kann natürlich nicht garantieren, dass es in Zukunft auch so ist, aber aktuell ist es so, zumindest in dem Umfang, in dem ich Investox nutze):
TitelDef
TitelKataloge
Berechnungstitel
Also verwalte ich meine Titel-Kataloge in Instanz "01 - Titelverwaltung", um sie nach Änderungen via einem simplen Script (ich verwende eingfach robocopy, dazu müssen natürlich alle URLs lokal verfügbar sein, d.h. alle VPNs müssen connected sein) auf alle Instanzen der aktuellen Masachine und der weiteren Maschinen in meinem Netzwerk zu verteilen. Ein Klick auf das Verteile-Icon, zack überall verteilt.
Eine andere Maschine, welches diese Kopien ebenfall erhält, ist meine Instanz "01- Backupmaster Titelverwaltung". Sollte die Maschine im Master-Rechenzentrum ausfallen, verwalte ich die Titel eben von hier und verteile das Zeug.
Ah, wichtig, man muss dann natürlich auf allen verteilten Rechnern die selbe File-Struktur erschaffen, damit das so kopierte Titelverzeichnis nicht ins Leere greift. Da die Möglichkeiten je Rechner im Netzwerk und in den Rechenzentren unterschiedlich sind, mappe ich mir das über reale Pfade und LAN Links jeweils so zusammen, dass Investox überall die gleiche Filestruktur zu sehen glaubt. Master is hier RTT, das muss wegen dem Timing direkt auf eine lokale Platte / SSD schreiben, ohne umweg über einen LAN Map; solche einen Pfad kann man sich jedoch dann per \\localhost in ein Windows LW: reinmappen, da haben ich noch keine Timing Unterschiede später im ORM festgestellt. Aber, das ist eine lange, andere Geschichte.
Indikatoren
Man könnte diese Dateien auf die selbe Weise im Netzwerk herumkopieren, wie die Titel:
IndiKataloge
AnwenderIndi
IndiParameter
Habe ich schon so gemacht und das scheint dann auch alles mitzunehmen.
(Ah, gerade sehe ich, dass Herr Knöpfel oben noch einige Dateien ergänzt hat wie die InvPara.ini, diese Dateien also bitte in die Betrachtung einbeziehen!)
Mache ich aber nicht so. Stattdessen verwende ich eine zweistufigen Ansatz, um meine vielen Instanzen klein und überschaubar zu halten:
1) ich speichere alle Indikatoren auf meinem File-Server als Export, sobald sie fertig entwickelt sind. Diesen Export verteile ich auf alle File-Server, pro Rechenzentrum gibt es einen (so habe ich auch das Problem gelöst was ist, wenn ein Rechenzentrum abbrennt; selbes Prinzip verwende ich übrigens auch heutzutage für ganze Projekte.
In früheren Postings habe ich z.B. hier noch erwähnt, dass ich SwissVault verwende (heute siehe den Link
hier, die Mädels haben sie um-benamst in mount10.ch), aber mit verteilten Rechenzentren halte ich dies nicht mehr für nötig)
2) brauche ich auf einer meiner Maschinen eine neue Instanz, clone ich sie aus einer vorhandenen, egal ob von der selben Maschine oder einer anderen, in dem ich schlicht das ganze Investox Instanz Direktory unter neuem Namen ans betreffende Ziel kopiere und in die jeweilige Haupt-Instanz einhänge.
2a) Als Quelle dient eine Instanz, deren Einstellungen dem gewünschten Zweck am nächsten kommen, in Bezug auf Backtest- oder Realtime Settings, Kataloge, Leistungsschemen usw., dann wird die Instanz im Ziel entsprechend zurechtgebogen, ORM Settings und ggf. auch die Indikatoren, welche ein Projekt benötigt, vom File-Server nachgeladen per simplen Investox Indikatoren Import
Wichtig: Alle beteiligten Instanzen müssen bei der Verteilerei (egal ob robocopy oder cloning) gestoppt sein. Die Quell-Instanz, um sicher zu sein, dass die entsprechenden .dat Dateien konsistent auf die Platte zurückgeschrieben sind, die Ziel-Instanzen, damit sie damit korrekt aufstarten!
Auch noch wichtig: wenn man eine Instanz auf die produktive Umgebung clont und dann die neue Investox-Instanz einfach so ohne Nachdenken startet - keine gute Idee. Sie wird mit ihren bisherigen Settings einstarten und möglichwerweise unmittelbar Trades aus der ge-clonten Instanz in den Markt legen. DAS ERSTE AUFSTARTEN EINER GE-CLONTEN INSTANZ IN DER PRODUKTION *NIE* DIREKT AUSFÜHREN !!! Man muss das a) entweder machen, wenn die Maschine nicht an den Broker connected ist. Oder b) wenn es zu Börsenhandelszeiten erfolgt, in dem man einen Link anlegt für die Investox-Instanz und als Parameter z.B. "nix.inv" mit gibt (vorausgestzt man hat kein Projekt namens "nix" auf der Platte). Dadurch kommt die neue Investox Instanz hoch, ohne Chance, die in der alten als Vorlage verwendeten Umgebung bekannten Projekte einzustarten! So kann man dann in aller Ruhe die neue Instanz anpassen
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Bernd« (15. Februar 2016, 15:27)