Anzahl der Magicnummern prüfen
Hallo,
ich habe einen EA der mehrere Positionen anhand der Magicnummern in einem Markt verwaltet. Nun kann es mitunter passieren, dass ich vergesse dort eine Magicnummer einzutragen - was sich natürlich negativ auf das Trading auswirkt. Daher suche ich eine Formel, die mich warnt, wenn ich eine Magicnummer vergessen habe. Ich hatte mir das so vorgestellt (natürlich bin ich auch für andere einfache Lösungen dankbar) Es werden die Anzahl der Orders mit der Anzahl der Magicnummern verglichen. Weicht diese ab, gibts eine Warnung: 1.SCHRITT Eine Formel die alle geöffneten und Pending Orders des Marktes zählt das habe ich schon geschafft mit Code:
int count_order() Code:
Comment(" count ",Symbol()," = ",count_order()); 3. SCHRITT Die beiden Zahlen miteinander vergleichen. Weicht diese Anzahl ab, gibt es eine Warnung!=> Wie mache ich das ?? Herzlichen Dank für die |
Habe SCHRITT 3 auch gelöst mit:
Code:
int FehlerMagicnumber=count_order()-AnzahlMagicNummern; Das geht aber doch auch eleganter - oder? |
Das zählen war zwar ein schöner Ansatz. Abschließend habe ich es aber so gelöst :
oben in der Eingabe Code:
int count_order() Code:
//------------------------ Schön, dass man hier im Monolog zu Ergebnissen kommt :rolleyes: |
Dann will ich den Monolog mal durchbrechen.
Die erste und entscheidende Frage. die ich mir stelle ist, warum vergibt man für jede Order eines Handelsinstruments eine separate MagicNumber? Oder habe ich da etwas falsch verstanden? Mal abgesehen davon wurde countMagic20 als int deklariert, dann sollte man auch nicht if(!countMagic20 ...) verwenden, was bei einer bool-Deklaration verwendet werden würde. Der Code ist auch nicht nachzuvollziehen, da die Herkunft von MagicNumber20 unbekannt ist. Warum wird hier mit 17 verglichen? count_order()>17 Was würde passieren, wenn es weniger als 18 Orders wären? Aber ich denke, der Schlüssel zur endgültigen Lösung liegt in der Beantwortung der Eingangsfrage. Man sollte unter bestimmten Umständen durchaus unterschiedliche MagicNumbers vergeben, aber darauf komme ich zurück, wenn die Frage beantwortet wurde. traderdoc |
Hallo traderdoc,
ganz herzlichen Dank für die Antwort. Du hast natürlich recht. Das Teil läuft noch nicht so wie ich es mir vorgestellt habe. Warum diese Vorgehensweise? 1,. Ich habe eine Strategie, die leider (noch) nicht voll automatisierbar ist. 2. Somit werden die Positionen nach bestimmten Regeln eröffnet. Nur der Ausstieg wird dann über einen EA verwaltet. 3 Um aber sicherzustellen, dass alle Magicnummern - also alle Positionen auch korrekt übernommen wurden, benötige ich eine Kontrolle. Ich lese diese über den HistoryExport aus und füge diese dann in den EA ein. => Im EA soll aber dann nochmal geprüft werden, ob der EA alle Positionen und deren Magicnummern auch erfasst hat. IDEEN 1. IDEE: Zuerst habe ich überlegt dies über die Anzahl zu regeln, also grob, die Anzahl der Trades zu zählen und dann diese Zahl mit der Anzahl der Magicnummern zu vergleichen. PROBLEM: Wenn eine Magicnummer falsch geschrieben wurde werden diese nicht erfasst. 2. IDEE In der neuen Lösung habe ich nun geschaut, ob die Magicnummern auch tatsächlich in Trades zu finden sind. PROBLEM: So wie ich das gelöst habe, kommt es zu Fehlermeldungen, wenn einzelne Positionen geschlossen werden, also diese Magicnummern verschwinden. D.h. dieser Teil hier ist noch nicht so elegant.... Code:
//------------------------ Die Idee mit Code:
!countMagic23&&count_order()>20 |
....count_order()>20 ist käse
Da hast Du recht. Aber stehe auf dem Schlauch und brauche eine andere "Kontrollregel" die mir sagt, wenn die Magicnummer nicht vergeben ist und die NICHT zu einer Fehlermeldung führt wenn der EA im Betrieb ist und eine Position geschlossen wird ! DENN DAS IST das Problem im Moment ! |
Und warum können nicht alle Orders eines Handelsinstrumentes diesselbe MagicNumber haben?
traderdoc |
weil unterschiedliche Stops, unterschiedliche Regeln usw.
|
...ich packe die Abfrage je Magicnummer glaube ich in die int init()...
:) |
Zitat:
Aber um es mal kurz zu machen. So richtig sehe ich in Deinem System nicht durch. Es wäre daher sehr hilfreich, wenn Du nochmals mit ganz kurzen prägnanten Sätzen formulierst, wo die Orders herkommen, wann wo eine MagicNumber und welche gesetzt wird und an welcher Stelle Du wann die MagicNumbers überprüfen willst. traderdoc |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum