Fehlerhafte Ausführung von On Close Orders

Eröffnet von ReneRose im Board Handelssysteme mit Equilla

Seitenlänge102030
Seite 1 von 212
#13: 22.10.2010 09:08 kiktrade
@Rene Rose (#12)

Guten Morgen,

ich habe den Chart publiziert und dann per Drag-und-Drop hier eingefügt - Resultat ist dieser Link:

http://www.tradesignalonline.com/forum/thread.aspx?id=26585#

Ist aber auch nicht unbedingt notwendig. Einfach den Xetra-Dax auf Stundenbasis nehmen und dann den Code von unten als Handelsstrategie hinzufügen. Damit kann ich den Fehler reproduzieren.

Der Support hat übrigens zwecks Fehlersuche und -lösung auf dich verwiesen.

Gruß,
kiktrade
#12: 22.10.2010 05:21 ReneRose
@kiktrade (#11)
Guten Morgen!

ich finde keinen Chart!

Webseite
Neue Seminartermine
#11: 21.10.2010 17:39 kiktrade
@Rene Rose (#10)

Hier der Chart

http://www.tradesignalonline.com/forum/thread.aspx?id=26585#

und der Source Code:

Meta:
SubChart( False ),
Weblink("http://www.tradesignalonline.com/Lexicon/Default.aspx?name=Supertrend"),
Synopsis("Volatility based stop and reverse line");

Inputs:
Factor ( 3.0 ),
Period ( 10 , 1 );

Vars:
volaValue, avgValue, upperValue, lowerValue, trendFlag, flagValue1, flagValue2,
valOut, colorOut;

volaValue = AvgTrueRange( Period );
avgValue = MedianPrice();

upperValue = avgValue + ( Factor * volaValue );
lowerValue = avgValue - ( Factor * volaValue );

If Close> upperValue[1] Then
trendFlag = 1;

If Close < lowerValue[1] Then
trendFlag = -1;

If trendFlag < 0 And trendFlag[1] > 0 Then
flagValue1 = 1
Else
flagValue1 = 0;

If trendFlag > 0 And trendFlag[1] < 0 Then
flagValue2 = 1
Else
flagValue2 = 0;

If trendFlag > 0 And lowerValue < lowerValue[1] Then
lowerValue = lowerValue[1];

If trendFlag < 0 And upperValue > upperValue[1] Then
upperValue = upperValue[1];


If flagValue1 = 1 Then
upperValue = avgValue + ( Factor * volaValue );

If flagValue2 = 1 Then
lowerValue = avgValue - ( Factor * volaValue );

If trendFlag = 1 Then
Begin
valOut = lowerValue;
colorOut = DarkGreen;
End
Else
Begin
valOut = upperValue;
colorOut = Red;
End;

DrawLine( valOut, "Super", StyleSolid, 1, colorOut );

If Close Crosses Under valOut Then
Begin
Sell This Bar on Close Trading '.DAX 60m';
End;

If Close Crosses Over valOut Then

Begin
Buy This Bar on Close Trading '.DAX 60m';
End;


// *** Copyright tradesignal GmbH ***
// *** www.tradesignal.com ***
#10: 21.10.2010 14:00 ReneRose
@kiktrade (#9)

Stell doch mal den Chart und den Quellcode rein.

Webseite
Neue Seminartermine
#9: 21.10.2010 13:37 kiktrade
@Rene Rose (#8)

Das Ticket habe ich zu der Positionseröffnung innerhalb der Periode eingestellt (obwohl "on close" eingesetzt wurde)

Das mit dem gleichzeitig long und short gehen habe ich mir schon gedacht. Deshalb verwende ich ja abgeleitete Produkte (composite), die ich dann mit dem "on close trading ..." einbinden will. Das muss dann aber für den Backtest und den live-Handel das gleiche Ergebnis liefern. Und das tut es zur Zeit halt nicht...

Vielleicht hat der Support ja eine Lösung zu dem Problem. Wenn das "on close" richtig funkionieren würde, dann wäre ich ja zufrieden.

Gruß,
kiktrade
#8: 21.10.2010 12:49 ReneRose
@kiktrade (#7)

Hallo!

Das Ticket kannst Du sparen. In einem Chart ist es schlicht aus praktischen gründen nicht möglich, gleichzeitig Long und Short zu gehen. Netto ist das NULL, außer Du handelst unterschiedliche Positionsgrößen. Das also die beiden Positionen gegenseitig interferieren ist normal und lässt sich auch nicht lösen. Du musst zwei Charts nehmen und in jedem eine der beiden Strategien handeln.

Was heißt "Auf einem Hebelprodukt handeln" möchtest Du den Handel backtesten oder routen? Dazu stellt sich die Frage, ob das Hebeldings bei Interactive Brokers verfügbar ist und ob es lange genug lebt um einen Backtest durchführen zu können.

Webseite
Neue Seminartermine
#7: 21.10.2010 09:06 kiktrade
@Rene (#6)

Wenn ich auf einem Index optimiere und dann Hebelprodukte handeln will, muss ich doch irgendwie das Wertpapier referenzieren. Laut Syntax kann ich das wie unten beschrieben machen. Oder gibt es noch eine andere Möglichkeit?

Zum zweiten Punkt: Wenn ich zwei Strategien handeln will - eine Long und eine Short - kann es passieren, dass diese sich überschneiden. Das ist ja auch zulässig. D.h. ich bin bspw. Short und will aber gleichzeitig schon long gehen. Dabei sollen sich die beiden Strategien nicht in die Quere kommen.

Long handel ich mit buy und sell und Short handel ich mit Short und Cover. Beim backtesten passiert es aber bspw. das die eine Stratgie Short geht und dann die andere diese Position mit einem Long wieder auflöst...

Ich werde wegen dem Handel innerhalb der Periode bei OnClose mal ein Ticket aufmachen. Vielleicht wissen die Support Jungs ja weiter.

Gruß,
kiktrade
#6: 20.10.2010 19:49 ReneRose
@kiktrade (#5)

Alles hinter Close ist Nonsens und gehört da nicht hin.

Wenn Du verhindern möchtest, dass eine Position durch ein Gegensignal aufgelöst wird, dann stell einfach sicher, dass Deine Orders nur ausgeführt werden, wenn keine Position offen ist.

Webseite
Neue Seminartermine
#5: 20.10.2010 18:51 kiktrade
Hallo,

habe das gleiche Problem. Nutze folgenden Code:

Sell This Bar on Close Trading 'WP1 60m'

..und habe auch Einstiege mittendrin und eben nicht zur vollen Stunde.

Eigentlich will ich auch das Papier welches im Chart genutzt wird traden - d.h. ich bräuchte eigentlich den "Trading" Zusatz gar nicht. Ich habe nur festgestellt, dass sich long und short Positionen in die Quere kommen. D.h. wenn ich zwei Strategien habe - eine für Long die andere für Short, gibt es Fälle wo ein Buy einen Short auflöst...

Vielleicht hat dazu einer eine Idee?

Gruß,
kiktrade
#4: 06.08.2010 12:54 Willich
Vom Verfasser oder vom Besitzer der Diskussion gelöscht.
Seite 1 von 212