Algoritminen kieli QPILE kaupparobottien ohjelmointiin QUIKille.
Kaupankäyntirobotit voidaan kirjoittaa tietyllä kielellä, kuten ohjelmakoodi. QPILE on yksi niistä, tässä artikkelissa tarkastellaan tätä kieltä, verrataan QPILE- ja
LUA-kieliä ja annetaan myös esimerkkejä roboteista tällä kielellä.
- Yleistä QPILE:stä
- Työskentely pöydän kanssa
- QPILE-rakenteet
- Tietotyypit
- Ilmaisut
- Toiminnot
- Virheenkorjausohjelmat
- QPILE vai LUA?
- Kuinka luoda kaupparobotti QPILEssä?
- QPILE-kaupankäyntirobotit – valmiit ratkaisut
- Liikkuva keskiverto robotti
- N. Moroshkinin sijaintilaskin
- Äänenvoimakkuuden suodatin
- Vaihtoehdot kreikkalaiset
- TRIX-kaupparobotti QUIKille
- M4 esiprosessori
Yleistä QPILE:stä
QPILE on lyhenne sanoista QUIK Programmable Interface and Logic Environment.
Tämä on sarja QUIK-työaseman tulkitsemia komentoja. Sitä käytetään pääasiassa arvopaperisalkkujen hintojen laskemiseen. Kieltä käytetään myös:
- asiakkaiden omaisuuden hinnan dynaaminen uudelleenlaskenta välittäjän työpöydällä ja heidän salkuissaan. Jälkimmäisessä tapauksessa myös niiden kokonaishinta lasketaan uudelleen;
- puuttuvien indikaattoreiden löytäminen käyttämällä omia algoritmejaan ja tietoja marginaalilainaa varten;
- oikean kaupankäyntistrategian kehittäminen.
Kieli kuvaa taulukon rakennetta: sarakkeiden ja rivien merkintä, kaavat. Jälkimmäisessä laskennassa voidaan käyttää matemaattisia operaatioita, muuttujia, tietoja muista taulukoista. QUIK-palvelimelta tai käyttäjän levyltä ladatun ohjelmakoodin käsittelee kielitulkki, joka laskee kaavoissa olevat arvot. Yhden ohjelman taulukoissa on yksi tietolähde, mutta laskelmat eivät ole päällekkäisiä eivätkä vaikuta järjestelmän tehokkuuteen. QUIK-taulukoiden kanssa työskennellessä QPILE-taulukoissa on vakiotoimintoja. QUIK työpaikalla on varustettu QPILE-koodin debuggerilla. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Kielen avulla voit kuvata uusia taulukoita tietyllä rakenteella, korostaa soluja tietyillä arvoilla, laskea kenttiä matemaattisten ja loogisten lausekkeiden perusteella. Käyttäjä saa ilmoituksia äänimerkin tai tekstiviestin muodossa. QPILE-taulukoita voidaan muokata, tulostaa, kopioida, viedä ODBC- ja DDE-palvelimen kautta. Alkutiedot ovat QUIK-taulukoista:
- liiketoimet, mukaan lukien toteutus ja persoonaton;
- toimeksiannot, mukaan lukien stop-toimeksiannot, over-the-counter-kauppoja ja toimeksiantoja varten – selvityskauppojen kauppojen raportit;
- ”asiakassalkku”, ”osta/myy”
- tiedot osallistujan positioista rahan, kaupankäyntitilien, instrumenttien mukaan.
QPILE-pohjaisia taulukoita ei voi kopioida tekstitiedostoon kontekstivalikon kautta ja viedä teknisiin analyysijärjestelmiin, eikä niiden pohjalta voida kehittää kaavioita. QPILE-pohjaisia taulukoita ei voi suodattaa tai lajitella.
Työskentely pöydän kanssa
Ohjelmakoodin lataamiseksi sinun on valittava Palvelut-valikko ja sitten QPILE-skriptit. Voit myös käyttää yhdistelmää Ctrl+F11. Kun sinun on napsautettava ”Lisää” ja valittava haluamasi tiedosto. Sillä on .qpl-tunniste, ja sen nimi näkyy Available Scripts -luettelossa.
- taulukon nimi;
- sarakkeiden ja asiakkaiden määrä;
- luettelo tunnisteista ja asiakkaista;
- parametrien luettelo ja tiedoston lähdekoodi.
QPILE-rakenteet
Tietotyypit
- String – merkkijono.
- Double on liukuluku.
- Kokoelma – kokoelma.
- Kartta – assosiatiivinen matriisi – parien sarja, jonka avulla voit saada tietoa avaimella.
Ilmaisut
Sovelletaan aritmeettisia yhteen-, vähennys-, kerto- ja jakolaskuoperaatioita. Käytetään myös loogisia ilmaisuja ”ja”, ”tai”, yhtä kuin enemmän, vähemmän, epäyhtälöt, ehdollinen konstruktio ”jos … niin …”.
Toiminnot
Toiminnot voivat sijaita missä tahansa ohjelmassa ja niillä voi olla eri nimiä. Yhteensä 18 ryhmää matemaattisia funktioita ja funktioita on käytettävissä taulukoiden ja parametrien arvojen, assosiatiivisten taulukoiden, taulukkoluettelon ja muiden tehtävien saamiseksi. Ensiluokkainen:
- Matemaattiset funktiot , joiden avulla voit palauttaa argumentin sinin, kosinin, tangentin, kotangentin arvon, laskea argumentin eksponentin, luoda satunnaisluvun jne.
- Yleiset komennot : NEW_GLOBAL globaalin muuttujan alustamiseksi ja MESSAGE viestien avaamiseksi.
Toiminnot, joiden kanssa työskennellä:
- Esinekokoelmat (kokoelma) . Niiden avulla voit luoda uuden kokoelman, palauttaa tarvittavan määrän elementtejä, korvata tai lisätä haluamasi arvot.
- Assosiatiiviset taulukot (MAP) . Auta luomaan ja hallitsemaan taulukkoa.
- Tiedostot – työskentely tekstitiedostojen kanssa, ylläpitää ohjelman lokia. Tiedostonimi voi sisältää polun siihen.
- jouset .
- Kaaviot . Funktio GET_CANDLE käyttää kynttilän tietoja ja GET_CANDLE EX palauttaa assosiatiivisen taulukon.
- Sovellukset . Tilausten luominen ja lähettäminen kaupankäyntijärjestelmään.
- Tunnisteet . Niiden rakentaminen ja asennus kartalla. Yhden tai kaikkien tarrojen lisääminen, poistaminen, parametrien hakeminen ja asettaminen tietylle tarralle.
Toimintoja on myös:
- Satunnaisten QUIK-taulukoiden riveihin ja käytettävissä olevien parametrien luetteloihin pääsyä varten . Pääsy työpaikan taulukkotietoihin. Näitä ovat GET_ITEM palauttaaksesi MAP ja GET_NUMBER_OF palauttaaksesi merkintöjen määrän.
- Työskentely ohjelmoitavan pöydän kanssa . Nämä komennot toimivat OWN-taulukossa. Se on luettavissa edellisen kappaleen vakiofunktioilla ja näillä funktioilla. Tämä ryhmä sisältää komennot indeksin sisältävän rivin lisäämiseen, muokkaamiseen ja poistamiseen sekä OMAN taulukon täydelliseen tyhjentämiseen.
Käytä arvoja saadaksesi:
- Nykyisten kauppojen taulukot . Vaihtotietojen parametrien hakeminen GET_PARAM (_EX) -komennoilla.
- Lainaus windows . Instrumenttitarjousten arvojen hankkiminen.
- Asemataulukot instrumenttien ja rahan mukaan . Asiakkaan, yrityksen, instrumentin, depo-tilin tietojen saaminen koodin mukaan.
Palvelutoiminnot – nykyisen kauppaistunnon päivämäärän, assosiatiivisen sarjan, nykyisen päivämäärän ja kellonajan palauttaminen, yhteyden tilan määrittäminen, laskentatilan keskeyttäminen.
Virheenkorjausohjelmat
Ohjelman toiminnan vaiheittainen ohjaus suoritetaan ”Debug” -ikkunassa. Se avataan pikavalikosta ”Aloita laskenta virheenkorjaustilassa”. Se voidaan avata myös breakpoint()-komennolla, jolloin ohjelmarivi korostuu punaisella. Ikkuna sisältää kenttiä ohjelmakoodilla ja muuttujaarvoilla. Ikkunan alareunassa on painikkeet ”Seuraava vaihe”, ”Jatka suoritusta”, ”Lopeta laskenta”. F5-näppäimen painaminen jatkaa ohjelman suorittamista, yhdistelmä Shift + F5 lopettaa virheenkorjauksen, F10-näppäin ohjaa seuraavalle riville.
QPILE vai LUA?
LUA on uusi ohjelmointikieli kaupparobottien luomiseen. Kuten QPILE, se on toteutettu QUIK-päätteessä. https://articles.opexflow.com/programming/lua.htm Kaupankäyntirobottien kehittämiselle omistettu sivusto näyttää LUA-kielen edut QPILEen verrattuna. Joten se voi toimia kääntämättömänä komentosarjana ja tavukoodina, joka on varustettu kehittäjätyökaluilla ja olio-ohjelmointimekanismilla. Muilla ohjelmointikielillä kirjoitetut objektit voidaan liittää LUA-ohjelmiin. LUA tarjoaa 8 tietotyyppiä, mukaan lukien metataulukot. LUA-kieli on monisäikeinen, nopea, ja tapahtumat ja päätetapahtumat ovat asynkronisia. LUA on yleisempi kuin QPILE, ja sille on kirjoitettu monia laajennuksia.
QPILE-kieli on nyt vanhentunut. Foorumien asiantuntijat suosittelevat LUA:n käyttöä. Vaikka hyödyllisiä ja tehokkaita ohjelmia käytetään edelleen.
QPILE-kieli on kuitenkin yksinkertainen verrattuna LUA:han, joten jos sinulla ei ole kokemusta ohjelmoinnista, on parempi valita QPILE. Tällä kielellä voit kirjoittaa yksinkertaisen robotin, jos sinun ei tarvitse suorittaa monimutkaisia laskelmia.
Kuinka luoda kaupparobotti QPILEssä?
Kaupankäyntineuvojan luomiseksi tarvitset seuraavat ohjelmat:
- Sen Quik.
- Notepad++ koodieditori.
- QPILE-opas.
- XML-laajennus koodin havaitsemiseen Notepad++:ssa.
Lataa ja asenna nämä ohjelmat. Ota kielen syntaksi käyttöön asettamalla userDefineLang.xml polkuun C:\Users\User\ AppData\Roaming\Notepad++\
”Käyttäjäasetukset”-lohkoa täydennetään NUMBER- ja INTERVAL-muuttujilla, joita käytetään viimeisen N-palkin hankinnassa. DATETIME-funktio asettaa palvelimen päivämäärän ja kellonajan, ja nykyiset päivämäärä- ja aikafunktiot CURDATE ja CURTIME kutsutaan siitä. Nykyinen aika muunnetaan numeroksi rivillä 24. Rivi 26 asettaa algoritmin suoritusajan 10:00:01 – 18:40:00 UTC.
QPILE-kaupankäyntirobotit – valmiit ratkaisut
Liikkuva keskiverto robotti
Demorobotti ei sovellu oikeaan kauppaan.
N. Moroshkinin sijaintilaskin
Ohjelma, jolla lasketaan suurimman sallitun noston tasot sekä pitkien ja lyhyiden positioiden tavoite nykyisillä myynti- ja ostohinnoilla. Tasot lasketaan kahdelle paikan syöttötilavuuden arvolle. Robotti löytää sallitun asemavolyymin annettaessa stop-tilausta yhdessä vaiheessa avaushinnasta laskemalla positio avauspalkin ylöspäin. Löydetyt tasot syötetään pääteikkunaan, joka näkyy myöhemmin hintakaaviossa. Liiketoimet ovat kiinteät tietylle instrumentille. Jos paikka avataan, robotti alkaa laskea parametrejaan. Aseman muutoksesta riippuen määrättyjä tilauksia säädetään.
Äänenvoimakkuuden suodatin
Robotti-portfolio kynttilöiden tilavuuden aritmeettisen keskiarvon laskemiseen ja sen vertaamiseen X-kertoimen keskimääräiseen tuloon Toimii oikein piirretyillä kaavioilla valitulla ajanjaksolla.
Vaihtoehdot kreikkalaiset
Portfolio ”kreikkalaisten” vaihtoehtojen laskemiseen ja näyttämiseen. Se eroaa Black-Showers-menetelmästä.
TRIX-kaupparobotti QUIKille
Ohjelma perustuu TRIX-indikaattoriin. Kun ilmaisin sulkeutuu nollaviivan yläpuolelle määritellyn tason yläpuolelle, robotti ottaa pitkän asennon. Positio suljetaan Take Profitilla, Stop Lossilla tai perässä.
M4 esiprosessori
Ohjelma QPILEn ja Luan kanssa työskentelemiseen. Sisältää arkistot, joissa on suoritettavat tiedostot, asiakirjat ja DLL-tiedostot säännöllisen lausekkeen jäsentämisellä. Jotta voit käyttää ohjelmaa, sinun on purettava suoritettavat tiedostot ja asetettava regexp2 C:\Windows-polkuun. Oppitunnit QPILE:stä QUIK:lle: https://youtu.be/vMTXwDUujpI Skriptin asentaminen QPILE:hen Quik-päätteeseen: https://youtu.be/0B7qL8Svh7I Githubin osio, joka kuvaa QPILE-algoritmikielen käyttöä, joka on sisäänrakennettu QUIK-järjestelmätyöasema löytyy linkistä – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE on vanhentunut kieli, mutta melko yksinkertainen ja jopa aloittelevien kauppiaiden saatavilla. Kaupankäyntirobotit ja -ohjelmat, jotka ovat osoittautuneet jo pitkään, työskentelevät edelleen sen parissa. Monimutkaisempiin tehtäviin on kuitenkin parempi käyttää LUA:ta.
0к