[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 334
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Boris, wenn Sie eine der Bedingungen in int GetGeneralSignal() auskommentieren, ist die Öffnung klar.
Ich habe sie aufgespürt. Das Kennzeichen ändert seinen Wert nicht, wenn die Rentabilität der derzeit offenen Aufträge im Minus ist. Hier ist die umgeschriebene Funktion, die die Short- und Long-Flags auf false setzen soll, d.h. die Eröffnung einer Position verbietet, wenn es Minus-Orders gibt:
Die aufrufende Funktion ist diese:
Vielleicht sind die Bedingungen für die Bai besser geeignet? Ehrlich gesagt, werden heute nur Verkäufe eröffnet, weil der Euro sehr schwach fällt, aber trotzdem ist etwas besser als nichts!
Nein. Das Signal wird in int GetGeneralSignal() geschrieben und funktioniert eindeutig. Das Signal ist primitiv, ich habe es nur für den Test genommen. Wenn PCI die obere Grenze überschritten hat - kaufen, und wenn die untere Grenze - verkaufen. Ich selbst verwende keine Indizes, aber ich habe beschlossen, dies nur als Experiment zu überprüfen.
So, das war's. Ohne Flaggen funktioniert alles perfekt. Bei Flaggen ist das nicht der Fall. Wenn die Funktionint FindOrders(bool&long,bool&short) einen Auftrag des angegebenen Typs enthält und sein Gewinn unter Null liegt, muss meine Funktion gemäß dem Verweis auf die Funktion GetGeneralSignal() einem bestimmten Flag den Wert false übergeben, aber in Wirklichkeit zeigen die Flags immer true:
Ich kann es im Drucker sehen, aber es ist nicht klar, warum sich die Flagge nicht ändert.
Übrigens, ich habe die Rentabilität der Aufträge im Druck dargestellt:
Und beim Drucken der Werte der Flaggen wird dies angezeigt:
D.h. es ist klar, dass, wenn die Rentabilität unter Null liegt, das entsprechende Flag auf false gesetzt werden sollte, aber das passiert nicht... Alles scheint elementar zu sein, aber irgendetwas ist nicht in Ordnung.
Nein. Es gibt ein Signal in der Funktion int GetGeneralSignal(), das gut funktioniert. Das Signal ist primitiv, ich habe es nur für den Test genommen. Wenn PCI die obere Grenze überschritten hat - kaufen, und wenn die untere Grenze - verkaufen. Ich selbst verwende keine Indizes, aber ich habe beschlossen, dies nur als Experiment zu überprüfen.
So, das war's. Ohne Flaggen funktioniert alles perfekt. Bei Flaggen ist das nicht der Fall. Wenn die Funktionint FindOrders(bool&long,bool&short) einen Auftrag des angegebenen Typs enthält und sein Gewinn unter Null liegt, muss meine Funktion gemäß dem Verweis auf die Funktion GetGeneralSignal() einem bestimmten Flag den Wert false übergeben, aber die Flags enthalten immer true:
Ich sehe es im Druck, aber ich verstehe nicht, warum die Flagge nicht wechselt.
Ich kann es im Druck sehen, aber warum sich die Flagge nicht ändert, ist nicht klar.Der Tippfehler wurde korrigiert.
Hier ist ein Bildschirmfoto:
Sie können auf dem Diagramm sehen, dass die Bai im Minus ist und die Flagge = TRU sowieso.
Ich habe Mitleid mit Ihnen! Ich schreibe Ihnen, wie es ohne Schleifen funktioniert, die durch Funktionen verlangsamt werden! Hier ist Ihr Code, aber was soll ich daraus machen?
Dieses Schema ist krampflos und wirkt sofort! Verzichten Sie auf unnötige Funktionen! Die Funktion ExistPositions() finden Sie unter Nützliche Funktionen der lieben Kim!Ich habe Mitleid mit Ihnen! Ich schreibe Ihnen, wie es ohne Schleifen funktioniert, die durch Funktionen verlangsamt werden! Hier ist Ihr Code, aber was soll ich daraus machen?
Dieses System ist einfach und funktioniert sofort! Verzichten Sie auf unnötige Funktionen! Die Funktion ExistPositions() finden Sie unter Nützliche Funktionen von Kim!Boris, die FunktionExistPositions hatdie gleiche Schleife, nur hat sie mehr unnötige Prüfungen, so dass es nicht träge auf dem Weg sein wird. Ihre Logik ist mir klar, aber der Grund für die Inoperabilität der vorherigen Version wurde nicht genannt, was seltsam ist :)
Sie verwenden auch diese Flaggen:
Und ich habe gezeigt, dass sie nicht richtig zurückkommen.
Auch hier gilt: Wenn die Variablen profitL und profitS in dieser Funktion vorhanden sind, werden die Flags nicht benötigt.
So war es dann auch:
Auch hier öffnet es sich nicht auf Signal, sondern auf was auch immer.
änderte es in...
Jetztwird derAbschlusslevelnicht geändert, wenn der Gewinn steigt...
Ich habe es bereits herausgefunden.
Boris, die FunktionExistPositions hat die gleicheSchleife, aber es gibt mehr unnötige Prüfungen, so dass es nicht träge auf dem Weg sein. Ihre Logik ist mir klar, aber der Grund für die Inoperabilität der vorherigen Version wurde nicht genannt, was seltsam ist :)
Sie verwenden auch diese Flaggen:
Und ich habe nachgewiesen, dass sie nicht korrekt zurückgegeben werden.
Auch hier gilt: Wenn die Variablen profitL und profitS in dieser Funktion vorhanden sind, werden die Flags nicht benötigt.
So hat es sich ergeben:
Auch hier öffnet es sich nicht durch ein Signal, sondern durch was auch immer.