Tolli Molli Posted February 16, 2010 Report Share Posted February 16, 2010 Hallo zusammen,ich würde gerne für das Backtesting mit BuyPrice bzw. SellPrice arbeiten, um programmiermäßig von Dollar auf Euro umzurechnen. Nur macht mir AB einen Strich durch die Rechnung.Lt. Handbuch:"During back−testing AmiBroker will check if the values you assigned to buyprice, sellprice, shortprice,coverprice fit into high−low range of given bar. If not, AmiBroker will adjust it to high price (if price array valueis higher than high) or to the low price (if price array value is lower than low)" Wie kann man das umgehen? Vielen Dank für Tipps. GrüßeMathias Quote Link to comment Share on other sites More sharing options...
ibelieve Posted February 16, 2010 Report Share Posted February 16, 2010 Ich verstehe die Frage nicht Ganz? Ein kleines Beispiel wäre von Vorteil. Quote Link to comment Share on other sites More sharing options...
Henrik Posted February 16, 2010 Report Share Posted February 16, 2010 Meinst du jetzt, dass AB im Backtest nur mit den Closedaten arbeitet?Das macht Ninjatrader 7 auch, wenn keine Bid/ask-Daten vorhanden sind. In dem Fall rechne ich einfach auf die Kommission einen gewissen Wert rauf, also was in etwa dem üblichen Spread entspricht. Die Kommission kann ich ja frei eingeben pro Einheit... Falls du was anderes meinst schreibe es noch einmal deutlich Quote Link to comment Share on other sites More sharing options...
Tolli Molli Posted February 17, 2010 Author Report Share Posted February 17, 2010 Hallo zusammen,entschuldigt bitte, wenn ich mich missverständlich ausdrückte.Ich meinte das in etwa so, wie Henrik es verstanden hatte. Beispiel:Ich möchte einen Rohstoffkurs von Dollar in Euro umrechnen. Beispielkurs (in $): O: 97, H: 100, L: 95 C: 98Eur-Dollar: 1,50 Damit er im Backtesting den Kurs von $ auf € umrechnet, würde ich gerne:Buy= Bedingung 1;sell = Bedingung 2; BuyPrice = C / Eur-Dollar;SellPrice = C / Eur-Dollar; AB rechnet nun: BuyPrice = 98/1,5 = 65,33. Nun kommt die am Anfang zitierte Bedingung, dass der BuyPrice nur zwischen H und L liegen darf! Also wandelt AB die 65,33 in 95 um! Henriks Vorschlag würde mir nichts bringen, da ich jeden Tag einen anderen Umrechnungskurs hätte und keinen festen Prozentwert, den ich bei den Kommissionen eintragen könnte. Kann man diese Umwandlung umgehen oder ausschalten? Die Alternative für mich wäre, alle Kurse in Excel umrechnen und neu in AB einlesen, was recht umständlich ist. Bin gespannt, ob mir jemand helfen kann. Viele GrüßeMathias Quote Link to comment Share on other sites More sharing options...
Tommyknocker Posted February 17, 2010 Report Share Posted February 17, 2010 Hallo, also nur um deine Sache richtig zu verstehen. Du willst also den Effekt des EURUSD Umrechnungskurses mit berücksichtigen, korrekt? Was mir dazu noch einfällt wäre zusätzlich zum Kurs des Futures oder was auch immer du testen willst die gleiche Positionsgrösse gleichzeitig in EURUSD einzugehen. Das heißt also du gehst zusätzlich long im EURUSD, damit wird die Währungsabhängigkeit mit berücksichtigt.Allerdings könntest du im richtigen Handel auch einfach dein Währungsrisiko hedgen, in dem du eine EURUSD Shortposition in der gleichen Positionsgröße eingehst. Damit spielt die Währungsänderung keine Rolle und du erhältst 1:1 den Kursgewinn des Underlyings (Future oder was auch immer) in EUR. Allerdings fallen dadurch natürlich zusätzlich Kosten für den Währungshedge in deiner Strategie an. Aber was du nun wirklich verwirklichen kannst/willst, musst natürlich du entscheiden. Quote Link to comment Share on other sites More sharing options...
Tolli Molli Posted February 17, 2010 Author Report Share Posted February 17, 2010 Das war ein guter Tipp mit der gleichzeitigen Positionseröffnung des EURUSD. Nur möchte ich aus einem Portfolio bzw. Gruppe von Rohstoffen handeln. D.h. AB kauft je nach Erfüllung meiner Bedingung 0- 10 Rohstoffe mit Positionsgröße 1/10 des Kapitals. Da muss ich mal überlegen, wie ich die gleichzeitige Positionseröffnung des EURUSD in genau der Höhe des jeweiligen Kaufkapitals hinbekomme Mal sehen.GrüßeMathias Quote Link to comment Share on other sites More sharing options...
Tolli Molli Posted March 1, 2010 Author Report Share Posted March 1, 2010 (edited) Hallo zusammen,ich habe die Lösung gefunden:Man kann mit SetOption( "PriceBoundChecking", False );die automatische Anpassung der Befehle buyprice/sellprice/coverprice/shortprice ausschalten.Somit ist es leicht, auf andere Währungen umzurechnen oder komplizierte Konditionen zu programmieren. In meinem Beispiel: BuyPrice = O/ Foreign("EurDollar","O"); // bei Kauf zum nächsten Openkurs (bei Settings eingegeben) Habe ich nur durch Zufall im Manual gefunden. Wird nur bei der SetOption Funktion beschrieben, sonst nirgends. Viel Erfolg weiterhinMathias Edited March 1, 2010 by Tolli Molli Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.