Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 198
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
Guten Tag.
Bitte teilen Sie uns mit, wie das Folgende umgesetzt werden kann:
Der Preis bewegt sich zwischen 1,9047 und 1,9080 (Zahlen sind willkürlich). Wenn sich der Eröffnungskurs der nächsten Kerze aus diesem Bereich herausbewegt - geben Sie einen Alarm aus. Wenn nicht, warten Sie auf die nächste Kerze. Und so weiter, bis der Preis die Spanne verlässt.
Ich danke Ihnen im Voraus.
Hier ist ein Stück Code, dessen Daten dann für die Analyse verwendet werden:
d.h. weiter wird der Code wie folgt aussehen:
Und hier stellt sich die Frage: Wie und wo sollen wir sie unterbringen? Innerhalb der Bedingung werden keine Warnmeldungen gedruckt, außerhalb der Bedingung werden die Warnmeldungen bei jedem Tick gedruckt.
Ich entschuldige mich für meine falsch formulierte Frage.
Hier ist ein Stück Code, dessen Daten dann für die Analyse verwendet werden:
d.h. weiter wird der Code wie folgt aussehen:
Und hier stellt sich die Frage: Wie und wo sollen wir sie unterbringen? Innerhalb der Bedingung werden keine Warnmeldungen gedruckt, außerhalb der Bedingung werden die Warnmeldungen bei jedem Tick gedruckt.
Ich entschuldige mich für meine falsch formulierte Frage.
Danke, ich habe das Problem gelöst. Hier eine weitere Frage: Die Alarme werden nun ab einem bestimmten Zeitintervall und bei Überschreitung des Bereichs bis zum "Stop" generiert. Gibt es eine Möglichkeit, diese "Suche" zu beenden, wenn der erste Wert die Bedingung erfüllt?
Nun, Sie müssen die wichtigste Bedingung verstehen, die immer und über einen bestimmten Zeitraum hinweg gilt. Zum Beispiel der Vergleich von Zeiten. Nachdem Sie alle Warnungen ausgegeben haben, müssen Sie der Variablen, mit der Sie die aktuelle Zeit vergleichen, einen neuen Wert zuweisen. Suchen Sie nach einer Funktion, die einen neuen Balken definiert. Das Konzept seiner Konstruktion sollte Ihnen helfen.
Haben Sie es hier gelesen?
Woher weiß ich, wie weit ich vom Markt entfernt sein muss, um einen schwebenden Auftrag zu platzieren?
Woher weiß ich, wie weit ich vom Markt entfernt sein muss, um einen schwebenden Auftrag zu platzieren?
int level=MarketInfo(Symbol(), MODE_STOPLEVEL);
Wenn das StopLevel Null ist, dann ist höchstwahrscheinlich level=MarketInfo(Symbol(), MODE_SPREAD)*2;
Alpari verwendet definitiv die Doppelseite als StopLevel.
Um die Entfernung zu bestimmen, lesen Sie hier.
Vielen Dank an artmedia70:
OK, lange Zeit keine Antwort, ich gebe Ihnen einen Tipp: Wenn die Funktion isCloseLastPosByStop () den Wert true zurückgibt, geben Sie einen weiteren Wert zurück, nämlich die Losgröße der letzten gefundenen Position.
Was ist zu tun? Übergeben Sie der Funktion eine Variable per Verweis, in die Sie die Losgröße in der Funktion selbst schreiben werden. Dazu müssen Sie die Funktion isCloseLastPosByStop () leicht abändern
Wenn Sie etwas nicht verstehen, suchen Sie nach einer Funktion, die die Losgröße der letzten geschlossenen Position zurückgibt. Oder Sie können sie selbst herstellen. Und verwenden Sie es, aber das ist kostspieliger als die Übergabe des Loswerts zusammen mit true
Ich habe die Funktion so geändert, dass anstelle der Funktion True eine Variable Lot zurückgegeben wird, in die die Funktion selbst die Größe des Lots geschrieben hat.
Alles wird kompiliert, aber die Aufträge werden nicht geöffnet:
2013.10.23 20:57:46 2011.02.24 16:25 GMT EURUSD,M5: OrderSend Fehler 4051
2013.10.23 20:57:46 2011.09.22 22:20 MITTWOCH EURUSD,M5: Ungültige Losgröße für OrderSend-Funktion
Bitte sagen Sie mir, was mein Fehler ist.
Ich danke Ihnen.
Ich habe die Funktion dahingehend geändert, dass die Funktion anstelle von True eine Variable Lot zurückgibt, wobei ich die Lotgröße in die Funktion selbst geschrieben habe.
Alles kompiliert, aber die Aufträge werden nicht im Journal geöffnet, sagt:
2013.10.23 20:57:46 2011.02.24 16:25 PM EURUSD,M5: OrderSend Fehler 4051
2013.10.23 20:57:46 2011.09.22 22:20 MITTWOCH EURUSD,M5: Ungültige Losgröße für OrderSend-Funktion
Bitte teilen Sie mir mit, was mein Fehler ist.
Ich danke Ihnen.
Die Funktion, die die letzte geschlossene Position durch Stop bestimmt, hat den Typ bool, während Sie versuchen, den Typ double zurückzugeben. Dementsprechend gibt sie entweder 0 oder 1 zurück.
Ich habe geschrieben, dass wir die Übergabe einer Variablen per Referenz hinzufügen sollten:
Prüfen Sie jetzt zum Beispiel den letzten Buy:
Etwa so...