QUIK-д зориулсан арилжааны роботуудыг програмчлах QPILE алгоритмын хэл.
Худалдааны роботуудыг програмын кодтой адил тодорхой хэлээр бичиж болно. QPILE бол тэдний нэг бөгөөд нийтлэлд энэ хэлийг авч үзэх, QPILE болон
LUA хэлүүдийг харьцуулах , мөн энэ хэл дээрх роботуудын жишээг өгөх болно.
- QPILE-ийн талаархи ерөнхий мэдээлэл
- Хүснэгттэй ажиллах
- QPILE бүтээцүүд
- Өгөгдлийн төрлүүд
- Илэрхийлэл
- Функцүүд
- Дибаг хийх програмууд
- QPILE эсвэл LUA?
- QPILE дээр арилжааны роботыг хэрхэн бүтээх вэ?
- QPILE дээр худалдааны роботууд – бэлэн шийдлүүд
- Хөдөлгөөнт дундаж робот
- Н.Морошкины байрлалын тооцоолуур
- Дууны шүүлтүүр
- Грекчүүдийн сонголтууд
- QUIK-д зориулсан TRIX худалдааны робот
- M4 урьдчилсан процессор
QPILE-ийн талаархи ерөнхий мэдээлэл
QPILE нь QUIK Programmable Interface and Logic Environment гэсэн үгийн товчлол юм.
Энэ бол QUIK ажлын станцаар тайлбарласан хэд хэдэн тушаал юм. Үнэт цаасны багцын үнийг тооцоолоход голчлон ашигладаг. Энэ хэлийг дараахь зорилгоор ашигладаг.
- брокерын ширээний компьютер болон тэдний багц дахь үйлчлүүлэгчдийн хөрөнгийн үнийг динамик дахин тооцоолох. Сүүлчийн тохиолдолд тэдгээрийн нийт үнийг мөн дахин тооцоолно;
- маржин зээлийн өөрийн алгоритм, өгөгдлийг ашиглан алга болсон үзүүлэлтүүдийг олох;
- зөв арилжааны стратеги боловсруулах.
Хэл нь хүснэгтийн бүтцийг тодорхойлдог: багана, мөрийг томилох, томьёо. Сүүлд нь математикийн үйлдлүүд, хувьсагчид, бусад хүснэгтийн өгөгдлийг тооцоолоход ашиглаж болно. QUIK сервер эсвэл хэрэглэгчийн дискнээс ачаалагдсан програмын кодыг хэлний орчуулагч боловсруулдаг бөгөөд энэ нь томъёоны утгыг тооцоолдог. Нэг програмын хүснэгтүүд нь нэг мэдээллийн эх сурвалжтай боловч тооцоо нь давхардаагүй бөгөөд системийн үр ашигт нөлөөлдөггүй. QUIK хүснэгтүүдтэй ажиллахдаа QPILE дээрх хүснэгтүүд нь стандарт функцтэй байдаг. Ажлын байран дахь QUIK нь QPILE код дибаглагчаар тоноглогдсон. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Энэ хэл нь өгөгдсөн бүтэцтэй шинэ хүснэгтүүдийг дүрслэх, тодорхой утгатай нүднүүдийг тодруулах, математик, логик илэрхийлэлд үндэслэн талбаруудыг тооцоолох боломжийг олгодог. Хэрэглэгч дуут дохио эсвэл мессеж хэлбэрээр мэдэгдлийг хүлээн авах болно. QPILE дээрх хүснэгтүүдийг ODBC болон DDE серверээр дамжуулан засварлах, хэвлэх, хуулах, экспортлох боломжтой. Анхны өгөгдөл нь QUIK хүснэгтээс авсан болно:
- гүйлгээ, түүний дотор гүйцэтгэх болон хувийн бус;
- захиалга, түүний дотор лангуунаас гадуурх арилжааны захиалга, захиалга – төлбөр тооцооны хэлцлийн арилжааны тайлан;
- “үйлчлүүлэгчийн багц”, “худалдан авах/худалдах”
- мөнгө, арилжааны данс, хэрэглүүрээр оролцогчийн албан тушаалын өгөгдөл.
QPILE дээр суурилсан хүснэгтүүдийг контекст цэсээр дамжуулан текст файл руу хуулж, техникийн шинжилгээний системд экспортлох боломжгүй бөгөөд тэдгээрт үндэслэн график боловсруулах боломжгүй. QPILE-д суурилсан хүснэгтүүдийг шүүж, эрэмбэлэх боломжгүй.
Хүснэгттэй ажиллах
Програмын кодыг ачаалахын тулд та үйлчилгээний цэс, дараа нь QPILE скриптийг сонгох хэрэгтэй. Та мөн Ctrl+F11 хослолыг ашиглаж болно. Дараа нь та “Нэмэх” дээр товшоод хүссэн файлаа сонгох хэрэгтэй. Энэ нь .qpl өргөтгөлтэй бөгөөд нэр нь Available Scripts жагсаалтад харагдах болно.
- хүснэгтийн нэр;
- багана ба үйлчлүүлэгчдийн тоо;
- танигч болон үйлчлүүлэгчдийн жагсаалт;
- параметрийн жагсаалт болон файлын эх код.
QPILE бүтээцүүд
Өгөгдлийн төрлүүд
- Мөр – мөр.
- Давхар гэдэг нь хөвөгч цэгтэй тоо юм.
- Цуглуулга – цуглуулга.
- Газрын зураг – ассоциатив массив – түлхүүрээр мэдээлэл авах боломжийг олгодог хосуудын дараалал.
Илэрхийлэл
Нэмэх, хасах, үржүүлэх, хуваах арифметик үйлдлүүдийг ашигладаг. “Ба”, “эсвэл”, тэнцүү, их, бага, тэгш бус байдал, нөхцөлт бүтэц “хэрэв … тэгвэл …” гэсэн логик хэллэгүүдийг мөн ашигладаг.
Функцүүд
Функцууд нь програмын аль ч хэсэгт байрлах ба өөр өөр нэртэй байж болно. Хүснэгт, параметр, ассоциатив массив, хүснэгтийн жагсаалт болон бусад даалгаврын утгыг авахын тулд нийт 18 бүлэг математикийн функц, функцийг ашиглах боломжтой. Нэгдүгээр анги:
- Аргументийн синус, косинус, тангенс, котангенсийн утгыг буцаах, аргументийн экспонентыг тооцоолох, санамсаргүй тоо үүсгэх гэх мэт математик функцууд .
- Ерөнхий командууд : Глобал хувьсагчийг эхлүүлэх NEW_GLOBAL, мессеж нээх MESSAGE.
Хамтран ажиллах функцууд:
- Объектуудын цуглуулга (цуглуулга) . Эдгээр нь танд шинэ цуглуулга үүсгэх, шаардлагатай тооны элементийг буцааж өгөх, хүссэн утгыг солих эсвэл оруулах боломжийг олгодог.
- Ассоциатив массив (MAP) . Массив үүсгэх, удирдахад тусална уу.
- Файлууд – текст файлуудтай ажиллах, програмын бүртгэл хөтлөх. Файлын нэр нь түүнд хүрэх замыг агуулж болно.
- Мөрнүүд .
- График . GET_CANDLE функц нь лааны өгөгдөлд хандах ба GET_CANDLE EX нь ассоциатив массивыг буцаана.
- Хэрэглээ . Захиалга үүсгэж, арилжааны систем рүү илгээнэ.
- Шошго . График дээр тэдгээрийн барилга угсралт, суурилуулалт. Нэг эсвэл бүх шошго нэмэх, устгах, тодорхой шошгоны параметрүүдийг авах, тохируулах.
Мөн дараах функцүүд байдаг:
- Дурын QUIK хүснэгтүүдийн мөрүүд болон боломжтой параметрүүдийн жагсаалтад хандахад зориулагдсан . Ажлын байрны хүснэгтийн өгөгдөлд хандах. Үүнд MAP-г буцаах GET_ITEM, оруулгуудын тоог буцаах GET_NUMBER_OF орно.
- Програмчлагдах хүснэгттэй ажиллахын тулд . Эдгээр тушаалууд нь OWN хүснэгт дээр ажилладаг. Үүнийг өмнөх догол мөрийн стандарт функцууд болон эдгээр функцээр унших боломжтой. Энэ бүлэгт индекс бүхий мөр нэмэх, өөрчлөх, устгах, ӨӨРИЙН хүснэгтийг бүрэн цэвэрлэх командууд орно.
Үнэ цэнийг авахын тулд:
- Одоогийн арилжааны хүснэгтүүд . GET_PARAM (_EX) командыг ашиглан солилцооны мэдээллийн параметрүүдийг авч байна.
- Үнийн санал авах цонх . Хэрэгслийн үнийн дүнгийн утгыг олж авах.
- Албан тушаалын хүснэгт, хэрэглүүр болон мөнгөөр . Үйлчлүүлэгч, пүүс, хэрэгсэл, депо дансны мэдээллийг кодоор авах.
Үйлчилгээний функцууд – одоогийн арилжааны огноо, ассоциатив цуврал, одоогийн огноо, цагийг буцаах, холболтын төлөвийг тодорхойлох, тооцооллын горимыг тасалдуулах.
Дибаг хийх програмууд
Хөтөлбөрийн ажиллагааг алхам алхмаар хянах нь “Debug” цонхонд хийгддэг. Энэ нь “Дбаг хийх горимд тооцооллыг эхлүүлэх” контекст цэснээс нээгдэнэ. Үүнийг мөн breakpoint() командын тусламжтайгаар нээж болох бөгөөд програмын мөрийг улаанаар тодруулна. Цонх нь програмын код болон хувьсах утгууд бүхий талбаруудыг агуулна. Цонхны доод хэсэгт “Дараах алхам”, “Гүйцэтгэлийг үргэлжлүүлэх”, “Тооцооллыг зогсоох” товчлуурууд байна. F5 товчийг дарснаар программын гүйцэтгэлийг үргэлжлүүлэх болно, Shift + F5 хослол дибаг хийхээ зогсоож, F10 товчлуур дараагийн мөрөнд чиглэнэ.
QPILE эсвэл LUA?
LUA бол худалдааны робот бүтээх шинэ програмчлалын хэл юм. QPILE шиг энэ нь QUIK терминал дээр хэрэгждэг. https://articles.opexflow.com/programming/lua.htm Арилжааны роботуудыг хөгжүүлэхэд зориулагдсан сайт нь QPILE-ээс LUA хэлний давуу талыг харуулж байна. Тиймээс энэ нь хөгжүүлэгчийн хэрэгсэл, объект хандалтат програмчлалын механизмаар тоноглогдсон хөрвүүлээгүй скрипт, байт код хэлбэрээр ажиллах боломжтой. Бусад програмчлалын хэл дээр бичигдсэн объектуудыг LUA програмуудтай холбож болно. LUA нь мета хүснэгт зэрэг 8 төрлийн өгөгдлийн төрлийг хангадаг. LUA хэл нь олон урсгалтай, хурдан бөгөөд гүйлгээ болон терминал үйл явдлууд асинхрон байдаг. LUA нь QPILE-ээс илүү түгээмэл бөгөөд үүнд зориулж олон өргөтгөлүүд бичигдсэн байдаг.
QPILE хэл одоо хуучирсан. Форумын мэргэжилтнүүд LUA ашиглахыг зөвлөж байна. Хэдийгээр ашигтай, үр дүнтэй хөтөлбөрүүдийг ашигласаар байна.
Гэхдээ QPILE хэл нь LUA-тай харьцуулахад энгийн тул програмчлалын туршлагагүй бол QPILE хэлийг сонгосон нь дээр. Хэрэв та нарийн төвөгтэй тооцоолол хийх шаардлагагүй бол энэ хэлээр энгийн робот бичиж болно.
QPILE дээр арилжааны роботыг хэрхэн бүтээх вэ?
Худалдааны зөвлөхийг бий болгохын тулд танд дараах програмууд хэрэгтэй болно.
- ITS Quik.
- Notepad++ код засварлагч.
- QPILE-ийн гарын авлага.
- Notepad++ дээр код илрүүлэх XML залгаас.
Эдгээр програмуудыг татаж аваад суулгана уу. userDefineLang.xml-г C:\Users\User\ AppData\Roaming\Notepad++\ замд байрлуулж хэлний синтаксийг идэвхжүүлнэ үү.
“Хэрэглэгчийн тохиргоо” блок нь ДУГААР ба INTERVAL хувьсагчаар нэмэгддэг бөгөөд энэ нь сүүлийн N баар авах функцэд ашиглагдах болно. DATETIME функц нь серверийн огноо, цагийг тохируулдаг бөгөөд одоогийн огноо, цагийн функцүүдийг CURDATE болон CURTIME түүнээс дууддаг. Одоогийн цагийг 24-р мөрөнд тоо болгон хувиргана. 26-р мөрөнд алгоритмын 10:00:01-ээс 18:40:00 UTC хүртэл ажиллах цагийг тохируулна.
QPILE дээр худалдааны роботууд – бэлэн шийдлүүд
Хөдөлгөөнт дундаж робот
Демо робот нь жинхэнэ арилжаа хийхэд тохиромжгүй.
Н.Морошкины байрлалын тооцоолуур
Урт болон богино позицуудын зөвшөөрөгдөх дээд хэмжээ, зорилтот түвшнийг одоогийн санал болгож буй үнээр тооцоолох програм. Түвшинг албан тушаалын оруулах эзлэхүүний 2 утгыг тооцдог. Робот нь баарны өсөлтийн чиглэлд позиц нээх тооцоогоор нээлтийн үнээс нэг алхамаар зогсоох тушаал өгөхдөө зөвшөөрөгдөх байрлалын эзлэхүүнийг олдог. Олсон түвшингүүд нь терминалын цонхонд орж, дараа нь үнийн графикт тусгагдсан болно. Тухайн хэрэглүүрийн хувьд гүйлгээг тогтмол хийдэг. Хэрэв байрлал нээгдсэн бол робот өөрийн параметрүүдийг тооцоолж эхэлнэ. Албан тушаалын өөрчлөлтөөс хамааран өгөгдсөн тушаалуудыг тохируулна.
Дууны шүүлтүүр
Лааны эзэлхүүний арифметик дундажийг тооцоолох, дундаж бүтээгдэхүүнтэй X коэффициентээр харьцуулах портфолио робот Сонгосон хугацаанд график графиктай зөв ажиллана.
Грекчүүдийн сонголтууд
Сонголтуудын “Грек” -ийг тооцоолох, харуулах портфолио. Энэ нь Black-Showers аргаас ялгаатай.
QUIK-д зориулсан TRIX худалдааны робот
Хөтөлбөр нь TRIX үзүүлэлт дээр суурилдаг. Заагч нь заасан түвшингийн тэг шугамаас дээш хаагдахад робот Урт байрлалд ордог. Позицийг Take Profit, Stop Loss эсвэл Trailing stop гэсэн сонголтоор хаадаг.
M4 урьдчилсан процессор
QPILE болон Lua-тай ажиллах програм. Гүйцэтгэх боломжтой файл, баримт бичиг, тогтмол илэрхийлэл задлан шинжилсэн DLL файл бүхий архивууд багтана. Програмыг ашиглахын тулд та гүйцэтгэгдэх файлуудыг задалж, regexp2-г C:\Windows замд байрлуулах хэрэгтэй. QUIK-д зориулсан QPILE-ийн хичээлүүд: https://youtu.be/vMTXwDUujpI Quik терминал дээр QPILE дээр скрипт суулгах: https://youtu.be/0B7qL8Svh7I github дээрх QPILE алгоритмын хэлний хэрэглээг тайлбарласан хэсэг. QUIK системийн ажлын станц https://euvgub.github.io/quik_user_manual/ch8.html холбоос дээр байрладаг. QPILE бол хуучирсан хэл боловч маш энгийн бөгөөд шинэхэн худалдаачдад ч хүртээмжтэй байдаг. Худалдааны роботууд болон өөрсдийгөө удаан хугацаанд нотолсон програмууд үүн дээр үргэлжлүүлэн ажилласаар байна. Гэсэн хэдий ч илүү төвөгтэй ажлуудын хувьд LUA ашиглах нь дээр.
0к