robot write „lépésről lépésre” 1. lépése
[Eroshkin Eugene, egy magánbefektető]
Írja automatikus kereskedési lehet szinte bármilyen modern programozási nyelv, a legfontosabb dolog - közötti kapcsolat létrehozásához a terminál (vagy Exchange gateway) és az automatizált kereskedési rendszer. És ez megköveteli a meglehetősen komoly programozási ismeretek. A legolcsóbb módja - írásban robot Qpile nyelvet.
Plusz, ez a nyelv, hogy egyszerű és integrált közvetlenül a terminál Quik [1], ami növeli a megbízhatóságot a rakás „Terminál-robot.” Árnyoldala lehet azonosítani közötti kommunikáció hiánya a felhasználói felület (azaz a program indítható és leállítható, de nem tudja kezelni azt a folyamatot). Szintén problémás Qpile kezelni a nagy mennyiségű adat, amely korlátozásokat létrehozásáról szóló mechanikai rendszerek dolgozni nagyszámú bemeneti paramétereket. De elég egyszerű funkcionális stratégiák a nyelvet.
Stratégiák és eszközök
Bármilyen robot fut egy előre meghatározott algoritmus, amely egy logikai megvalósítási kereskedési stratégia. Stratégia a legfontosabb része minden gép (bár a mennyiség lehet elfoglalni egy kis része a kódot). Az ő választása - alapvető lépés az építőipar minden kereskedési rendszer, ez teszi a nyereséges rendszer, a másik vesztes, ceteris paribus. A probléma választotta a témában számos könyv stratégiák [2,3]. A cél ebben a cikksorozatban egy robot írási folyamat, amely független döntéseket a vásárlás / eladás, kiteszi alkalmazás és ellenőrzi azok végrehajtását (de nem garantált, hogy rá nézve, hogy nyereséges legyen). Mi algoritmus, hogy válasszon egy kereskedelmi rendszer, a kereskedő úgy dönt, pusztán egyéni. Úgy véljük, az egyik egyszerű stratégiák - a kereskedelmi csatorna. A algoritmus egyszerű: ha az ár egy bizonyos szint alá, veszünk, és ha a fenti - eladni. Ha az idézetek határain kívül a csatorna kedvezőtlen irányba számunkra, kijavítani a károkat.
Meg kell jegyezni, hogy a rögzített szint stratégia kifizetődő rövid távon, mert az idő múlásával az átlagos szintje megváltozhat, majd a kijelölt objektumokat jelentéktelenné válik. Ahhoz, hogy megoldja ezt a problémát, akkor némi bevásárlás szintek / dinamikus értékesítési, vagyis megköti azt a időszak átlaga. Ahhoz, hogy ez lehetséges, például egy technikai indikátor „mozgóátlag”. Így kell csinálni később. Most azonban, megállunk egy rögzített szinten elvét követve az egyszerűtől az összetett.
Végre egy kereskedési stratégia a csatorna két módon. Az első magában foglalja szintjének ellenőrzésével árak és az expozíció alkalmazások elérése a cél. Is, akkor azonnal megrendelhetik szinteken, függetlenül az aktuális ár, majd érvényesíteni. Az első módszer csak akkor alkalmazható eszközökre, amelyek az árak nem változnak túl gyorsan, különben, akkor nincs ideje heves mozgás. A második módszer alkalmas minden eszközt, de szükséges, hogy mindenkor figyelemmel kíséri azon alkalmazások teljesítményét, ha szükséges, átrendezni őket, vagy hogy lőni az összes vo (például dinamikusan változó vételi / eladási szint). Az első megközelítés egyszerűbb megvalósítani, így most laknak rajta. Az üzlet a gyors változások az ár és nem-teljesítése alkalmazások lesznek nyilvánvalóan előnyösebb piaci árak, azaz ezek a kezdetben megállapított csúszás.
Ha a kód van írva, mentse a fájlt a kiterjesztése * .qpl, akkor a terminál Quik nyissa ki a menüpont „asztal-> Portfeli-> Define Portfolio” (programot Quik nevű mappákat), vagy nyomjuk meg a Ctrl + F10 billentyűkombinációt. Válasszon fájlt, kattintson a gombra „Open”, „Download helyben”, majd az „Exit” (lásd. Ábra. 2).
Ábra. 2Punkty menü letölteni és futtatni programokat Qpile
Ábra. 3Programma, amely megszünteti a jelenlegi szerver órája
Most, hogy az első program működik, kezdve a javulás: megkapja a jelenlegi árak a kereslet / kínálat a kiválasztott eszköz értékét mi szinten, műszer nevét és időben a végrehajtás napokban. Az összes említett adat úgynevezett ugyanabban a táblázatban (lásd. „Eszköz”) kódot. Töltse le a programot Quik és futtatni. Ha minden helyes végrehajtását, megkapjuk az alábbi táblázatban (lásd. Ábra. 4).
Ábra. 4Vyvod eszköz paramétereit táblázatban
Megvan minden szükséges adatot, így továbbra is csak összehasonlítani jelenlegi árak a mi szinten. Ha az ár fölött a felső szinten a kereslet, ez annak a jele, hogy pro- akkor is, ha a lenti ajánlatot, mi alacsonyabb szinten, meg kell tenni a vásárlást. Rendezzük ezt a logikát a kódot (lásd. Code „összehasonlítás” adják csak a fő szerve a program).
Most, a program megjelenít egy üzenetet, ha az ár megy kívül a csatorna. Ezek azonban megjelenik minden ciklus végén a program, hogy van, másodpercenként, ami kényelmetlen a használata. Mi helyettesíti a szereplők üzenetek a következő sorokat.
IF PriceBid> = HiLevel server_time = "eladni"
„Ha az ár alatt van urovnyaLOW kereslet, meg kell vásárolni
IF PriceOffer <= LowLevel SERVER_TIME = "BUY"
Ebben az esetben a jeleket a vételi / eladási jelenik, de az oszlop «IDŐ» asztalra.
Írjunk programot, nem tudható, hogy a robotok, de ez is lehet nevezni egy tanácsadó, mivel nyilvántartja az árszínvonal és javaslatokat tesz lépéseket. Továbbra is biztosítani a funkcióját parancsokat osztogatott, és a robot elindul. Azonban előfordulhat váratlan nehézségek, például a kapcsolat megszakadását a szerverre, megáll kereskedés, a pénzügyi források hiánya a számla. Úgy vezet hibák és leállások. A következő cikkben fogunk tanítani a robot kilábalni váratlan helyzetekre.
Nem ajánlott azonnal megpróbálja a kereskedelem egy robot egy élő számla (különösen a korai módon szerezzenek szoftver írás tapasztalat), mert még a potenciálisan jövedelmező stratégia lehetséges hibákat a kódot, ami viszont vezethet súlyos veszteségeket (például fel az alkalmazást hibás ár és / vagy térfogat) akár nullára venni. Ez alkalmas hibakeresés a kódot, hogy egy demo számla.
Qpile (ProgrammableInterfaceandLogicEnvironment) - beysikopodobny nyelv, amely svoemarsenale üzemeltetők dannyhiz terminál Quik és a küldő alkalmazásokat.
Trading robot -kompyuternayaprogramma, gyártási birzhevuyuinformatsiyu a zaraneezadannomualgoritmusamostoyatelno fogadó resheniyao ügyletek otpravlyayuschayazayavki nabirzhu ellenőrző ihispolnenie isledyaschaya zapozitsiyami.
Trading Session - azt az időtartamot, amely alatt folytat aukciók a csere.