neues Problem: Nach Hinzufügen des Parabolic SAR Indikators kein Livetrading möglich - obwohl in der Simulation alles sauber läuft - Seite 4
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
Du hast quasi den index 0 auf den letzten wert stehen lassen.
das gleiche wäre wenn du gleich den wert 1 aus dem array nimmst
Wie meinst Du das? Wie würde der Code dann aussehen? Meinst Du das?
Damit funktioniert es nicht.
Ergänzung: Im Livetest zeigt sich, das es mit der IsNewBar Time Funktion nicht geht. Seltsam. Mit der oben geposteten Version klappt es.
Wie meinst Du das? Wie würde der Code dann aussehen? Meinst Du das?
Damit funktioniert es nicht.
Ergänzung: Im Livetest zeigt sich, das es mit der IsNewBar Time Funktion nicht geht. Seltsam. Mit der oben geposteten Version klappt es.
In deiner version nimmst du die arrays bevor du die isnew bar aufrufst, das heist, er hat schon einen wert gespeichert, der muss nicht genau bei isnewbar auftreten.
array index 0 bedeutet die aktuelle kerze, also bei isnewbar genau die jetzige, und da muss der wert gerade passen
In deiner version nimmst du die arrays bevor du die isnew bar aufrufst, das heist, er hat schon einen wert gespeichert, der muss nicht genau bei isnewbar auftreten.
array index 0 bedeutet die aktuelle kerze, also bei isnewbar genau die jetzige, und da muss der wert gerade passen
@ amando: Du hast vollkommen Recht.
Noch eine Ergänzung: Damit funktioniert es jetzt auch, sieht das für Euch okay aus? Oder was kann man daran noch optimieren?
@ amando: Du hast vollkommen Recht.
Oder was kann man daran noch optimieren?
Dreisprachige Kommentare …pfui :-)
Dreisprachige Kommentare …pfui :-)
Hallo zusammen,
bei meinem aktuellen Code wird nur dann ein Trade eröffnet, wenn der alte zuvor geschlossen wurde. Da ich aber gerne hätte, das immer dann ein Trade eröffnet wird, wenn die Signale stimmen, muss ich was an der Zeitfunktion ändern.
Dabei besteht immer noch das alte/neue Problem aus den vorherigen beschriebenen Seiten.
Interessant ist, das nur die Crossing Bedingung bei dem nachfolgenden Code ignoriert wird, die ich aktuell auskommentiert habe: ((ADXWert>=setADX) && (ArrayDpl[0] > ArrayDmi[0]) /*&& (ArrayDpl[1] < ArrayDmi[1])*/))
Also wenn die D+ Kurve beim ADX über der D- Kurve ist, klappt es mit dem obigen Code.
Das ist der Code, bei dem das Crossing zwischen D+ und D- funktioniert: (Hierbei wird aufgrund der Bedingung in der if-Anweisung: PositionsTotal()<1, nur ein Trade eröffnet, und wie oben beschrieben, ein zweiter Trade erst dann eröffnet, wenn der erste geschlossen ist.)
Wie kann ich das mit dem Crossing zwischen D+ und D- lösen?
Ich wäre für Ratschläge sehr dankbar.
Besten Dank vorab für Eure Hilfe, langsam verzweifele ich ein wenig ;)
Paul
So ich hab das Problem lösen können. Falls jemand an der Lösung interessiert ist, so sieht die bei mir jetzt aus. (Verbesserungsvorschläge sind jederzeit gern gesehen ;) )
Ja , wenn du die CTrade nutzt ,ersetze doch alles andere auch durch die Standard-Klassen.
CSymbol z.b.
Den Ask würde ich immer direkt vor trade.buy ermitteln .
Den kannst du auch weglassen CTrade ermittelt den selber. Ist aber Geschmacksache.
Ja , wenn du die CTrade nutzt ,ersetze doch alles andere auch durch die Standard-Klassen.
CSymbol z.b.
Den Ask würde ich immer direkt vor trade.buy ermitteln .
Den kannst du auch weglassen CTrade ermittelt den selber. Ist aber Geschmacksache.
Da ich gerade am erlernen von MQL5 bin, meinst Du mit den weiteren Standard-Klassen das hier?
https://www.mql5.com/de/articles/481
Das kann ich natürlich einbauen, soweit ich das gesehen habe, brauche ich nur den Code in die onInit zu kopieren.
Danke für den Tipp mit dem Ask Preis, ich habe die Ermittlung jetzt direkt vor trade.Buy gesetzt. Jetzt habe ich aber leider ein neues Problem: Nach der Integration des SAR-Parabolic Indikators wird leider kein Trade eröffnet. Der Bot soll einen Trade dann eröffnen, wenn der ADX-Wert größer als der eingestellte ADX Wert ist, und wenn es ein Crossing zwischen D+ und D- gegeben hat und zu guter Letzt wenn der Punkt der Parabolic unter der Kerze erscheint.
Kann mir bitte jemand weiterhelfen? Vielleicht seht Ihr ja den Fehler....
Besten Dank vorab für Eure tolle Unterstützung und viele Grüße
Paul
Da ich gerade am erlernen von MQL5 bin, meinst Du mit den weiteren Standard-Klassen das hier?
https://www.mql5.com/de/articles/481
Ja genau, der Vorteil ist, wenn du die Klassen nutzt, kannst Du dich voll auf die Logik der Trades konzentrieren.
Ich sehe oft wie sich Anfänger mühselig mit einer Trade Eröffnung herumärgern.Tage.. monatelang.... aber gar nicht das eigentliche Lernen.
Die Klassen machen vieles sehr einfach. Später kannst Du auch mal dahinter schauen was da wirklich passiert.