Válasz erre: Univerzális képlet 2015-11-18T17:29:59+00:00
Radulovic Attila
Tag
Bejegyzések száma: 638

Jó úton jársz. Tulajdonképpen neked FOREX instrumentumok esetén egy multiplier (szorzó) kell, a többi instrumentum (DAX, SP500, indexek, FUTURES-ök, stb.) pedig divider. Azért multiplier, mert te pipben várod az inputokat a felhasználótól, és azokat felszorzod majd a szorzó és a point értékével annak érdekében, hogy a programod és a brókercég számára alkalmas szám jöjjön ki. (Ez persze oda-vissza működik, vagy szorzol, vagy osztasz)

Én a következőképpen dolgozom:

  1. 2 vagy 4 digites párok esetén a multiplier értéke = 1 (0.0001 / 0.0001 / 1 = 10)
  2. 3 vagy 5 digites párok esetén a multiplier értéke = 10 (0.00010 / 0.00001 / 10 = 10)
  3. 0 vagy 1 digites párok esetén a multiplier szintén 1 (0.1 / 0.1 = 1)

Divideres korrekció pedig ott szükséges, ahol a traderi gondolkodás eltér a legkisebb elmozdulási egységtől. Pl. DAX. Ott minden trader 1 kerek egészben gondolkodik, vagyis hogy ha 1055.0-ról 1056.0-ra mozdul az ár, akkor azt mondják: “1 daxot ment arrébb a piac”. Itt a pip szó használata több félreértést okoz (persze lehet erőltetni, de minek).
A robotodban ezért a legkisebb elmozdulási egységgel osztod a különbséget ugye alapból: (1056.0 – 1055.0) / 0.1 = 10. Tehát kijön, hogy itt 10-zel kell osztanod a kapott értéket ahhoz, hogy traderi gondolkodáshoz alkalmas szám jöjjön ki.

Univerzális szabály: a traderi nyelv egységértékét elosztod a legkisebb elmozdulás egységével, vagyis DAX esetén 1 tizedes pontosságnál: 1 / 0.1 = 10. Ugyanez származtatott terméknél két tizedesjegynél: 1 / 0.01 = 100.

Természetesen figyelembe érdemes venni a további számítások során a ticksize-t is, vagyis hogy az ár mennyivel változhat minimum értékként (pl. ha ticksize 0.5, akkor csak ötösre és nullára végződhet az ár).

Lehet, hogy van ennél jobb módszer is, de automatikusan lekérdezhetőről nem tudok – rengeteg bróker van, és a cél az, hogy mindenhol tudd használni a programot. Bedrótozni soha nem drótozok semmit.