Inhalte aufrufen

  • Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

The7 Trading System - Traden auf Dailycharts

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
539 Antworten zu diesem Thema

  #461
OFFLINE   ixbone

h version backtest

2012.12.28 00:30:29 2008.06.12 00:03 the 7 System v.2.6.7h EURUSD,Daily: OrderSend error 4107
2012.12.28 00:30:29 2008.06.12 00:03 the 7 System v.2.6.7h EURUSD,Daily: invalid price 1.55645000 for OrderSend function

in einem jahr (nur) 3 trades und alle negativ

1 2008.03.31 00:03 sell 1 0.30 1.5770 0.0000 0.0000 0.00 10000.00
2 2008.03.31 00:03 modify 1 0.30 1.5770 1.5814 1.5370 0.00 10000.00
3 2008.03.31 03:15 s/l 1 0.30 1.5814 1.5814 1.5370 -132.00 9868.00
4 2008.06.12 00:03 buy 2 0.30 1.5564 0.0000 0.0000 0.00 9868.00
5 2008.06.12 00:03 modify 2 0.30 1.5564 1.5492 1.5964 0.00 9868.00
6 2008.06.12 01:59 s/l 2 0.30 1.5492 1.5492 1.5964 -216.00 9652.00
7 2008.09.04 00:03 buy 3 0.30 1.4519 0.0000 0.0000 0.00 9652.00
8 2008.09.04 00:03 modify 3 0.30 1.4519 1.4447 1.4919 0.00 9652.00
9 2008.09.04 12:36 s/l 3 0.30 1.4447 1.4447 1.4919 -216.00 9436.00

irgendwie weit ab vom weg...
  • fxdaytrader gefällt das

  #462
OFFLINE   Katakuja

irgendwie weit ab vom weg...


Ja. Immer das selbe mit den EAs.

Anbei, bin der erste der einen haben will wenn es mal läuft. So ists nicht..

Aber denke halt so, bevor ich einen funktionierenden EA finde, oder programmiere
hab ich 2x schon ein Vermögen gemacht mit einfach manuell traden.

Lasse mich aber gerne des besseren belehren.
Verfolge den thread mit Interesse...
  • hansjs gefällt das

  #463
OFFLINE   traderdoc

Ne, Kata, Du bist nicht der Erste der einen bekommen wird. Und wenn überhaupt bei der ganzen Nörgelei, dann bekommst Du nur einen halbautomatischen, damit Du das manuelle Traden nicht verlernst.:)

traderdoc
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #464
OFFLINE   Optionator

Hallo,

ahh.. ekenom.. habe mich mit dem TP schon gewundert. Dachte, dass wenn Teilausführung auf 1 steht, der TP1 relevant wäre ;-) Nun, dann halt noch mal ;-)
Eine Anleitung, wie Du welche Einstellungen gedacht hast, wäre nicht schlecht.

Dennoch hier mal meine Idee zur Verfahrensweise mit dem TP/ Trailing Stop:

- Teilausführungen entfernen -> nur noch die Eingabe eines TPs
- close half könnte hinzugefügt werden, muss aber nicht (true/ false) -> close half fest auf 25 Pips

- Trailing Stop
-- in Zusammenhang mit dem TP setzen, so dass folgendes möglich ist
--- 1. TP wird als fester TP eingegen (variable) siehe oben
--- 2. Der TrailingStop hat eine % variable, wo dieser startet -> z.B. 60% -> hat der Markt also 60% vom TP erreicht, startet der Trail nach Vorgabe
--- 3. Variable für den TrailingStop -> z.B. 60 -> der Trail ist also 60 Pips
--- 4. Jetzt kommts -> Use TP by Trailing Stop true/false -> also 1. Möglichkeit, der TP bleibt bestehen und der Markt wird in den TP hineingetrailt
------- 2. Möglichkeit bei false, der TP wird entfernt! Der Trade läuft also frei mit dem nachgezogenen SL
--- 5. Trailing Step, wie bisher z.b. 5 Pips, der Trail wird immer bei 5 positiven Pips nachgezogen, nicht bei jedem Pip (als variable)

Ich hoffe es war verständlich und stößt auf Zustimmung. Vorteil bei dem EinzelTP ist dann auch, dass dieser fest sichtbar in den Markt gelegt wird und nicht blind. Close half ist da ja nicht im Wege ;-)

Gruß
Opti
Heute ist ein schöner Tag zum Traden.

  #465
OFFLINE   ekenom

Ich habe hier mal eine kleine Bedienungsanleitung angehängt.
@Opti
DU kannst doch jetzt deine Einstellungen frei wählen. Wenn Du nur Teilausführung =1 wählst, dann ist TP_final Dein fester etablierter TP.
Wenn Du einen Teilverkauf haben willst dann Teilausführung = 2 und TP1 für den ersten Teilverkauf und TP_final für den Rest.

@Traderdoc
Das mit den Linien werde ich mal angehen. Klingt auf jedenfall Plausibel. Leider fehlt mir für solche Sachen (wenn irgendwas in den Chart gezeichnet wird) das Talent. Ich habe das von irgendwo übernommen ohne wirklich zu verstehen was da passiert. War nur froh als die Linien da waren.

Ekenom

Dateianhang


  • Zendo gefällt das
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #466
OFFLINE   PazO

Hallo ekenom,

erstmal danke für deine Mühe mit dem EA. Ich hab mir auch mal den Code des EAs angeschaut und dabei sind mir noch Redundanzen aufgefallen.
Es wird vor jedem OrderModify() oder OrderClose() in einer Schleife die richtige Order gesucht. Es reicht jedoch aus dies am Anfang der Start()-Methode zu machen und sich das OrderTicket zu merken.
Danach kannst du die Order direkt selektieren um die notwendigen Daten für das OrderModify() zu bekommen.

Als zweites ist mir aufgefallen, dass du in der Historie der Orderdaten prüfst ob es schon eine Order für den aktuellen Tag gab. Dies machst du auch wenn du gerade eine offene Order hälst. Da du ja eine offene Order hast kannst du diese Prüfung überspringen.
Auch der Code direkt danach, wo du auf eine gültige Handelszeit prüfst kann in dem Fall übersprungen werden, da du ja schon einen offenen Trade hast.

Ich würde das mit dem folgenden Codeschnipsel machen.

Please Login or Register to see this Hidden Content


Im Abschnitt wo du die Order eröffnest setzt du nachher den StopLoss in der Variable "SL".

Please Login or Register to see this Hidden Content


Diese Variable wird nur zum TrailingStop setzen verwendet aber vorher mit dem folgenden Code

Please Login or Register to see this Hidden Content


für den Fall einer Buy-Order überschrieben. Wenn das so gewollt ist, kannst du den oberen Code entfernen oder du mußt nochmal schauen wo dieser berechnete SL gesetzt werden muss.

Ich hätte noch Vorschläge zur Verbesserung der Struktur, damit man den Code einfacher überblicken kann. Mir ist klar, dass jeder Entwickler seine eigene Handschrift hat, jedoch gibt es bestimmte Regeln die wirklich hilfreich sind. Deine Abschnitte die du dir mit Kommentaren trennst kannst du auch in Methoden auslagern. Dadurch wird die Start()-Methode sehr viel kürzer und man erkennt sehr schnell den Ablauf der einzelnen Aktionen.

sehr vereinfachtes grobes Beispiel:

Please Login or Register to see this Hidden Content


Die Methoden kannst du in der selben Reihenfolge hintereinander einfügen um den Codeablauf von Methode zu Methode verständlich zu halten.

Weiterhin viel Erfolg.

Gruß PazO
  • Zendo und ekenom gefällt das

  #467
OFFLINE   ekenom

@PazO82
Zunächst auch Dir mal herzlichen Dank für die Tips und Hinweise.
Was meinst Du mit Start Methode? Der Ausdruck ist mir nicht bekannt. Ich interpretiere das so, dass aus dem Hauptprogramm diverse Funktionen bzw. Unterprogramme angesprungen werden sollen. Ist das Korrekt? oder hab das missverstanden?
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #468
OFFLINE   fxdaytrader

"Start-Methode", oder "Start-Routine", oder ganz einfach: die Funktion "start()" ;)

Kurz: Aktuell wird x-mal die Orderselect-Schleife durchlaufen (for int xyz=0 to orderstotal()-1 blupp). PazO82 schlägt vor, dies nur einmalig am Anfang durchzuführen, nach dem Orderselect() by ticket/o.a. ist das Orderticket in der Variable OrderTicket() gespeichert - hier könnten dann alle orderrelevanten Funktionen durchlaufen werden (tp/sl, close, usw. - s. in seinem Post unter "vereinfachtes grobes Beispiel").
  • PazO gefällt das
Kommst' heut' nicht, kommst' morgen oder gar nicht ...
Krank im Kopf, aber sonst ganz nett :troll:

meet the Fabrik-Mods | ForexFabrik ForenSuche | alter mql4 compiler (hier

  #469
OFFLINE   ekenom

Ich habe in der Vergangenheit gelegentlich Probleme mit der Ticket-Nr gehabt. Häufig war die Order, nur anhand der Ticket Nr, nicht zuzuordnen. Ich werd´s mir dennoch zu Herzen nehmen.
nun hab ich noch eine Blöde Frage. Diesen Code oder ähnlich habe ich schon gelegentlich gesehen, kann aber nichts damit anfangen.

if ( !buy && !sell )
ist es das gleiche wie
Buy != True bzw. Buy == false


Ekenom
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #470
OFFLINE   PazO

Hallo,

ja fxdaytrader hat das nochmal passend zusammengefasst. Meinte die Funktion Start(). Hab es Methode genannt.
Mit dem Ticket hab ich noch nie Probleme gehabt. Es kommt natürlich vor das die Order durch SL oder TP automatisch geschlossen wird. Das bekommt du nur durch eine Abfrage mit oder weil OrderModify nicht ausgeführt wird.

Du hast es korrekt erkannt. Das !buy steht für buy != true. Da sind wir wieder bei der Handschrift des Coders... :)

Am wichtigsten ist erstmal dass du nochmal prüfst ob die Variable "SL" korrekt von dir genutzt wird. Wie ich schon im vorherigen Post gezeigt habe.

Bei Fragen einfach raus damit. Verfolge den Thread aufmerksam und helfe euch auch gern weiter.
Schönen Abend noch.

PazO

  #471
OFFLINE   traderdoc

Wenn man über das OrderSelect() die Orderdaten wie OrderTicket() etc. ausliest und diese ausgelesenen Daten in der Funktion (in Deinem Programm die Funktion start()), in der sie ausgelesen worden weiterverarbeiten will, geht das. Ansonsten kann man diese Daten in den Funktionen als Parameter übergeben, also z. B.

int ticket = OrderTicket();
FunktionX(ticket);
.
.
Dann wird beim Aufrufen der FunktionX der Wert für ticket im Code dieser Funktion verarbeitet.
Also z.B.
void FunktionX(int ticketnummer) {
.
OrderModify(ticketnummer, ......);
.
.
}

if ( !buy && !sell )
ist es das gleiche wie
Buy != True bzw. Buy == false

fast, wenn das große B ein kleines b wird.:)
traderdoc
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #472
OFFLINE   ekenom

schön, dass ich dich mal live erwische. Das mit SL ist so richtig und gewollt.
Trailingstop wird erst gesetzt wenn der Trade bereits in der Gewinnzone ist und die ersten 2 Teilposis verkauft worden sind.
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #473
OFFLINE   ekenom

fast, wenn das große B ein kleines b wird.:)
traderdoc


Ja, ja der Fehler steckt auch hier, wie so häufig, im Detail.Eingefügtes Bild

@PAZO
Habe deinen Vorschlag
if (!buy && !sell)
übernommen. Dabei viel mir auf dass man diesen Programmteil noch um die Signalfindungsroutine erweitern kann.

Ekenom


Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #474
OFFLINE   PazO

Hallo Ekenom,

ich probiers nochmal zu erklären, denn wir reden aneinander vorbei. Das Beispiel ist für den Fall Long-Order.

Im Abschnitt wo du die Order eröffnest setzt du den StopLoss in der Variable "SL". Roter Text.


Please Login or Register to see this Hidden Content


Diese Variable verwendest du nur um den TrailingStop zu setzen. Bevor du allerdings den TrailingStop setzt überschreibst du deinen zuvor definierten StopLoss in der Variable "SL". Damit sind die Zeilen im oberen Codefenster ohne Wirkung, denn sie werden nie verwendet und vor der tatsächlichen Verwendung überschrieben.

Please Login or Register to see this Hidden Content


Ich hoffe es ist diesmal verständlich geschrieben.

PazO

  #475
OFFLINE   ekenom

@PAZO
Ich kann Deiner Argumentation nicht folgen.
Im Code Beisp. Long

Please Login or Register to see this Hidden Content


wird der SL berechnet. Beim nächsten Durchgang wird er im Programteil (rot)

Please Login or Register to see this Hidden Content

gesetzt und hier wirklich verwendet. Nun wird er vorläufig nicht mehr gebraucht. Nach dem Verkauf der 1. Teilposi wird SL auf BE nachgezogen. das geschieht im Programmteil Trades Pflegen und dort wird nach der Lotgröße selektiert. Erst wenn nur noch eine Teilposi übrig ist wird der Programmteil mit dem Trailingstop abgefragt.

Please Login or Register to see this Hidden Content


Ekenom
  • PazO gefällt das
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #476
OFFLINE   PazO

@Ekenom

Die Zeile hab ich übersehen. Das liegt wohl daran, dass ich hinter einem if(...) keine Aktion erwarte. :-)
Schade um unser beider Zeit, die für das Texten drauf ging, aber nun hab ich es auch verstanden und kann es nachvollziehen.

PazO

  #477
OFFLINE   ekenom

Ich bin manchmal ganz froh darüber dass ich nicht alleine auf der Leitung stehe. Und glaub mir, ich weiss wie schwierig es ist, sich in die Denkweise eines anderen Programmierers hineinzudenken.

Ekenom
Ich kann die Börsenkurse beeinflussen!
Kaufe ich, so fällt der Kurs, und wenn ich verkaufe dann steigt er wieder.

  #478
OFFLINE   traderdoc

@Ekenom

Die Zeile hab ich übersehen. Das liegt wohl daran, dass ich hinter einem if(...) keine Aktion erwarte. :-)
Schade um unser beider Zeit, die für das Texten drauf ging, aber nun hab ich es auch verstanden und kann es nachvollziehen.

PazO


Warum sollte man hinter einer if-Abfrage keine Aktion erwarten?, v.a. wenn es sich um eine einzeilige Aktion handelt.

Aber mal prinzipiell zu Schreiben von Programmen und dem Stil dies zu tun.
Jeder mag anders an die Umsetzung der Herausforderungen herangehen und die Programmiermittel, die zur Verfügung stehen, einsetzen.
Zur Verbesserung der Lesbarkeit sollten nicht nur Kommentarzeilen gehören, sondern v.a. auch der strukturelle Aufbau eines Programms. Und das beginnt bei der Sortierung der Variablen am Anfang nach den Variablentypen, der Ausrichtung derselben mittels Tab. Das zieht sich durch das gesamte Programm, dazu gehört auch die Ausrichtuing nach dem = Zeichen, wenn mehrere Gleichungen untereinander stehen. Auch die Setzung von { und } an bestimmten und immer gleichen Stellen des Codes durch strikte Einhaltung der Einrückungen mittels Tab, erleichtert die Lesbarkeit ungemein. Strukturelle Leerzeilen, wo sie hingehören und Vermeidung, wo sie überflüssig sind, bis hin zur Ausrichtung auch der Kommentarzeilen, ist vergleichbar mit einer Zeitung, die entweder "aufgeräumt" ist und sich schnell überfliegen läßt und in die man auch gerne schaut und immer weiss, wo was auf welcher Seite steht oder halt eher die chaotische Arbeitsweisen der Redakteure widerspielgelt.

traderdoc
  • fxdaytrader gefällt das
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #479
OFFLINE   fxdaytrader

Bis zur Perfektion getrieben hat das m.E. der User "Ais" im mql4-Forum, s. hier:

Please Login or Register to see this Hidden Content


Kommst' heut' nicht, kommst' morgen oder gar nicht ...
Krank im Kopf, aber sonst ganz nett :troll:

meet the Fabrik-Mods | ForexFabrik ForenSuche | alter mql4 compiler (hier

  #480
OFFLINE   PazO

Warum sollte man hinter einer if-Abfrage keine Aktion erwarten?, v.a. wenn es sich um eine einzeilige Aktion handelt.


Da muss ich mich wohl genauer ausdrücken. Ich meinte das ich es nicht erwartet hatte direkt nach dem if die dazu gehörende Anweisung zu finden, vor allem da direkt unter dem if ein weitere Zeile Code stand.

Please Login or Register to see this Hidden Content


Da hab ich das OrderModify übersehen und das break als Aktion verstanden.

Und nochmal @traderdoc. Es sieht so aus als wölltest du uns hier gleich mal nen CodeStyleGuide schreiben? Ich würde es auch als sinnvoll erachten. :-)





0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer