Kapjuk adatok quik kereskedési robot kereskedési robot
A második szakaszban a kiadványok terv - mozgó menetrend szerint.
Tehát QPILE vannak a következő típusú adatokat (például):
STRING - string: "Profit" (idézőjelek olyan);
DOUBLE - float: 500,45;
COLLECTION -kollektsiya - objektumok listáját a indexelésének egész gombot, a semmiből;
MAP - asszociatív tömb - az adatok sorrendje azonosítjuk az értéket és a kulcs.
Minden változó lehet rendelni bármelyik fenti adattípusok.
String azonosítására használjuk a változókat és az értékeket a táblázatok:
ESZKÖZ = „RIM9”, ebben az esetben mi hozzá változó ESZKÖZ húr RIM9.
ÜZENET (Instrument, 1). végrehajtása után ezt az utasítást Kártyamásol megnyílik az üzenet boxban egy változó értékét ESZKÖZ. Úgy tűnik, hogy még a helyesírás a változó nevét ebben az esetben hosszabb, mint az érték, miért nem írja a kódot csak érték? A válasz egyszerű, vannak robotok, és jönnek létre, ahol a kereskedelem zajlik egy időben, úgy döntöttünk, előre a műszer. A kód lesz tíz helyen, ahol meg kell összehasonlítani, hogy a szó szerinti értékét, és az átmenet egy másik eszköz, meg kell változtatni mind a tíz területek az írást, és amikor hivatkozva változó elején a program - csak egyszer.
Lebegőpontos szám, minden egyszerű:
Itt van rendelve egy változó egész értékek, amelyeket aztán a számításokban használt, például:
A = (MOOVING1 + MOOVING2) * MULTIPLER / 100
Hozzászólások zárójelben végzik először, mint az iskolában.
A program során, akkor dinamikusan megváltoztatni a típusát a két változó, mint például:
KOEF = „3,14” - egy string (! Idézőjelek) és ha teszünk egy matematikai művelet vele. Kapunk száma:
A = KOEF + 0 - ennek eredményeként a változó számú A = 3,14, és fordítva, ha kell konvertálni a számot egy string, meg kell kombinálni, a szimbólum , Ez akár egy üres karakterlánc, vagy a szöveget:
Az eredmény a szöveget „Ratio 3,14”
Ez történt a nagyobb rugalmasság, de van egy kis mínusz: kézhezvételét követően a digitális adatokat táblázatok, szükséges, hogy tegye ki a nulla (vagy ha bármilyen más egyszerű matematikai műveletekkel számokkal) a kimeneti, hogy nagyon kitalálni. Tehát mi az első robot, ha a kapott ár az asztal összes ügylet: ÁR = GET_VALUE (GET_ITEM ( «ALL_TRADES», I), «ár») + 0. Ezért, ha az indítási robot megesküszik, hogy próbálják összehasonlítani a különböző típusú adatok az első helyen, hol adjunk „plusz egy”.
Megyünk tovább - Gyűjtemények és mapy. Részletes és jól leírható a „Használati útmutató QPILE” copy-paste őket itt nincs értelme - elemezzük őket részletesen, mivel létrehozásakor robot „kitörési” kap, hogy használja őket.
Most a legfontosabb - funkciók eléréséhez a sorok táblák tetszőleges QUIK. A megfelelő működése autonóm robot, csak szeretem a szükséges mennyiségű levegő a következő információkat:
- Aktuális egyenleg - a számítás a helyzetben;
- Jelenlegi nettó pozíció - értékeli a helyzetet;
- Az aktuális érték a GO - esetében művelet FORTS is kell számítani a helyzetben;
- Az ár a hangszer;
- Nyereség / veszteség, mivel az összes varmarzhi elhatárolások - ez világos, hogy miért;
- dátum;
- idő;
Ez még csak a kezdeti beállításokat később, még mindig van egy sokkal több. Mindezek a paramétereket kell beszerezni a QUIK, minden a program végrehajtását (emlékszünk, hogy legalább 1 alkalommal másodpercenként) egy igaz és pontos értékelést a helyzet. Mindegyik különböző helyekről, nézd meg mindent annak érdekében, hogy (FORTS)
Aktuális egyenleg vesszük az asztalon „az ügyfél számlák korlátozások” terepen „Limit nyitott pozíció” a vonal №1 (függ a közvetítő) funkció:
MoneyCurrentBalance = GET_VALUE (GET_ITEM ( «FUTURES_CLIENT_LIMITS», 1), «CBPLIMIT»)
Ha SZÉTSZERELI írt a saját szavaival kap „kap CBPLIMIT értéke a sorszám 1 FUTURES_CLIENT_LIMITS asztalra.
Leírása a nevét asztalok és opciók vannak megadva QPILE kézikönyv részben 8.9.3
Jelenlegi nettó pozíció:
TP = GET_VALUE (GET_ITEM ( «FUTURES_CLIENT_HOLDINGS», 1), «TOTAL_NET»)
Az aktuális érték a GO. Itt egy kicsit más, mert GO áll a táblázat az aktuális értékeket a paraméterek, a funkció némileg eltér:
GO = GET_VALUE (GET_PARAM_EX ( «SPBFUT», eszköz, "selldepo"), "param_value")
Ár = GET_VALUE (GET_PARAM_EX ( «SPBFUT», eszköz, "utolsó"), "param_value")
Profit = GET_VALUE (GET_ITEM ( «FUTURES_CLIENT_LIMITS», 1), «VARMARGIN») + GET_VALUE (GET_ITEM ( «FUTURES_CLIENT_LIMITS», 1), «ACCRUEDINT»)
Amit elfelejtette? Ez így van! Minden beérkezett számszerű adatokat add nulla!
Azt is meg kell jegyezni, hogy a létesítmény egy kereskedési robot. adatokat kell fogadni egyszerre, mint a jelenlegi nettó pozíció, végrehajtása során a robot program nem változik, és hogy nem történt volna meg a QUIK, és amíg a következő alkalommal, amikor a robot elindul, akkor lehet, hogy friss adatokat.
A következő cikkben cím alatt a „Trading Robot” Megbeszéljük a robot algoritmust kereskedés „Probojnaja” stratégia, majd kiterjesztése létrehozni. Mindaz, amit már tárgyalt ma hasznos számunkra.
Eugene, általában az alábbi blog bejegyzések érdekes lenne látni egy példát táblázat az időbeli változások előre meghatározott időközönként tőke (időkeret-edik) 1 perc, 5 perc, óránként. opcionális. Egy ilyen táblázat hasznos lenne, akkor a kiviteli keresztül DDE Excel és ábrázoltuk Equity. A fő nehézség, véleményem szerint az, hogy rendezze a régi a táblázatok: különböző korlátozások, variatsionka halmozott jövedelem, cseredíjak, ügynöki jutalékok, stb és hogy az tükrözze a egyszámjegyű - a jelenlegi állapotában a számla (összhangban a piaci áron). Nagyszerű lenne látni a verzió!
Tehát ebben a táblázatban, és így lehet exportálni Excel.
Ez nem ad eredményt egy bizonyos periodicitás
Jelenlegi állapotában a számla nem tükröződik sehol. Például a bróker jutalék levonásra csak délelőtt.