Lang algoritmik QPILE pou pwogramasyon robo komès pou QUIK.
Komès robo yo ka ekri nan yon lang espesifik, menm jan ak kòd pwogram. QPILE se youn nan yo, atik la pral konsidere lang sa a, konpare lang QPILE ak
LUA , epi tou bay egzanp robo nan lang sa a.
- Enfòmasyon jeneral sou QPILE
- Travay ak yon tab
- QPILE konstwi
- Kalite done yo
- Ekspresyon
- Fonksyon
- Pwogram debogaj
- QPILE oswa LUA?
- Ki jan yo kreye yon robo komès sou QPILE?
- Komès robo sou QPILE – solisyon pare yo
- K ap deplase robo mwayèn
- N. Moroshkin kalkilatris pozisyon
- Volim filtre
- Opsyon moun Lagrès
- TRIX komès robo pou QUIK
- M4 Preprocessor
Enfòmasyon jeneral sou QPILE
QPILE se yon abrevyasyon ki vle di QUIK Programmable Interface ak anviwònman lojik.
Sa a se yon seri kòmandman entèprete pa estasyon travay QUIK la. Li se sitou itilize yo kalkile pri a nan pòtfolyo nan sekirite. Yo itilize lang nan tou pou:
- rekalkil dinamik nan pri a nan byen kliyan yo sou Desktop koutye a ak nan pòtfolyo yo. Nan dènye ka a, pri total yo tou rekalkile;
- jwenn endikatè ki manke yo lè l sèvi avèk pwòp algoritm ak done yo pou prete Marge;
- devlope estrateji komès dwat la.
Langaj la dekri estrikti tab la: randevou kolòn ak ranje, fòmil. Nan lèt la, operasyon matematik, varyab, done ki soti nan lòt tab yo ka itilize pou kalkil. Kòd pwogram ki chaje nan sèvè QUIK la oswa nan disk itilizatè a trete pa entèprèt lang, ki kalkile valè yo nan fòmil yo. Tablo yo nan yon pwogram gen yon sèl sous done, men kalkil yo pa kopi epi yo pa afekte efikasite nan sistèm nan. Lè w ap travay ak tab QUIK, tab sou QPILE gen fonksyon estanda. QUIK nan espas travay la ekipe ak yon debogaj kòd QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Langaj la pèmèt ou dekri nouvo tab ak yon estrikti bay, mete aksan sou selil ki gen sèten valè, kalkile jaden ki baze sou ekspresyon matematik ak lojik. Itilizatè a pral resevwa notifikasyon sou fòm yon siyal son oswa yon mesaj tèks. Tablo sou QPILE ka modifye, enprime, kopye, ekspòte atravè sèvè ODBC ak DDE. Done inisyal yo soti nan tablo QUIK yo:
- tranzaksyon, ki gen ladan pou ekzekisyon ak enpèsonèl;
- lòd, ki gen ladan lòd sispann, pou komès san preskripsyon ak lòd – rapò pou echanj nan kontra règleman;
- “portfolio kliyan”, “achte/vann”
- done ki soti nan pozisyon patisipan an pa lajan, kont komès, enstriman.
Tablo ki baze sou QPILE pa ka kopye nan yon dosye tèks atravè meni kontèks la epi ekspòte nan sistèm analiz teknik, epi yo pa ka devlope tablo ki baze sou yo. Tablo ki baze sou QPILE pa ka filtre oswa klase.
Travay ak yon tab
Pou chaje kòd pwogram lan, ou bezwen chwazi meni sèvis yo, apresa scripts QPILE. Ou kapab tou itilize konbinezon an Ctrl + F11. Apre ou bezwen klike sou “Ajoute” epi chwazi dosye a vle. Li gen yon ekstansyon .qpl epi non li ap parèt nan lis Scripts ki disponib yo.
- non tab la;
- kantite kolòn ak kliyan;
- lis idantifyan ak kliyan;
- lis paramèt ak kòd sous dosye a.
QPILE konstwi
Kalite done yo
- Fisèl – fisèl.
- Double se yon nimewo k ap flote.
- Koleksyon – yon koleksyon.
- Map – yon etalaj asosyasyon – yon sekans pè ki pèmèt ou jwenn enfòmasyon pa kle.
Ekspresyon
Yo aplike operasyon aritmetik adisyon, soustraksyon, miltiplikasyon, divizyon. Ekspresyon lojik “ak”, “oswa”, egal, plis, mwens, inegalite, konstriksyon kondisyonèl “si … Lè sa a …” yo itilize tou.
Fonksyon
Fonksyon yo ka lokalize nenpòt kote nan pwogram nan epi yo gen non diferan. An total, 18 gwoup fonksyon matematik ak fonksyon ki disponib pou jwenn valè tab ak paramèt, etalaj asosyasyon, yon lis tab, ak lòt travay. Premye klas:
- Fonksyon matematik ki pèmèt ou retounen valè sinis, kosinis, tanjant, kotanjant agiman an, kalkile ekspozan agiman an, jenere yon nimewo o aza, elatriye.
- Kòmandman jeneral : NEW_GLOBAL pou inisyalize yon varyab mondyal ak MESAJ pou louvri mesaj yo.
Fonksyon pou travay avèk yo:
- Koleksyon objè (Koleksyon) . Yo pèmèt ou kreye yon nouvo koleksyon, retounen kantite eleman ki nesesè yo, ranplase oswa mete valè yo vle.
- Asosyasyon etalaj (MAP) . Ede yo kreye ak jere etalaj la.
- Fichye – travay ak dosye tèks, kenbe yon boutèy demi lit nan pwogram nan. Non fichye a ka genyen chemen pou li.
- Fisèl .
- Grafik . Fonksyon GET_CANDLE pou jwenn aksè nan done chandèl ak GET_CANDLE EX pou retounen yon etalaj asosyasyon.
- Aplikasyon . Kreye lòd epi voye yo nan sistèm komès la.
- Tags . Konstriksyon yo ak enstalasyon yo sou tablo a. Ajoute, efase youn oswa tout etikèt, jwenn ak mete paramèt pou yon etikèt espesifik.
Genyen tou fonksyon pou:
- Pou jwenn aksè nan ranje tab QUIK abitrè ak lis paramèt ki disponib . Aksè nan done tab nan espas travay. Men sa yo enkli GET_ITEM pou retounen MAP la ak GET_NUMBER_OF pou retounen kantite antre yo.
- Pou travay avèk yon tab pwogramasyon . Kòmandman sa yo opere sou PWÒP tab la. Li se lizib pa fonksyon estanda ki soti nan paragraf anvan an ak pa fonksyon sa yo. Gwoup sa a gen ladan kòmandman pou ajoute, modifye ak efase yon ranje ak yon endèks, ak konplètman netwaye tab la PWOP.
Pou jwenn valè itilize:
- Tablo echanj aktyèl yo . Jwenn paramèt enfòmasyon echanj lè l sèvi avèk kòmandman GET_PARAM (_EX).
- Quote fenèt yo . Jwenn valè enstriman quotes.
- Tablo pozisyon pa enstriman ak lajan . Jwenn done sou yon kliyan, konpayi, enstriman, kont depo pa kòd.
Fonksyon sèvis – retounen dat sesyon komès aktyèl la, seri asosyasyon, dat ak lè aktyèl la, detèmine eta koneksyon an, entèwonp mòd kalkil la.
Pwogram debogaj
Etap-pa-etap kontwòl sou operasyon an nan pwogram nan te pote soti nan fenèt la “Debug”. Li louvri nan meni kontèks “Kòmanse kalkil nan mòd debug”. Li kapab tou louvri ak kòmandman breakpoint(), epi liy pwogram lan pral make an wouj. Fenèt la gen jaden ki gen kòd pwogram ak valè varyab. Nan pati anba a nan fenèt la gen bouton “Pwochen etap”, “Kontinye ekzekisyon”, “Sispann kalkil”. Peze F5 ap kontinye ekzekisyon pwogram nan, konbinezon Shift + F5 ap sispann debogaj, kle F10 la ap dirije nan pwochen liy lan.
QPILE oswa LUA?
LUA se yon nouvo langaj pwogramasyon pou kreye robo komès. Menm jan ak QPILE, li aplike nan tèminal QUIK la. https://articles.opexflow.com/programming/lua.htm Yon sit ki dedye a devlopman robo komès pou komès montre avantaj ki genyen nan lang LUA sou QPILE. Se konsa, li ka fonksyone kòm yon script ki pa konpile ak bytecode, ekipe ak zouti pwomotè ak mekanis pwogram oryante objè. Objè ki ekri nan lòt langaj pwogramasyon ka konekte ak pwogram LUA. LUA bay 8 kalite done, ki gen ladan metatab. Lang LUA a se plizyè fil, vit, epi tranzaksyon ak evènman tèminal yo asenkron. LUA pi komen pase QPILE, e anpil ekstansyon yo te ekri pou li.
Kounye a lang QPILE demode. Ekspè nan fowòm yo rekòmande pou itilize LUA. Malgre ke pwogram itil ak efikas yo toujou ap itilize.
Sepandan, lang QPILE a senp konpare ak LUA, kidonk si w pa gen eksperyans nan pwogramasyon, li pi bon pou w chwazi QPILE. Nan lang sa a, ou ka ekri yon robo senp si ou pa bezwen fè kalkil konplèks.
Ki jan yo kreye yon robo komès sou QPILE?
Pou kreye yon konseye komès, w ap bezwen pwogram sa yo:
- ITS Quik.
- Notepad++ kòd editè.
- Gid pou QPILE.
- Plugin XML pou deteksyon kòd nan Notepad ++.
Telechaje epi enstale pwogram sa yo. Pèmèt sentaks lang lan lè w mete userDefineLang.xml nan chemen C:\Users\User\AppData\Roaming\Notepad++\
Blòk “Anviwònman Itilizatè” yo konplete ak varyab NIMEWO ak ENTÈVAL, ki pral itilize nan fonksyon pou jwenn dènye N ba yo. Fonksyon DATETIME la fikse dat ak lè sèvè a, epi fonksyon dat ak lè aktyèl yo rele CURDATE ak CURTIME. Lè aktyèl la konvèti nan yon nimewo sou liy 24. Liy 26 fikse tan pou algorithm la kouri soti 10:00:01 rive 18:40:00 UTC.
Komès robo sou QPILE – solisyon pare yo
K ap deplase robo mwayèn
Demo robo pa apwopriye pou komès reyèl.
N. Moroshkin kalkilatris pozisyon
Yon pwogram pou kalkile nivo maksimòm drawdown akseptab ak sib pou pozisyon long ak kout nan pri demann ak òf aktyèl yo. Nivo yo kalkile pou 2 valè volim antre pozisyon an. Robo a jwenn volim nan pozisyon akseptab lè yo bay yon lòd sispann nan yon etap soti nan pri a ouvèti ak kalkil la nan ouvèti yon pozisyon nan yon direksyon ki nan kwasans lan ba. Nivo yo jwenn yo antre nan fenèt tèminal la, ki imedyatman reflete nan tablo pri a. Tranzaksyon yo fiks pou yon enstriman bay yo. Si yon pozisyon louvri, robo a kòmanse kalkile paramèt li yo. Tou depan de chanjman nan pozisyon, lòd yo asiyen yo ajiste.
Volim filtre
Robo pòtfolyo pou kalkile mwayèn aritmetik volim pou bouji ak konpare li ak pwodwi mwayèn pa koyefisyan X. Travay kòrèkteman ak tablo trase nan peryòd tan chwazi a.
Opsyon moun Lagrès
Portfolio pou kalkile ak montre “grèk” nan opsyon. Li diferan de metòd Black-Showers.
TRIX komès robo pou QUIK
Pwogram nan baze sou Endikatè TRIX la. Lè endikatè a fèmen pi wo pase liy zewo a, nivo espesifye a, robo a pran pozisyon Long. Pozisyon an fèmen pa Take Profit, Stop Loss oswa trailing stop.
M4 Preprocessor
Pwogram pou travay ak QPILE ak Lua. Gen ladan achiv ak dosye ègzèkutabl, dokimantasyon ak dosye DLL ak analiz ekspresyon regilye. Pou itilize pwogram nan, ou bezwen depake dosye ègzèkutabl yo epi mete regexp2 nan chemen C:\Windows. Leson sou QPILE pou QUIK: https://youtu.be/vMTXwDUujpI Enstale yon script sou QPILE nan tèminal Quik la: https://youtu.be/0B7qL8Svh7I Yon seksyon sou github ki dekri itilizasyon langaj algoritmik QPILE ki entegre nan Estasyon travay sistèm QUIK ki sitiye nan lyen an – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE se yon lang ki demode, men byen senp epi aksesib menm pou komèsan inisyasyon yo. Komès robo ak pwogram ki te pwouve tèt yo pou yon tan long kontinye travay sou li. Sepandan, pou travay ki pi konplèks li pi bon pou itilize LUA.
0к