Gépi tanulási algoritmusok forex kereskedéshez,

gépi tanulási algoritmusok forex kereskedéshez

Látták: Átírás 1 Forex előrejelzés neurális hálózatokkal 1. Forex alapismeretek: A Forex piacon lehetőség van kereskedni magánemberként is, ehhez sok online szolgáltató létezik. A feladatnál a Tadawul nevű cég platformját használom. Azért esett erre a cégre a választás, mert ezt már régebbről ismerem.

You may not view this site from your current location.

Forex piacon a mögöttünk álló bank lehetővé teszi, hogy a pénzünk sokszorosát tegyük fel egy tranzakcióban pozícióban. Ez az érték általában és között állítható be számlanyitáskor. Határidős tranzakciókat végezhetünk, ami azt jelenti, hogy tényleges pénz áramlás nem történik, csak az árfolyamváltozásra spekulálunk és mindig vissza is váltjuk a pénzünket. A legtöbben ezen kereskednek, úgyhogy én is. Forex piacon az árfolyamot pipben mérik, ez az árfolyam utolsó tizedesjegye, esetemben a 4.

Léteznek 5 digites cégek is. Ez addig korrekt mérőszám amíg nincs hiperinfláció. Hiperinfláció esetén olyan gyors a változás, hogy nem tekinthető lineárisnak a skála.

Az adatokat egy szerver szolgáltatja, minden változást elküld. Ezeket a kliens fogadja és frissíti a grafikont, valamint meghívja a megfelelő függvényeket amik az automatizáláshoz tartoznak. Az adatokat csoportosítva szokás kezelni időegységenként. Lehetőség van 1, 5, 15, 30 perces csoportosításra, 1, 4 órásra, naposra, hetesre és hónaposra. Én az egy órás felbontást választottam, mert ezen gépi tanulási algoritmusok forex kereskedéshez elég nagy a mozgás, de még nem kell hozzá túl sok pénz.

Ha rövidebb timeframet használok akkor több az adatom, zajosabb is és kisebb a mozgás gyertyánként ha hosszabb timeframet használok akkor az adatok valamilyen módon szűrve vannak, nagyobb a mozgás, ami egyszerűbbé teszi a kereskedést, de kevesebb adatom lesz, ami viszont nehezít.

Több timeframe párhuzamos használatára is van lehetőség. Egy gyertyának rögzítve van a maximuma, a minimuma, a záró és a nyitó értéke. Ezek az adott időegység alatti árfolyamváltozást foglalják össze. A keresztárfolyam növekedésére való spekuláció a long pozíció, az esésre való spekuláció pedig a short pozíció. Pozíció nyitásának hívják, ha egy határidős tranzakciót indítok átváltom gépi tanulási algoritmusok forex kereskedéshez pénzem és pozíció zárásának amikor visszaváltom a pénzt.

Egy alapvető technika a pozíció zárására, hogy akkor zárom le, ha valamennyi előre megadott pipet visszamegy az árfolyam a nyitás felé, ezt csúszó-stopnak hívják. Egy másik akár ezzel párhuzamosan alkalmazható technika, hogy a profitomat realizálom azaz zárom a pozíciótha elért egy bizonyos általam megadott értéket, vagy a veszteségemet realizálom, ha az előzőhöz hasonlóan elért egy bizonyos mértéket.

Profit esetén takeprofit -nak veszteség esetén stoploss nak hívják ezeket. Egy ökölszabály, hogy stoplosst mindig használunk, mert különben nem lehetne garantálni, hogy nem vesztünk többet egy bizonyos mértéknél.

Erre is van egy ökölszabály, miszerint az összes pénzünk két százalékát szabad egy tranzakcióban kockáztatni. Ehhez még a lots értéket kell beállítani, ami a feltett pénz mennyisége.

legjobb kriptopénz-bróker

Az eladási és a vételi árfolyam között van néhány pip különbség, ez a bróker cég nyeresége. Egy másik szabály pedig, hogy nem lehet a stoploss és takeprofit szintet bármilyen közel rakni az aktuális árfolyamhoz. Mivel a stoploss és takeprofit szinteket el lehet küldeni a szervernek, ami egy biztonságos megoldás, mert nem függ az internetkapcsolattól, áramszünetektől, csak a szervertől, ezért a csúszó-stopot is így szokás implementálni, így ennek is van egy minimális értéke.

A demo számla játékpénzzel elvileg ugyan olyan, mint az igazi, de mindenhonnan azt hallottam, hogy az igazin nehezebb kereskedni, mert a szolgáltató lehet, hogy nem enged belépni, vagy kilépni esetleg.

Tapasztalatom csak egy kevés van erről, eddig csak azzal találkoztam, hogy automata használatáért levontak pénzt a számláról, úgy kellett külön szólni, hogy engedjenek automatával kereskedni.

Még azt kell tudni a Forexről, hogy nagy kockázatú befektetés, gépi tanulási algoritmusok forex kereskedéshez veszíteni rajta. MetaTrader4 lehetőségei: A kliens program amit használok a MetaTrader4. Ehhez van egy MQL4 nevű nyelv ami majdnem C, ezen lehet hozzá indikátorokat és automatákat írni.

Minden nyereséges online képzés tickre, azaz árfolyamváltozásra meghívja az általam megírt függvényeket.

Az indikátorok olyan idősorok amiket a konkrét adatokból képzek és segítenek megjósolni az árfolyamváltozást. Gyakorlatilag az idősor transzformáltjai, általában alul-áteresztő szűrők. Ezeknek az értékét le is lehet kérdezni.

Az automaták nem rajzolnak, hanem pozíciókat nyitnak és zárnak a profit reményében. A cél egy ilyen automata elkészítése a neurális háló előrejelzésére támaszkodva. A MetaTrader4 a start függvényt hívja meg minden ticre, van init és deinit függvényünk is. Az MQL 4 nyelvel kapcsolatban a docs. A MetaTrader4 ad egy teszter felületet is amin az automatákat ki lehet próbálni a műltbéli adatokra.

Itt be lehet állítani mindent úgy, mintha az ténylegesen futna, sőt lehetőség van keresztkiértékelésre is. Ezen kívül lehetőség van játékpénzzel gépi tanulási algoritmusok forex kereskedéshez számlát nyitni, amin ki lehet próbálni a tudásunkat.

Itt az ideje, hogy fokozza az online üzleti tevékenységet

Még egy fontos funkció van, hogy a múltbéli adatokat le lehet tölteni egy szerverről és ki lehet exportálni CSV fájlokba. MetaTrader4 felhasználói felülete 3. Ez a megoldás viszont nem biztosít callback függvényt, így önmagában kevés az automatizált kereskedéshez. Viszont minden jelzést azonnal tovább küld, elég gyors. Persze így sincs callback függvény, de mivel az MQL4 nyelv lehetővé tesz dll importot, ezért meg lehet hívni a matlab függvényeit úgy, hogy a visszatérési értéke alapján tudjak döntéseket hozni.

Ez pedig már elég a kereskedéshez. Ha a MATLABban van elég múltbéli adat a számítások elvégzéséhez akkor meg tudom hívni a megfelelő pillanatban a kiértékelést MQL4 logikából és az eredmény alapján MQL4 logikával el tudom dönteni, hogy ez alapján akarok-e pozíciót nyitni. Ebben a félévben viszont csak múltbéli adatokat használtam és nem valósítottam meg egyik módszert se, hanem csv fájlból importáltam a múltbéli adatokat és azt osztottam fel a kísérletezéshez.

Így online kereskedésre nem alkalmas a rendszer egyelőre, de kísérletek végzésére a múltbéli adatokon igen. Indikátorok az első kísérlethez: Az első kísérletem bemeneteként néhány indikátort alkalmaztam. Ezek mind olyanok amiket valamilyen formában használnak mások is, de nem így hívják. Nem is feltétlen pontosan ezek.

A legtöbb alapját egy mozgóátlag képzi aminek gépi tanulási algoritmusok forex kereskedéshez súlyozását be lehet állítani. Egyrészt azt, hogy mettől legyen nulla, ez a periódusnak nevezett paramétere, a másik pedig, hogy a súlyok milyenek legyenek.

Én minden esetben exponenciális súlyozást használtam.

Top 5 kedvenc az EURO 2020 megnyerésére

Simított Derivált: A keresztárfolyam mozgóátlagának a deriváltját használtam, mert ez elég gyorsan jelzi az irányváltásokat, de a simítás, azaz a mozgóátlag miatt nem csak egy ideges rángatózás minden apró változásra.

Simított görbe és deriváltja 4 Simított Második derivált: Ez még így a mozgóátlaggal simítva is nagyon sok fals jelzést ad, de mindenképpen jelez ott ahol nyitni kell egy pozíciót.

Hogyan keress pénzt az árfolyamok zuhanásából?

Akkor mondom, hogy jelez, ha elég nagy az értéke. Ilyen indikátorról például nem tudok. Valószínűleg azért nem használják, mert minden apróságot jelez.

Simított görbe és második deriváltja William's percent range: Ez egy hivatalosan is használt, publikált indikátor. Az a lényege, hogy megkeresi az adott periódusban az utolsó valahány gyertyahogy mennyi a maximum és mennyi a minimum árfolyam és megmondja százalékosan, hogy a kettő között hol tart most az árfolyam.

Crypto Bank megbízható? | 🥇 Fektetés előtt feltétlenül olvassa el

Maga után húzza a belépés szintjét és akkor jelez, amikor megfordul a maga után húzott szint és a pillanatnyi árfolyam helyzete. Csúszó-nyitás Simított csúszó-nyitás: Ugyan úgy működik, mint a csúszó-nyitás csak ez nem a valós Forex árfolyamot dolgozza fel, hanem annak egy mozgóátlaggal szűrt változatát.

Így kicsit többet is késik, de sokkal megbízhatóbb jelzéseket ad. Mozgóátlaggal simított csúszó-nyitás 6 Kereszt-derivált: Ez két derivált különbségét jelenti most. A két derivált két különböző periódusú mozgóátlag deriváltja. Hasonló jelzéseket ad, mint a második derivált, de sokkal tisztábban.

Lehet-e a robotokból is tőzsdeguru? - Privátbankálagzizenesz.hu

Persze nagyobb késéssel is. Akkor jelez, ha a különbség egy előre meghatározott szint fölé emelkedik. Keresztderivált Volatilitás mérő: A gyertyák méretét méri, azoknak a testét, a nyitó és a záró értékét, valamint a kanócát, azaz a többi részét a minimum és a maximum között súlyozva összeadja és ez alapján mond egy méretet. Ez nem tudom mennyire hasznos, de ha valamerre megindul gyorsan a piac akkor biztosan nagy gyertyák lesznek.

Volatilitás mérő, az előjele a gyertya előjelétől függ. Maximum gyertyán át szimuláltam, hogy ne legyen túl lassú. Kilépésre stoploss, takeprofit és csúszó-stop volt megadható. Így kirajzolta nekem a múltbéli adatokon, ahol már tudom az idősor folytatását is, hogy mekkora profitot várhattam volna, ha azon a ponton beléptem volna. Ez volt a cél kimenet a többi indikátor függvényében amit meg akartam tanítani egy MLPnek azt első kísérleteimben. Várható profit, piros a long, kék a short pozíciókra Mozgóátlag: Fontos paramétere a periódus ami azt mutatja meg, hogy mettől nullák a súlyok.

okos pénz, amely bitcoinba fektet

Gyakorlatilag egy alul-áteresztő szűrő. Azt reméltem, hogy ezzel közvetlenül meg tudom tanulni a profit függvényt.

A háló paramétereit fixen megadtam makrók segítségével és mindig újra fordítottam, ha az MQL4 program több vagy kevesebb bemenetet adott, vagy másik hálót akartam csinálni. Ezt azért csináltam így, mert egyszerűbb volt eleinte és nem volt célom egy általánosan használható MLP könyvtárat gyártani. Az exportált neveket sem dolgoztam át, mindig kiolvastam a def fájlból. Az implementációban egy neuron osztályt csináltam először ami lineáris vagy szigmoidos tudott lenni és be lehetett állítani a súlyait, meg le is lehetett kérdezni.

Volt tanító és végrehajtó függvénye. A másik osztály az MLP volt ami neuronokból állt és itt a tanító függvénnyel voltak problémáim, mert nem sikerült sehogy se megírni, hogy működjön. Aztán végül sikerült, eleinte a hiba visszaterjesztésnél nem jó súlyokat néztem, majd kiderült, hogy a deriválás kimaradt a lineáris neuronokból.

Az én könyvtáramban viszont az MLP el tudta menteni a konfigurációját egy fájlba és vissza is tudta tölteni. MQL4ből a következő függvények mennyi pénzt keresek bináris opció eladásával láthatóak: NeuronInit : Betölti a paraméterezést fájlból és rákapcsolja a hálóra az MQL4 felől jövő inputokat, meg az outputot.

NeuronDeinit : Elmenti a súlyozást. SetInput int i, double v Beállítja egy bemenetét a hálónak. NeuronCalc A beállított inputhoz kiszámítja a háló válaszát. NeuronTeache double mu, double muout, double x A beállított inputot és az x-et, mint gépi tanulási algoritmusok forex kereskedéshez, tanítja a hálónak mu paraméterrel és a muout paraméterrel a kimeneti rétegben. Mire elkészült az egyszerűbb kriptovaluta kereskedés addigra megtaláltam a FANN2MQL könyvtárat és inkább azt használtam fel a feladat megoldásához, mert az enyémmel ellentétben több rétegű hálók is implementálva voltak és hibát is tudott számolni.

Bár ezeket nem lett volna nehéz implementálni, de idő kellett volna még hozzá és azzal meg egy kicsit elcsúsztam itt. Gyakorlatilag egy MQL4 interfészből áll, ami egy header fájlban van kialakítva és egy DLL-ből ami a neurális háló funkcióit megvalósítja. Ezt a könyvtárat használtam fel végül az első kísérletben ahol a profit függvényt próbáltam közvetlenül megtanulni. Lineáris kimeneti réteget és szigmoidos rejtett rétegeket használtam.

Hozzászólás navigáció

Úgy állítottam be gépi tanulási algoritmusok forex kereskedéshez hálót, gépi tanulási algoritmusok forex kereskedéshez a fentebb leírt indikátorok voltak a bemenetei, két rejtett rétege volt valamint 25 és 10 neuron volt a rejtett rétegekben. Ennek próbáltam megtanítani a kimenetet, ami először csak a long pozíciók várható profitját tanulta, nem sok sikerrel, majd a short pozíciókkal együtt is megpróbáltam, de így se lett jobb.

Két tizedesre konstans nullát adott, miközben és között mozgott a célfüggvény. Előtte persze egy szinusz görbét sikeresen meg tudtam tanítani a hálózatnak, tehát sikerült megfelelően paraméterezni. Ebből arra következtettem, hogy valamelyik része a folyamatnak nem jól modellezhető. Mondjuk egy gyertya minimumát 1 pippel kisebbre vesszük. Tehát nagyon sok múlik összességében a véletlenen.

Ezért megpróbáltam az idősor értékét előrejelezni inkább néhány gyertyával. Ez sem sikerült, mert a tanítás során néha es szorzó is került valahogy a rendszerbe és képtelen volt megtanulni az idősort, bár valami köze volt hozzá mindig. Próbáltam az indikátorokat bemenetként használni, vagy az gépi tanulási algoritmusok forex kereskedéshez 7 és 24 közötti késleltetéseit, de hiába, nem lett jobb az eredmény.

Erről az oldalról ingyen le is tölthető az egész könyvtár. A newfftd paranccsal itt egy firmlp típusú hálót lehet létrehozni, ami nekem azért jó, mert kifejezetten idősor előrejelzésre találták ki. Úgy működik, hogy minden neuron bemenetére egy fir szűrőt kötünk egy mlp-ben. Így a bemenetek száma jelentősen megnő, ami tanításnál hátrány, de a dinamikus folyamatokat könnyebben modellezi.

A newfftd parancs bemenetei rendre az idősor cellamátrixként, majd a várt kimenet szintén cellamátrixban, utána a késleltető vektor, majd a neuronok száma rétegenként. A bemenet és a kimenet nálam egyszerűen az idősor volt megfelelő eltolással és a késleltetés vektor pedig minden fázist tartalmazott az aktuálistól a maximálisig.

A parancs egy firmlp hálót hoz létre ami még nincs megtanítva, ezt a train paranccsal kell megtenni. Ehhez a régebbi verziókban a sim parancsra is szükség volt, de ez az gépi tanulási algoritmusok forex kereskedéshez funkció kényelmes.

bináris opciók idézetek

Írtam egy szkriptet ami megcsinálta a megfelelő eltolást és a hálókat betanította a záró, maximum és minimum értékek előrejelzésére. Ezt paramétereztem addig amíg elég jó előrejelzéseket kaptam. Keresztkiértékelés nem igazán jött szóba, mert a gépi tanulási algoritmusok forex kereskedéshez tanítása valószínűleg az adatok mennyisége miatt körülbelül fél óra volt, persze a gépi tanulási algoritmusok forex kereskedéshez erősen függött.

Az adatokat csv fájlból importáltam és tanítómintám és tesztmintám volt. Paraméterezések: Az első paraméter amit meg kellett választani az a mozgóátlag periódusa volt. Ebből a öt választottam először, mert ez elég jól simított, valamint 1.

A simítás mértékének megfelelően késleltetett is sajnos ez a megoldás így és a hálónak kellett behoznia az indikátor lemaradását ami azért nem volt annyira szerencsés. Ez a késleltetés 2, 3 gyertyányi volt általában, de voltak szakaszok ahol 10 gyertya is lehetett, viszont ezek ritkák, és jól felismerhetőek.

Amikor egy nagy változás után szinte stagnál a piac. Ezt a görbét gyertyára sikerült előre jeleznem. Ami tulajdonképpen egészen jó eredmény lehetne, de mivel a simítás nagy mértékű és én is ilyen simított értéket kapok vissza ezért nem jelzi, hogy lesznek-e visszacsapások, vagy megy tovább szépen a piac. Így rövid távú skalpolásra nem igazán alkalmas ez a megoldás. A hosszabb távú kereskedéshez pedig kevés ez a néhány gyertyás előrejelzés, mivel nem derül ki belőle, hogy a piac megfordul-e.

Legalábbis nem elég hamar.

kriptokereskedelem kezdőknek

Kisebbre vettem a simítás értékét, mert így bár nehezebben előrejelezhető idősort kapok, de annak nem lesz szinte késleltetése önmagában és szinte illeszkedni fog a grafikonra.

Lásd még