Lingwa algoritmika QPILE għall-ipprogrammar ta’ robots tal-kummerċ għal QUIK

Программирование

Lingwa algoritmika QPILE għall-ipprogrammar ta’ robots tal-kummerċ għal QUIK.
Ir-robots tal-kummerċ jistgħu jinkitbu f’lingwa speċifika, simili għall-kodiċi tal-programm. QPILE huwa wieħed minnhom, l-artikolu ser jikkunsidra din il-lingwa, iqabbel il-lingwi QPILE u
LUA , u jipprovdi wkoll eżempji ta ‘robots f’din il-lingwa.

Informazzjoni ġenerali dwar QPILE

QPILE hija abbrevjazzjoni li tirrappreżenta QUIK Programmable Interface u Logic Environment.

Din hija sensiela ta’ kmandi interpretati mill-istazzjon tax-xogħol QUIK. Jintuża prinċipalment biex jiġi kkalkulat il-prezz tal-portafolli tat-titoli. Il-lingwa tintuża wkoll għal:

  • kalkolu mill-ġdid dinamiku tal-prezz tal-assi tal-klijenti fuq id-desktop tas-sensar u fil-portafolli tagħhom. Fil-każ tal-aħħar, il-prezz totali tagħhom jiġi kkalkulat mill-ġdid ukoll;
  • is-sejba ta’ indikaturi neqsin bl-użu tal-algoritmi u d-dejta tagħhom stess għas-self marġinali;
  • tiżviluppa l-istrateġija kummerċjali t-tajba.

Il-lingwa tiddeskrivi l-istruttura tat-tabella: il-ħatra ta ‘kolonni u ringieli, formuli. F’dawn tal-aħħar, operazzjonijiet matematiċi, varjabbli, data minn tabelli oħra jistgħu jintużaw għall-kalkolu. Il-kodiċi tal-programm mgħobbi mis-server QUIK jew mid-diska tal-utent jiġi pproċessat mill-interpretu tal-lingwa, li jikkalkula l-valuri fil-formuli. It-tabelli ta ‘programm wieħed għandhom sors ta’ dejta wieħed, iżda l-kalkoli mhumiex duplikati u ma jaffettwawx l-effiċjenza tas-sistema. Meta taħdem mat-tabelli QUIK, it-tabelli fuq QPILE għandhom funzjonijiet standard. QUIK fuq il-post tax-xogħol huwa mgħammar b’debugger tal-kodiċi QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Il-lingwa tippermettilek tiddeskrivi tabelli ġodda bi struttura partikolari, tenfasizza ċelloli b’ċerti valuri, tikkalkula oqsma bbażati fuq espressjonijiet matematiċi u loġiċi. L-utent se jirċievi notifiki fil-forma ta ‘sinjal tal-ħoss jew messaġġ test. Tabelli fuq QPILE jistgħu jiġu editjati, stampati, ikkupjati, esportati permezz tas-server ODBC u DDE. Id-dejta inizjali hija mit-tabelli QUIK:

  • tranżazzjonijiet, inkluż għall-eżekuzzjoni u impersonali;
  • ordnijiet, inklużi ordnijiet ta’ waqfien, għal kummerċ u ordnijiet over-the-counter – rapporti għal kummerċ fi ftehimiet ta’ saldu;
  • “portafoll tal-klijenti”, “xiri/bigħ”
  • data mill-pożizzjonijiet tal-parteċipant bil-flus, kontijiet tal-kummerċ, strument.

Tabelli bbażati fuq QPILE ma jistgħux jiġu kkupjati għal fajl test permezz tal-menu tal-kuntest u esportati għal sistemi ta ‘analiżi teknika, u mapep ma jistgħux jiġu żviluppati bbażati fuqhom. Tabelli bbażati fuq QPILE ma jistgħux jiġu ffiltrati jew magħżula.

Ħidma ma ‘tabella

Biex tagħbija l-kodiċi tal-programm, trid tagħżel il-menu tas-servizzi, imbagħad skripts QPILE. Tista ‘wkoll tuża l-kombinazzjoni Ctrl+F11. Wara li għandek bżonn tikklikkja “Żid” u agħżel il-fajl mixtieq. Għandu estensjoni .qpl u ismu se jidher fil-lista ta ‘Scripts Disponibbli.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKJekk ikun hemm żball fil-programm, is-sistema tagħmel notifika fit-“Tieqa tal-messaġġ”, li jkun fiha l-isem tal-fajl difettuż u n-numru tal-linja bl-iżball. Jekk ma nstab l-ebda falliment fil-fajl, id-dejta li ġejja tiġi indikata fl-oqsma:

  • isem tal-mejda;
  • numru ta’ kolonni u klijenti;
  • lista ta’ identifikaturi u klijenti;
  • il-lista tal-parametri u l-kodiċi tas-sors tal-fajl.

Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKIl-buttuna “Niżżel lokalment” tippermettilek li tikseb it-tabella minn fajl, u “Upload to server” tibgħat il-programm lis-server sabiex l-utenti kollha jkunu jistgħu jaċċessawha. Biex toħloq tabella, ikklikkja Oħloq Tabella. Fl-“Iskripts Disponibbli” agħżel il-programm li għandek bżonn biex tesegwixxi, issettja n-numru ta ‘linji permezz tal-“Filtru tal-klijenti”, iddetermina l-kolonni meħtieġa u s-sekwenza tagħhom.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKJieqaf u jerġa ‘jibda l-kalkolu, jibda l-kalkolu mill-ġdid u fil-modalità debug, issalva d-deskrizzjoni f’fajl, turi l-formula, u parametri tal-iskrittura huma disponibbli fil-menu tal-kuntest.

kostruzzjonijiet QPILE

Tipi ta’ dejta

  • Spag – spag.
  • Double huwa numru floating point.
  • Ġbir – ġabra.
  • Mappa – firxa assoċjattiva – sekwenza ta ‘pari li tippermettilek tikseb informazzjoni permezz ta’ ċavetta.

Espressjonijiet

L-operazzjonijiet aritmetiċi ta ‘żieda, tnaqqis, multiplikazzjoni, diviżjoni huma applikati. Jintużaw ukoll l-espressjonijiet loġiċi “u”, “jew”, ugwali, aktar, inqas, inugwaljanzi, kostruzzjoni kondizzjonali “jekk … allura …”.

Funzjonijiet

Il-funzjonijiet jistgħu jinstabu kullimkien fil-programm u għandhom ismijiet differenti. B’kollox, 18-il grupp ta ‘funzjonijiet u funzjonijiet matematiċi huma disponibbli biex jinkisbu l-valuri ta’ tabelli u parametri, matriċi assoċjati, lista ta ‘tabelli, u kompiti oħra. L-ewwel grad:

  1. Funzjonijiet matematiċi li jippermettulek tirritorna l-valur tas-sine, cosine, tanġent, kotanġent tal-argument, tikkalkula l-esponent tal-argument, tiġġenera numru każwali, eċċ.
  2. Kmandi ġenerali : NEW_GLOBAL biex tinizjalizza varjabbli globali u MESSAGE biex tiftaħ messaġġi.

Funzjonijiet biex taħdem magħhom:

  • Kollezzjonijiet ta’ oġġetti (Ġbir) . Huma jippermettulek toħloq ġabra ġdida, tirritorna n-numru meħtieġ ta ‘elementi, tissostitwixxi jew daħħal il-valuri mixtieqa.
  • Arrays Assoċjattivi (MAP) . Għajnuna biex toħloq u tmexxi l-firxa.
  • Fajls – taħdem ma ‘fajls ta’ test, iżżomm log-log tal-programm. L-isem tal-fajl jista’ jkun fih il-mogħdija għalih.
  • Kordi .
  • Graffs . Funzjonijiet GET_CANDLE biex taċċessa dejta dwar ix-xemgħa u GET_CANDLE EX biex tirritorna firxa assoċjattiva.
  • Applikazzjonijiet . Ħolqien ta ‘ordnijiet u tibgħathom lis-sistema tal-kummerċ.
  • Tikketti . Il-kostruzzjoni u l-installazzjoni tagħhom fuq iċ-ċart. Iż-żieda, it-tħassir tat-tikketti waħda jew kollha, il-kisba u l-issettjar ta’ parametri għal tikketta speċifika.

Hemm ukoll funzjonijiet għal:

  1. Għall-aċċess għal ringieli ta’ tabelli QUIK arbitrarji u listi ta’ parametri disponibbli . Aċċess għad-dejta tal-mejda tal-post tax-xogħol. Dawn jinkludu GET_ITEM biex jirritorna l-MAP u GET_NUMBER_OF biex jirritorna n-numru ta’ entrati.
  2. Biex taħdem ma ‘tabella programmabbli . Dawn il-kmandi joperaw fuq il-mejda STESS. Huwa jinqara mill-funzjonijiet standard mill-paragrafu preċedenti u minn dawn il-funzjonijiet. Dan il-grupp jinkludi kmandi għaż-żieda, il-modifika u t-tħassir ta ‘ringiela b’indiċi, u l-ikklerjar kompletament tat-tabella PWN.

Biex tikseb valuri uża:

  1. Tabelli ta ‘snajja kurrenti . Il-ksib ta’ parametri ta’ informazzjoni ta’ skambju bl-użu ta’ kmandi GET_PARAM (_EX).
  2. Quote windows . Il-ksib tal-valuri tal-kwotazzjonijiet tal-istrumenti.
  3. Tabelli ta’ pożizzjonijiet skond l-istrumenti u l-flus . Il-ksib ta’ data fuq klijent, kumpanija, strument, kont depo b’kodiċi.

Funzjonijiet tas-servizz – jirritorna d-data tas-sessjoni tal-kummerċ kurrenti, serje assoċjattiva, data u ħin kurrenti, tiddetermina l-istat tal-konnessjoni, tinterrompi l-mod ta ‘kalkolu.

Programmi ta’ debugging

Kontroll pass pass fuq it-tħaddim tal-programm jitwettaq fit-tieqa “Debug”. Jinfetaħ mill-menu tal-kuntest “Ibda l-kalkolu fil-modalità debug”. Jista ‘jinfetaħ ukoll bil-kmand tal-breakpoint (), u l-linja tal-programm tkun enfasizzata bl-aħmar. It-tieqa fiha oqsma b’kodiċi tal-programm u valuri varjabbli. Fil-qiegħ tat-tieqa hemm buttuni “Il-pass li jmiss”, “Kompli l-eżekuzzjoni”, “Waqqaf il-kalkolu”. Tagħfas F5 se tkompli l-eżekuzzjoni tal-programm, il-kombinazzjoni Shift + F5 se tieqaf debugging, iċ-ċavetta F10 se tidderieġi lejn il-linja li jmiss.

QPILE jew LUA?

LUA hija lingwa ta ‘programmar ġdida għall-ħolqien ta’ robots tal-kummerċ. Bħal QPILE, huwa implimentat fit-terminal QUIK. https://articles.opexflow.com/programming/lua.htm Sit iddedikat għall-iżvilupp ta ‘robots tal-kummerċ għall-kummerċ juri l-vantaġġi tal-lingwa LUA fuq QPILE. Għalhekk, jista ‘jiffunzjona bħala script u bytecode mhux ikkompilat, mgħammar b’għodod tal-iżviluppatur u mekkaniżmi ta’ programmazzjoni orjentati lejn l-oġġetti. Oġġetti miktuba f’lingwi ta ‘programmar oħra jistgħu jiġu konnessi ma’ programmi LUA. LUA tipprovdi 8 tipi ta’ data, inklużi metatables. Il-lingwa LUA hija multi-threaded, veloċi, u t-tranżazzjonijiet u l-avvenimenti terminali huma asinkroniċi. LUA hija aktar komuni minn QPILE, u ħafna estensjonijiet inkitbu għaliha.

Il-lingwa QPILE issa hija deprecata. Esperti fuq il-fora jirrakkomandaw li tuża LUA. Għalkemm programmi utli u effettivi għadhom qed jintużaw.

Madankollu, il-lingwa QPILE hija sempliċi meta mqabbla ma ‘LUA, għalhekk jekk m’għandekx esperjenza fl-ipprogrammar, huwa aħjar li tagħżel QPILE. F’din il-lingwa, tista ‘tikteb robot sempliċi jekk m’għandekx bżonn twettaq kalkoli kumplessi.

Kif toħloq robot tal-kummerċ fuq QPILE?

Biex toħloq konsulent tal-kummerċ, ser ikollok bżonn il-programmi li ġejjin:

  1. ITS Quik.
  2. Editur tal-kodiċi Notepad++.
  3. Gwida għal QPILE.
  4. Plugin XML għall-iskoperta tal-kodiċi f’Notepad ++.

Niżżel u installa dawn il-programmi. Ippermetti s-sintassi tal-lingwa billi tpoġġi userDefineLang.xml fit-triq C:\Users\User\AppData\Roaming\Notepad++\
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKL-ewwel, ejja noħolqu l-istrateġija kummerċjali li ġejja. L-iskrittura għandha tikkalkula Hi u Low għall-aħħar ftit xemgħat kull minuta, iċċekkja l-prezz kurrenti tal-istrument. Pożizzjoni tinfetaħ fid-direzzjoni meħtieġa jekk il-prezz tal-istrument jilħaq il-valur massimu jew minimu għall-perjodu. Meta jiġi riċevut sinjal għal qasir, il-pożizzjoni twila tingħalaq awtomatikament. Ir-robot juża l-għodda GAZP, il-qafas ta ‘żmien huwa ssettjat għal 1 min. Il-fond tal-kejl hi-baxx huwa ssettjat għal 5 xemgħat. Biex tidħol Long, tiġi stabbilita regola u l-intersezzjoni tal-prezz kurrenti tal-valur massimu għall-perjodu. Ir-robot jidħol Qasira jekk il-prezz attwali jaqsam il-valur minimu għal dawn ix-xemgħat 5. Ikteb blokka ta ‘kodiċi f’Notepad ++ b’settings bażiċi u data u ħin tas-server. Dan il-kodiċi jidher fl-istampa hawn taħt.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKL-ewwel 4 linji ta ‘kodiċi jiffurmaw l-intestatura tal-programm. Bejn il-linji 6 u 44 hemm il-korp tal-programm, li fih il-kontenut tar-robot. Il-linji 7 – 12 fihom settings tal-utent, li jinkludu l-kodiċi tal-istrument, il-grupp u l-klijent, in-numru tal-kont fuq il-MICEX. Dawn il-valuri ma jinbidlux waqt l-eżekuzzjoni tal-programm. Linji 13 – 16 huma l-valuri inizjali tal-varjabbli. Dawn se jiġu ssettjati għal żero f’kull pass ta’ iterazzjoni. Il-linji 17 – 21 fihom indikazzjoni biex tuża d-data u l-ħin tas-server. Din id-dejta tiġi mgħoddija lill-funzjoni DATETIME u kkonvertita f’format ta’ test. Linji 22 – 29 jibagħtu d-dejta riċevuta lit-tabella. Il-kodiċi għandu jiġi ssejvjat u l-estensjoni qpl għandha tiġi speċifikata.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKIftaħ il-programm f’QUIK billi tagħfas Ctrl+F10 u tagħżel il-fajl qpl iġġenerat. Uża l-kombinazzjoni Ctrl+F11 biex tiftaħ it-tieqa “Aħdem ma’ Portafolli” u ssettja l-perjodu tal-kalkolu tal-portafoll għal 5 minuti. Agħfas Ctrl + F12 biex tissettja l-kolonni biex jintwerew fit-tabella. L-istampa turi r-riżultat tax-xogħol tar-robot.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKEjja nżidu ftit aktar funzjonijiet u kundizzjonijiet mal-programm tagħna.
Il-blokka “Settings tal-utent” hija supplimentata bil-varjabbli NUMRU u INTERVAL, li se jintużaw fil-funzjoni li jinkisbu l-aħħar N bars. Il-funzjoni DATETIME tistabbilixxi d-data u l-ħin tas-server, u l-funzjonijiet attwali tad-data u l-ħin CURDATE u CURTIME jissejħu minnha. Il-ħin kurrenti huwa kkonvertit għal numru fuq il-linja 24. Il-linja 26 tistabbilixxi l-ħin għall-algoritmu biex jibda mill-10:00:01 sas-18:40:00 UTC.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKLingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKĦafna drabi, indikaturi, oxxillaturi, kalkoli statistiċi huma kkalkulati mill-aħħar N xemgħat tal-grafika. QPILE m’għandux funzjoni biex jiġbor in-numru ta ‘xemgħat N perjodi ilu bħala tali, iżda hemm funzjoni GET_CANDLE li taċċessa x-xemgħat fuq il-grafika skond id-data u l-ħin f’format ta’ test. Il-kodiċi tagħna fih il-funzjoni biex tikseb l-aħħar N bars OHLC(). Joħloq ġabra bil-parametri tal-aħħar xemgħat imdaħħla fil-lista TAL-ĠBIR. Il-programm jiċċekkja l-valur INTERVAL, u jekk ma jaqax fil-medda 0…60, jintwera messaġġ li l-valur ma jikkorrispondix mal-medda permessa. Kollezzjoni MAP bix-xemgħat hija maħluqa fil-linja 88. A FOR loop polling iċ-ċart sal-fond meħtieġ bil-pass INTERVAL mix-xemgħa l-ġdida għall-qadima. Fil-linja 90, wara li ċ-ċiklu jiġi ddikjarat, ir-robot imur lura intervall. Meta tieħu xemgħa b’GET_CANDLE, poġġih fil-ġbir BARLIST billi tuża l-funzjoni INSERT_COLLECTION_TEAM. Bħala riżultat tat-tħaddim tal-kmand OHLC(), BARLIST jimtela bl-aħħar xemgħat mill-grafika tal-istrumenti fl-ammont ta ‘NUMRU. In-numru ta ‘elementi fil-ġbir huwa mitlub mill-kmand GET_COLLECTION_COUNT() u rrappurtat mill-varjabbli BARCOUNT. Id-data tas-server, il-ħin, il-valuri tal-varjabbli INSTRUMENT u BARCOUNT huma rrappurtati mill-funzjoni SET_VALUE() fl-OUTPUT. Din il-firxa hija maħluqa mill-kmand CREATE_MAP(). Id-dejta taqa ‘fit-tabella tad-dwana, li tista’ tidher fir-ritratt hawn taħt. il-valuri tal-varjabbli ISTRUMENT u BARCOUNT huma rrappurtati mill-funzjoni SET_VALUE() f’OUTPUT. Din il-firxa hija maħluqa mill-kmand CREATE_MAP(). Id-dejta taqa ‘fit-tabella tad-dwana, li tista’ tidher fir-ritratt hawn taħt. il-valuri tal-varjabbli ISTRUMENT u BARCOUNT huma rrappurtati mill-funzjoni SET_VALUE() f’OUTPUT. Din il-firxa hija maħluqa mill-kmand CREATE_MAP(). Id-dejta taqa ‘fit-tabella tad-dwana, li tista’ tidher fir-ritratt hawn taħt.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK

Kummerċ robots fuq QPILE – soluzzjonijiet lesti

Robot medju li jiċċaqlaq

Demo robot mhux adattat għall-kummerċ reali.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIKIr-robot jinkludi 5 parametri. Il-valuri tal-identifikatur DATA, ĦIN, PREZZ huma ssettjati għal-livell 30. L-identifikaturi MOVING u TP huma ssettjati għal preċiżjoni żero. Kodiċi robot fuq medja li tiċċaqlaq miktub taħt QPILE:

Kalkulatur tal-pożizzjoni N. Moroshkin

Programm għall-kalkolu tal-livelli tal-ġbid massimu permissibbli u l-mira għal pożizzjonijiet twal u qosra bi prezzijiet kurrenti tal-mistoqsija u tal-offerti. Il-livelli huma kkalkulati għal 2 valuri tal-volum tad-dħul tal-pożizzjoni. Ir-robot isib il-volum tal-pożizzjoni permissibbli meta jassenja ordni ta ‘waqfien f’pass wieħed mill-prezz tal-ftuħ bil-kalkolu tal-ftuħ ta’ pożizzjoni fid-direzzjoni tat-tkabbir tal-bar. Il-livelli misjuba jiddaħħlu fit-tieqa tat-terminal, li sussegwentement jiġu riflessi fil-grafika tal-prezz. It-tranżazzjonijiet huma ffissati għal strument partikolari. Jekk tinfetaħ pożizzjoni, ir-robot jibda jikkalkula l-parametri tiegħu. Skont il-bidla fil-pożizzjoni, l-ordnijiet assenjati huma aġġustati.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK

Filtru tal-volum

Robot tal-portafoll għall-kalkolu tal-medja aritmetika tal-volum għax-xemgħat u tqabbilha mal-prodott medju bil-koeffiċjent X. Jaħdem b’mod korrett ma ‘mapep plottjati fil-perjodu ta’ żmien magħżul.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK

Għażliet Griegi

Portafoll għall-kalkolu u l-wiri “Griegi” ta ‘għażliet. Huwa differenti mill-metodu Black-Showers.
Lingwa algoritmika QPILE għall-ipprogrammar ta' robots tal-kummerċ għal QUIK

Robot tal-kummerċ TRIX għal QUIK

Il-programm huwa bbażat fuq l-Indikatur TRIX. Meta l-indikatur jagħlaq ‘il fuq mil-linja żero, il-livell speċifikat, ir-robot jieħu l-pożizzjoni Long. Il-pożizzjoni hija magħluqa minn Take Profit, Stop Loss jew trailing stop.

Preproċessur M4

Programm ta’ ħidma ma’ QPILE u Lua. Jinkludi arkivji b’fajls eżekutibbli, dokumentazzjoni u fajls DLL b’parsing tal-espressjoni regolari. Biex tuża l-programm, għandek bżonn tħoll il-fajls eżekutibbli u poġġi regexp2 fil-passaġġ C:\Windows. Lezzjonijiet dwar QPILE għal QUIK: https://youtu.be/vMTXwDUujpI Installazzjoni ta’ skript fuq QPILE fit-terminal Quik: https://youtu.be/0B7qL8Svh7I Sezzjoni dwar github li tiddeskrivi l-użu tal-lingwa algoritmika QPILE mibni fil- Workstation tas-sistema QUIK li tinsab fil-link – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE hija lingwa skaduta, iżda pjuttost sempliċi u aċċessibbli anke għal negozjanti novizzi. Ir-robots tal-kummerċ u l-programmi li wrew lilhom infushom għal żmien twil ikomplu jaħdmu fuqha. Madankollu, għal kompiti aktar kumplessi huwa aħjar li tuża LUA.

info
Rate author
Add a comment

  1. Владимир Геннадьевич Евсеев

    Reply