Oanda FXTradePad

      oldschuren schrieb:

      Diese lassen Sie sich aber gut bezahlen.
      Ja, ist eindeutig zu teuer wenn man nicht über dem Umsatz-Limit tradet.

      Hier sind die files. Wie gesagt, wird nicht mehr funktionieren, aber du kannst dir zumindest ansehen, wie das OCR prinzipiell funktioniert.



      P.S. das Forum mag anscheinend keine *.rar files, ich habs einfach in .zip umbenannt, sollte funktionieren
      Dateien
      • FXpad13a.zip

        (7,87 kB, 284 mal heruntergeladen, zuletzt: )
      Ja wenn es rein ums Sammlen von Daten geht, gibt noch weitere Möglichkeiten, z.b. mit memcopy den Speicherbereich lesen oder den TCP Socket abhören. Orders kann man damit aber keine senden und diese ganzen Hacks kann mann dann arbeitsintensiv anpassen wenn Oanda wiedermal was ändert. Eine 'offizielle' Lösung ist immer besser.
      Gleichzeitig geht nichtmal per api, oanda unterstützt keine basket-orders.

      Du kannst dir auch mal FxSpyder ansehen, man programmiert mit java-script und kann im Effekt das selbe wie die api. Ist gratis fürs Demo, live zahlt man pro Trade eine kleine Kommission. Ich hab allerdings nur schnell die Objekt-Referenz überflogen und nie in der Praxis benutzt.
      Hallo,

      nein das ist alles rein ein AutoIt Skript. Die Kurse werden mittels OCR direkt vom Bildschirm abgelesen (benötigt ca. 40ms pro Lesevorgang auf meinem Rechner um einen Ratetable mit 15 Pairs einzulesen). Funktioniert prinzipell recht zuverlässig, allerdings mit der Einschränkung dass der Oanda-Client immer sichtbar sein muss, was extrem lästig ist.

      Order-Eingabe ist reine Windows Automatisierung, d.h. das Programm clickt sich durch die Ordermaske und gibt die entsprechenden Werte genau so wie ein menschlicher Nutzer ein. Also immer ein Order nach dem anderen.

      Lästig ist auch die Wartung, immer wenn Oanda was ändert muss man das Programm anpassen. Ich verwende seit längerem die oanda-api also ist das Programm wohl nicht mehr up2date. Den sourcecode muss ich erst ausgraben, kann ich dir heut abend oder morgen schicken. Ist allerdings komplett unkommentiert ond wohl nicht immer einfach lesbar.

      mfg,
      P.
      Hi Purri,
      Kannst mir den SourceCode für das Programm schicken? Find ich sehr interessant. Ist das alles mit AutoIT programmiert oder hast du das Frontet mit cpp erstellt? Wie liest das Programm die Kursdaten aus? Über DDE oder wird das irgendwo zwischengespeichert. Könnte man die Kurse von mehreren Pairs gleichzeitig einlesen und/oder gleichzeitig (oder zeitlich etwas versetzt) für mehrere Pairs Order aufgeben? Danke schon mal im Voraus...
      OS
      ich raube, also bin ich....
      Ich kann dir den source code (AutoIT) vom 'tollen tool' schicken wenn du willst, müsste man aber auf die aktuelle FxTrade Version anpassen. Mit der neuen Oanda-Beta Version ist das aber obsolet, die hat ja das 1-click Trading integriert, und man kann auch die Bounds/TP/SL in Pips definieren. Viel mehr hat das tolle Tool auch nicht können..
      Ja läuft, mußt halt anpassen. Ich habe mich aber von den Plattformen eher verabschiedet und kann nicht einfach Code etc. hier reinstellen...
      Wie Samen, die unter der Schneedecke träumen, träumen eure Herzen vom Frühling. Vertraut diesen Träumen, denn in ihnen verbirgt sich das Tor zur Unendlichkeit. Khalil Gibran
      hat noch jemand das Problem, dass manchmal der Orderdialog von der oandaplattform offen bleibt, mit Invalid units?

      Es werden einfach keine Units eingetragen ins Form. Mit einem zweiten Klick auf ordern wird zwar eine neue Order abgeschickt, mit einem neuen Ordefenster, aber das alte Ordefenster bleibt stehen.
      Bilder
      • invalid-units2.png

        18,4 kB, 345×567, 329 mal angesehen
      Wie Samen, die unter der Schneedecke träumen, träumen eure Herzen vom Frühling. Vertraut diesen Träumen, denn in ihnen verbirgt sich das Tor zur Unendlichkeit. Khalil Gibran
      Danke!
      Da merkt man, dass ich kein echter "Forexler" bin.
      Also generell ist das mit den verschiedenen Pipwerten klar, aber nicht im Detail.

      FxTPad geht doch von einem EUR Account aus, aber die Werte im Code entsprechen doch USD?

      Bsp:
      Primary Account Currency: EUR
      Currency Pair: EUR/USD
      Units: 100,000
      Pip (EUR): 7.31

      Primary Account Currency: USD
      Currency Pair: EUR/USD
      Units: 100,000
      Pip (USD): 9.99 (10)

      Gut EUR 7.31 und USD 10 sind der gleiche Wert, aber verstehn tu ichs trotzdem nicht. Naja...

      Für Gold "XAU/USD" wäre dann dies richtig?:

      Quellcode

      1. $pipvalue = 10 / _OCRnum ($xBid1, $yXAU1, $xBid2, $yXAU2)
      2. $quantity = Floor(($riskInUSD / (GUICtrlRead($inputsl) * $pipvalue)) * 1000)
      Primary Account Currency: USD
      Currency Pair: XAU/USD
      Units: 1000
      Pip (USD): 9.99 (10)
      Wie Samen, die unter der Schneedecke träumen, träumen eure Herzen vom Frühling. Vertraut diesen Träumen, denn in ihnen verbirgt sich das Tor zur Unendlichkeit. Khalil Gibran
      Das rechnet einfach nur die Positionsgrösse aus, nach %-risk. Da die Pairs tw. verschiedene Pip-Werte haben, muss man das für jedes Pair einzeln ausrechnen.

      Heisst im Prinzip übersetzt:
      pipwert = 10 / aktuelle usd/chf-quote
      quantity = abrunden( (Risiko-in-USD / (stop-in-pips * pip-wert)) * 100000)

      quantity ist dann die Anzahl der Units die gekauft/verkauft werden. Die letzten 2 Zeilen sind auskommentiert.
      Ich stehe grad auf dem Schlauch... ?( Hab zwar das Gefühl, sollte jedem Trader gleich wie Schuppen von de Augen fallen, aber bei mir tut sich grad nix!
      Was bedeutet denn im Code die einzelnen $pipvalue und $quantity für die jeweiligen Pairs? Wozu braucht man diese unterschiedlichen?
      Bsp.: "USD/CHF"

      Quellcode

      1. Case $aPair = "USD/CHF"
      2. $pipvalue = 10 / _OCRnum ($xBid1, $yCHF1, $xBid2, $yCHF2)
      3. $quantity = Floor(($riskInUSD / (GUICtrlRead($inputsl) * $pipvalue)) * 100000)
      4. ;MsgBox(0,0,"NAVinUSD: " & $NAVinUSD & @CRLF & "RiskInUSD: " & $riskInUSD & @CRLF & "Amount: " & $quantity & @CRLF & "pipvalue: " & $pipvalue)
      5. ;Return($quantity)
      Wie Samen, die unter der Schneedecke träumen, träumen eure Herzen vom Frühling. Vertraut diesen Träumen, denn in ihnen verbirgt sich das Tor zur Unendlichkeit. Khalil Gibran