Profitszámítás jövőbeli árfolyamértékre

Ebben a posztban igyekszem ismét segíteni egy hasznos kis szkripttel.

Bizonyára sok kezdő kereskedő számára gondot okoz az, hogy kiszámolja: az éppen nyitott pozíciói egy bizonyos jövőbeli árfolyamértéken mekkora profitot/veszteséget jelentenek majd. Ennek kiszámításához nyújt segítséget a ProfitCalculator nevű szkriptem.

Eredetileg a szkript csak az éppen nyitott pozíciók jövőbeli nyereségét/veszteségét írta ki, de úgy gondoltam ez így nem elég, így nekiültem és sikerült jó pár funkcióval kiegészítenem a szkriptet. Fontos ugyanis az, hogy a kalkulátort így olyanok is tudják használni akik egyszerre csak egy irányba kereskednek, és olyanok is akiknek mindkét típusú pozíciójuk van egy időben.

Telepítés

A zip fájl tartalmát a választott terminál Rendszermappa\MQL4\Scripts\ könyvtárába másoljátok be. (A Rendszermappáról és annak szerepéről itt olvashatsz bővebben!) Ha a terminált fut, szükséges azt újraindítani! Az újraindítás után a Navigátorban a Scriptek résznél találjátok majd a szkriptet ProfitCalculator néven.

Használat

A szkriptet először - mint minden expertet és szkriptet - demó környezetben próbáljátok ki. Válasszatok ki egy tetszőleges chartot, majd az instrumentumon nyissatok egy buy vagy sell pozíciót!

A Navigátorból a Scriptek résznél kattintsatok duplán a ProfitCalculator sorra! Ezt követően a chart bal alsó sarkában megjelenik pár sornyi szöveg sárga színnel, valamint egy sárga szaggatott vonal az éppen aktuális árfolyamnál. A vonal kijelölésével (alapbeállítás szerint dupla klikk) és arrébb húzásával tudjátok megadni a kívánt jövőbeli árfolyamot, amely alapján a szkript ki fogja tudni számolni, hogy az adott árfolyamon milyen floating értéket látnátok az instrumentum nyitott pozícióinak nyereség/veszteség értékei alapján.

Értelemszerűen ha nincs egyetlen nyitott pozíciótok sem, a szkript okafogyottá válik és minden kiírt értéke nulla lesz. Amennyiben azonban van nyitott pozíciótok, körülbelül a következőt kell látnotok:

ProfitCalculator szkript működés közben

ProfitCalculator szkript működés közben

Nézzük, mit is jelentenek a kiírt szövegcímkék!

Összes / BUY / SELL lot:

Az instrumentum összes (lot + sell) nyitott lotjainak összértéke / instrumentum nyitott buy pozícióinak összértéke / instrumentum nyitott sell pozícióinak összértéke

SELL P/L:

Az instrumentum nyitott sell pozíciói profitjainak / veszteségeinek összege.

BUY P/L:

Az instrumentum nyitott buy pozíciói profitjainak / veszteségeinek összege.

Távolság:

Távolság pipben az aktuális árfolyamtól. Pozitív érték ha az aktuális árfolyam felett és negatív ha az aktuális árfolyam alatt van a sárga vonal.

P/L pipenként:

Megmutatja, hogy egy pip elmozdulás a számla bázisdevizája szerint mekkora nyereséget/veszteséget jelent az aktuális pozíciók nagyságára vetítve. A példában egy pont elmozdulás 6 USD nyereséget vagy veszteséget jelent. Következésképp a floatingunk - természetesen csak az adott instrumentum nyitott pozícióira származtatva - csak 6 többszöröse lehet, dollárban.

Amennyiben értéke nulla, egyenlő mennyiségű sell és buy lotunk van nyitva - vagyis az általuk képviselt floating érték csak a swapok kapcsán változhat hosszabb távon.

P/L GBPUSD:

Az aktuális instrumentum összes nyitott pozíciójának floatingja a sárga szaggatott vonal által meghatározott árfolyamérték alapján. A példában az aktuális árfolyamtól felfelé 42 pipre 174 USD hasznunk lesz, mivel 0.5 buy pozíciónk van nyitva 0.1 sell ellenében.

A szkript nem csak keresztárfolyamokra, hanem CFD és FUTURES instrumentumokra is működik, mivel mindig az adott instrumentum paraméterei alapján számol. A program a spreadet is figyelembe veszi.

A szkript a távolságot mindig a chart lehető legkisebb ábrázolt egységében (azaz pontban)  méri, és a számításokat is ezen adat alapján végzi el. Így ne lepődjetek meg, ha bizonyos instrumentumok esetében - ahol egy tick árváltozás nem  egyezik meg a chart skálájának legkisebb egységével - olyan profit/loss értékeket is kaptok, amelyek egyébként biztosan nem jelennek meg soha floatingként.

Például az arany (a legtöbb brókernél GOLD) esetében az árfolyam mindig x.10 -re, x.20-ra, stb.  végződik, azaz nincsen x.11, x.12, stb. árfolyamérték - annak ellenére, hogy a terminálban jelölhetőek. Nyilván a vonal húzogatásakor figyelni kell arra, hogy csak a legkisebb árfolyamelmozdulással (0.1) osztható árfolyamértéken helyezzük el a vonalat.

Ismétlem, ez csak azon instrumentumoknál lényeges, ahol egy árváltozás minimális értéke nem egy, hanem több pip. A számolás minden esetben helyes, de az adott értékek előfordulása már csak a megfelelő oszthatóság esetén lesz lehetséges. Példa: 0.1 lot méretű GOLD esetében egy 1 pip árfolyamelmozdulás 10 cent árváltozást jelentene, azonban mivel a legkisebb valós árfolyamelmozdulás legkevesebb 10 pip, a floatingunk mindig csak minimum 1 dollárral csökkenhet vagy növekedhet. A szkript ennek ellenére kiírhat például 1.10, 1.20, 1.30, stb. értékeket a fent taglalt jelenség miatt.

A keresztárfolyamok esetében a fenti jelenség tárgytalan, hiszen ott általában a legkisebb árelmozdulás egy pip. (EURUSD esetében 0.0001 pont - azaz 1 pip -  a legkisebb árfolyamelmozdulás, és minden árfolyam maradék nélkül osztható ezzel a számmal)

Ráadásul a legkisebb elmozdulási egység nem mindig egyezik meg 1 pipnyi elmozdulással - erre a legegyszerűbb példa az, amikor brókerünk a szokásos 4 tizedesjegy helyett 5 tizedesjegy pontosságot szolgáltat. Az EURUSD esetében itt 0.00001 elmozdulás 1 "igazi" pipnek csupán a tized része.

Leírva bonyolultabban hangzik, próbálgassátok a szkriptet és megértitek miről van szó.

Paraméterek

A szkript a következő lehetséges beállításokat rejti magában (a C0, C01, stb. paraméterek csak magyarázatként funkcionálnak) :

MagicNumber

A megadott magic számú pozíciókat veszi csak alapul. Amennyiben a paraméter értéke 0, akkor minden pozícióval számolunk

Frissítve: a 0.5-ös új verzióban a MagicNumber paraméter működése egy kicsit megváltozott. Ha -1 (alapértelmezés), akkor az összes pozíciót alapul veszi az adott instrumentumon belül; ha 0 akkor pedig csak azokat, amelyeknek nincsen magic száma. Így egy robot futtatása mellett nyitott kézi menedzselő pozícióinkat is külön vizsgálhatjuk.

OverrideCalcMode

Ritkán előfordulhat, hogy bizonyos instrumentumokra helyezve a szkript nem számol pontosan. Ezeknél az instrumentumoknál érdemes kipróbálni, hogy megjavul-e a számítás, ha ezen paraméter értéke true.

Az esetek 99%-ban ehhez a paraméterhez nem kell nyúlni, értéke mindig lehet false.

LabelFontColor

Frissítve: A szövegcímkék színe, hogy ne csak fekete alapszínű chartokon lehessen használni a szkriptet.

Frissítve: A letölthető fájlban van egy alapból kék színnel ellátott változat is, a fehér háttérrel kereskedők számára (hogy ne kelljen mindig állítgatni)

Letöltés

A letöltéshez regisztráció szükséges!

http://www.radu.hu/wp-content/plugins/downloads-manager/img/icons/winzip.gif letöltés: radu-profitcalculator.zip (19.34KB)
hozzáadva: 2011/07/19
letöltve ennyiszer: 600
leírás: Profitkalkulátor v0.6

Visszajelzés

Természetesen várom visszajelzéseiteket és kommentjeiteket a szkripttel, illetve a paraméterek magyarázatával kapcsolatban! Túl sokat nem teszteltem a CFD és FUTURES instrumentumok kapcsán, így ha azok esetében esetleg hibás számítást tapasztaltok, mindenképpen írjátok meg!

Akinek pedig tetszik a cucc, az nyomjon Like-ot és kommenteljen! Nem nagy kérés egy jó kis szkriptért cserébe:)

Frissítés

2012. 02. 28 - javítva egy spread okozta eltérés sell pozíciók számítása esetén

2010. 12. 06 - javítva egy hiba; függő megbízásokat többé nem számolja bele a lotokba a szkript

2011. 07. 20 - a szkript pontosabban számol CFD és FUTURES instrumentumokon, illetve a P/L pipenként számítása is javítva lett

További cikkek a kategóriában

Oszd meg, ha hasznosnak találtad!

31 hozzászólás a(z) “Profitszámítás jövőbeli árfolyamértékre” bejegyzéshez

  1. Visszajelzés: Újdonságok + fogalomtár | Radu MetaTrader blogja

  2. Visszajelzés: Mit jelent a margin, és hogyan lehet kiszámolni? | Radu MetaTrader blogja

  3. Visszajelzés: Mit jelentenek: pip, ticksize, tickvalue, spread? | Radu MetaTrader blogja

  4. Szia Radu!

    Nagyon tetszik ez a script :)
    Nagy kérés lenne ha a világos hátterű felhasználóknak feltennél egy fekete változatot? Kicsit zavaró a mentést minden alkalommal betölteni, hogy fekete legyen.

    Vagy narancssárga ami fekete és fehér háttérnél is jól látszik.

  5. Szia Radu
    Most kezdtem keresni az MT4 hez segédletet, mert szerintem elég nehézkes a kezelése. Ehhez rendkívül hasznosak a progijaid örülök, hogy rátaláltam. Én az Oanda webtraderhez hasonló segédletet kerestem a neten amikor az oldalra akadtam. Azaz grafikus order be és sp/tp mozgathatóság grafikusan. Viszont találtam valami hasonlót a tiedhez http://www.metatraderlibrary.com/tradetools.php, de ezt is lehetne még fejlesztgetni. köszi a szkriptet

    • Köszi a tippet, érdekes. Az az egy bajom van vele, hogy a működési üzenetek oroszul vannak. Drag&drop megoldást egyébként én is szoktam használni a projektekben, egész elfogadható megoldássá nőheti ki magát, ha jól használja az ember.

  6. frissen regisztrált Tag vagyok és nagyon örülök, hogy rátaláltam erre az oldalra. Már néhány éve foglalkozom Robotolással és végre van egy olyan hely, ahol kellő mennyiségű ismeret áll rendelkezésre az úttörők számára. Gratulálok és köszönöm.

  7. Visszajelzés: Összes pozíció stoploss kilépésekor könyvelt veszteség | Radu MetaTrader blogja

  8. Szia!Régen voltam az oldaladon ez idáig minden programodat használtam tökéletesen működött de most a Profit calkulátor nem a pontos értéket mutatja !Letöltöttem az ujjat állítgattam de így sem !Kb 10 eur eltérést látok a sell poziknál a pillanatnyi árfolyamnál és a számlán lévőnél!Tudok ezen valahogy állítani?Köszi

    • Írd meg a pontos környezetet: bróker neve, instrumentum. Enélkül nem tudom reprodukálni az esetleges hibát.

      Ellenőrizd a verziószámot is, hogy a legfrissebb szkript (0.7) van-e nálad!

    • Szólok, ha rá tudtam nézni - leghamarabb holnap vagy jövő hét elején. Addig próbálgasd ki több instrumentumon, hogy ott jelentkezik-e a hiba.

MINDEN VÉLEMÉNY SZÁMÍT!