Post „write robot qpile

Az interneten is rengeteg szkriptek Qpile, de a gyakorlatban nincs egyszerű iránymutatások „írás QPILE a semmiből.” Ezért ezt az sorozat órák. Az első lecke, megbeszéljük az alapfogalmak QPILE, állítsa be a munkaterületre, és hozzon létre egy alapot a jövőben a robot.

fejlesztési eszközök

ahol <имя пользователя> - Fiókot, amely alatt van a rendszerben.

elmélet QPILE

program fájlt mindig Egy fejléccel kezdődik és végződik a vonal «END_PORTFOLIO_EX».
További információk a szerkezet QPL-program és a szintaxis megtalálható a használati útmutató, és térjünk vissza a leírást kereskedési stratégia.

kereskedési stratégia

Mi fokozatosan végre az alábbi stratégiákat a kódot:
Qpile-script minden perc számít Hi és Low az utóbbi néhány gyertyát, ellenőrzi az aktuális ár az eszköz, és ha átmegy a maximális vagy minimális áron egy ideig, állást foglal a helyes irányba.
A stratégia reverzibilis, azaz a shortavtomaticheski megszerzése hosszú jel zárt helyzetbe, és fordítva. Stratégia - edzés, és ezért nagyobb a valószínűsége annak, hogy pénzt nem működik, de megérteni az elveket a QPILE- is :)

A paraméterek a kereskedési rendszer:

programkód

A kezdéshez levelet kód blokk, amely adható alapbeállítások és a dátum / idő QUIK szerver és a nevét a szerszám az asztalra. Meg fog szolgálni számunkra a keretet, mely alapján fogunk „építeni” további szolgáltatásokat.

Kod1.1
PORTFOLIO_EX Hi-Low ROBOT;
DESCRIPTIONRobot áttörni a magasságra és Louis;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

PROGRAM
„========= Felhasználói beállítások =============
ESZKÖZ = „GAZP” „eszköz kódot
CLASSCODE = "EQNE" „csoport kódot
ACCOUNT = „L00-00000000” „itt megadott a számlaszámot a MICEX
CLIENTCODE = „00000” „ide adja meg az ügyfél kódot

„Változó ==================== ==================
HH = 0 „nulla ki a legtöbbet
LL = 10000000 „nulla ki legalább

„SERVER =============== =============== DATE AND TIME
SERVERDATE = GET_INFO_PARAM ( „TRADEDATE”) „kiszolgáló dátumot a következő formátumban NN.HH.ÉÉÉÉ
Servertime = GET_INFO_PARAM ( "Servertime") „szerver időt, HH: MM: SS
DATETIME (SERVERDATE, Servertime) „hívás dátum-idő függvények

„=============== =============== adatokat a táblázatban
DELETE_ALL_ITEMS ()
Kimenet = CREATE_MAP ()
Kimenet = SET_VALUE (Output "SERVERDATE". SERVERDATE)
Kimenet = SET_VALUE (Output "Servertime". Servertime)
Kimenet = SET_VALUE (OUTPUT, "eszköz". ESZKÖZ)
Berak (1, OUTPUT)

„Jellemzők =============== ===============
„Működése a szerver DATE AND TIME
FUNC DATETIME (FSERVERDATE, FSERVERTIME)
CURYEAR = SUBSTR (FSERVERDATE, 6,4) „ebben az évben egy szöveges formátumban
CURMONTH = SUBSTR (FSERVERDATE, 3,2) „hónap szöveges formátumban
CURDAY = SUBSTR (FSERVERDATE, 0,2) „A mai nap egyszerű szöveges formátumban
CURDATE = CURYEAR CURMONTH CURDAY „dátum szöveges formátumban

CURHOUR = SUBSTR (FSERVERTIME, 0,2) „órát a jelenlegi szöveges formátumban
CURMIN = SUBSTR (FSERVERTIME, 3,2) „aktuális perc táblázatos formátumban
CURSEC = SUBSTR (FSERVERTIME, 6,2) „második jelenlegi szöveg formátumban
CURTIME = CURHOUR CURMIN CURSEC múlva szöveges formátumban
END FUNC

Paraméter SERVERDATE;
PARAMETER_TITLE dátum;
PARAMETER_DESCRIPTION aktuális dátum;
PARAMETER_TYPE STRING (10);
VÉGE

Paraméter Servertime;
PARAMETER_TITLE idő;
PARAMETER_DESCRIPTION aktuális idő;
PARAMETER_TYPE STRING (10);
VÉGE

Paraméter eszközre;
PARAMETER_TITLE eszköz;
PARAMETER_DESCRIPTION forgalmazott eszközök;
PARAMETER_TYPE STRING (4);
VÉGE

Meg kell másolni a kódot Notepad ++ és mentse a fájlt a következő kiterjesztéssel .qpl

elemzési kód

Az első négy sor - a program neve.
Továbbá, a sorok között is Programı END_PROGRAM test programot. A szervezetben a fő program logikáját megfogalmazta:
Egyéni beállítások (eszköz kódot, kódját, a számlaszám a MICEX és az ügyfél-kód) - ez a változó. amelyek nem változtatják meg a program végrehajtása során.

Változó - az a terület, a számítógép memóriájában egy változó értékét határozza meg a program, vagy a felhasználó által.


A kezdeti változók értékei - „maximális” és a „legalább”. Ezek a változók fog irányulni, hogy a kezdeti értékek (nullázni) minden lépésben a program (iteráció).

Következő lépésben a dátumot és az időt a szerver, és adja át őket a DATETIME funkció átalakítására a szöveg formátumú adatokat. Ez szükségessé teszi számunkra a jövőben az a program végrehajtásának algoritmusok.

FunktsiyavQPILE- alprogramban amelyben az érvek vesszővel elválasztva továbbítani a legfőbb szerve a program egy adott kezelés. A QPILE használhatja a funkciót, amelyet a nyelv maga (például funkciók számolótáblákkal), vagy határozza meg a saját (egyéni) funkciókat. Általában a közös feladatok (például információ rögzítésére egy log-fájl, a dátumot és az időt egy kérést a szervernek, kerekítés a számok, küldés ügyletet a tőzsde, stb) segítségével valósítja funkciókat. Elvégzése után a funkciót, a program tovább fut a helyről, ahol a függvény hívták.

A kapott adatok jelennek meg a táblázatban. Leírás paramétertábla beállítások PARAMETER_TITLE, PARAMETER_DESCRIPTION, PARAMETER_TYPE ott QPILE nyelvű útmutató, ezért nem fogunk lakni őket részletesen.

Betöltése robot kereskedelmi terminál QUIK

Töltse le a robot kell ITS QUIK
  1. Kérdezd meg a Ctrl + F10 portfolió, és válassza ki Explorer QPL iratokból azt korábban elmentett.
  2. Összehangolása időszak számítása portfolió formájában „Job portfóliók” 5 perc (okozta billentyűkombináció CTRL + F11)
  3. Határozza meg az oszlopokat, hogy a táblázatban szereplő (Ctrl + F12). Általában bővül a megjelenítendő oszlopok a táblázatban.
  4. Az algoritmus automatikusan elkezd dolgozni

A program eredményeként látható a képen:

Post „write robot qpile