StoppLoss - HighLow Last n Bars mit SL_Min und SL_Max

 

Hallo liebe Prog-Freunde,

ich bin gerade dabei einen Code zu schreiben, für eine neue StoppLoss Variante für mein vollautomatisches Handelssytem.

Die Idee ist nicht neu und ich glaube ich habe auch nur einen kleinen Fehler, aber sehe Ihn nicht bzw. komme absolut nicht weiter. Deshalb würde ich mich freuen, wenn ihr euch den Code mal anschaut.

Wie das manchmal so ist. Ich habe auch schon zig Varianten versucht, aber kein Erfolg gehabt.

Das Problem ist, sobald ich die Regeln für SL_MinPoints und SL_MaxPoints dazunehme, setzt er immer den StoppLoss auf SL_MinPoints, deaktiviere ich diese Vorgaben(SL_MinPoints + SL_MaxPoins), wird StoppLoss einwandfrei gesetzt.

Regel open Buy: SL = Lowest Close last n bars, ist der SL kleiner als SL_MinPoints = Sl_MinPoints, ist SL größer als SL_MaxPoints = SL_MaxPoints.

natürlich das ganze auch andersherum für Short Positionen.

- gelöscht-



Die Hilfe bzw. der Gedanke war dann doch hilfreich und prompt die Lösung gefunden :)

Besten Dank

Beste Grüße Deaken

 
  1. Erst einmal herzlich willkommen und viel Glück - aber ;)
  2. Für Code verwende bitte das Format dazu (CTRL-S, oder die Button |</>|) - ich hab's diesmal für Dich gemacht.
  3. MT4/MQL4-Fragen gehörne in den untersten Thread - ich werde ihn späte verschieben.
  4. Hast Du die Fehlerlogs kontolliert (Expert & Journal)?
  5. Hat der Compiler keinen Fehler angezeigt den Point ist nirgends deklariert.
  6. Wenn Du bereits den Verdacht hast, dass eine Variable nicht den Wert hat, den Du erwartest, dann wäre der Debugger (Editor F5) das Mittel der Wahl, aber auch Print89 oder Comment()
  7. Übrigens, wenn Du im Editor den Kursor auf auf eine Funktion stellst und F1 drückst bist Du gleich da, wo Du viele Antworten findest,
  8. Oben rechts gibt es eine Lupe zum Suchen, weil es fast nichts gibt, was es für MT4/5 nicht bereits be- und geschrieben wurde - zur Not hilft auch Prof. Dr. Google ;)
  9. 5., 7. und 8. liefern viel schneller Resultate als eine Frage hier im Forum!
 
Carl Schreiber:
  1. Erst einmal herzlich willkommen und viel Glück - aber ;)
  2. Für Code verwende bitte das Format dazu (CTRL-S, oder die Button |</>|) - ich hab's diesmal für Dich gemacht.
  3. MT4/MQL4-Fragen gehörne in den untersten Thread - ich werde ihn späte verschieben.
  4. Hast Du die Fehlerlogs kontolliert (Expert & Journal)?
  5. Hat der Compiler keinen Fehler angezeigt den Point ist nirgends deklariert.
  6. Wenn Du bereits den Verdacht hast, dass eine Variable nicht den Wert hat, den Du erwartest, dann wäre der Debugger (Editor F5) das Mittel der Wahl, aber auch Print89 oder Comment()
  7. Übrigens, wenn Du im Editor den Kursor auf auf eine Funktion stellst und F1 drückst bist Du gleich da, wo Du viele Antworten findest,
  8. Oben rechts gibt es eine Lupe zum Suchen, weil es fast nichts gibt, was es für MT4/5 nicht bereits be- und geschrieben wurde - zur Not hilft auch Prof. Dr. Google ;)
  9. 5., 7. und 8. liefern viel schneller Resultate als eine Frage hier im Forum!

Hallo Herr Schreiber,

vielen Dank erstmal und ich entschuldige mich für die Umstände und bin ehrlich, wusste jetzt nicht ganz genau wie ich im Forum was machen muss, da ich zum erstenmal den Weg hier suche.

Natürlich habe ich schon nach ähnlichen Artikeln hier und im Netz gesucht, hat mir aber in meinem Beispiel überhaupt nicht weitergeholfen.

Comments, Debugger, Print usw. zeigen keine Fehler.

Point ist eine globale variable (MyPoint=0 ; MyPoint=Point)

Ich habe hier ein Logikproblem und hab die Brille auf: der SL HighLow Wert ist ja ein Kurs (z.B. 1.0234) und möchte da die Distanz(z.B. Min 600) messen und darf nicht weniger sein wie SL_Min oder kleiner sein als SL_Max.

Das muss ja umgewandelt werden, damit der Wert und die Distanz verglichen werden können miteinander und hier hab ich keine Lösung bis jetzt gefunden. Wie gesagt, ich denke es ist nur ein Logikproblem.

Ich bedanke mich für Ihre Unterstützung und hoffe auf weitere Lösungsansätze.


Gruss Deaken
 
darf nicht weniger sein wie SL_Min oder kleiner sein als SL_Max.
  1. Dafür gibt es fmin() und fmax() (Im Editor F1!)
  2. Wenn das Programm nicht die Werte liefert, die Du erwartest, dann muss das der Debugger anzeigen, dafür ist er ja da und kann nach jedem Befehl den Werte einer Variable anzeigen!
  3. Ich weiß immer noch nicht, welchen Wert Point hat - ich vermute da liegt der Fehler, aber das zeigt Dir auch der Debugger!
Grund der Beschwerde: