QUIK uchun savdo robotlarini dasturlash uchun QPILE algoritmik tili.
Savdo robotlari dastur kodiga o’xshash ma’lum bir tilda yozilishi mumkin. QPILE ulardan biri bo’lib, maqolada ushbu til ko’rib chiqiladi, QPILE va
LUA tillari solishtiriladi, shuningdek, ushbu tildagi robotlarga misollar keltiriladi.
- QPILE haqida umumiy ma’lumot
- Jadval bilan ishlash
- QPILE konstruksiyalari
- Ma’lumotlar turlari
- Ifodalar
- Funksiyalar
- Nosozliklarni tuzatish dasturlari
- QPILE yoki LUA?
- QPILE da savdo robotini qanday yaratish mumkin?
- QPILE da savdo robotlari – tayyor echimlar
- Harakatlanuvchi o’rtacha robot
- N. Moroshkin pozitsiyasi kalkulyatori
- Ovoz filtri
- Variantlar yunonlar
- QUIK uchun TRIX savdo roboti
- M4 protsessor
QPILE haqida umumiy ma’lumot
QPILE qisqartmasi QUIK Programmable Interface and Logic Environment degan ma’noni anglatadi.
Bu QUIK ish stantsiyasi tomonidan talqin qilingan buyruqlar seriyasidir. U asosan qimmatli qog’ozlar portfelining narxini hisoblash uchun ishlatiladi. Til shuningdek quyidagilar uchun ishlatiladi:
- broker ish stolida va ularning portfelidagi mijozlar aktivlari narxini dinamik qayta hisoblash. Ikkinchi holda, ularning umumiy narxi ham qayta hisoblab chiqiladi;
- marjali kreditlash uchun o’z algoritmlari va ma’lumotlaridan foydalangan holda etishmayotgan ko’rsatkichlarni topish;
- to’g’ri savdo strategiyasini ishlab chiqish.
Til jadvalning tuzilishini tavsiflaydi: ustunlar va satrlarni, formulalarni belgilash. Ikkinchisida hisoblash uchun matematik amallar, o’zgaruvchilar, boshqa jadvallardagi ma’lumotlardan foydalanish mumkin. QUIK serveridan yoki foydalanuvchi diskidan yuklangan dastur kodi formulalardagi qiymatlarni hisoblaydigan til tarjimoni tomonidan qayta ishlanadi. Bitta dasturning jadvallari bitta ma’lumot manbasiga ega, ammo hisob-kitoblar takrorlanmaydi va tizimning samaradorligiga ta’sir qilmaydi. QUIK jadvallari bilan ishlashda QPILE jadvallari standart funksiyalarga ega. Ish joyidagi QUIK QPILE kodini tuzatuvchi bilan jihozlangan. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Til berilgan tuzilishga ega yangi jadvallarni tasvirlash, ma’lum qiymatlarga ega bo’lgan katakchalarni ajratib ko’rsatish, matematik va mantiqiy ifodalar asosida maydonlarni hisoblash imkonini beradi. Foydalanuvchi ovozli signal yoki matnli xabar shaklida bildirishnomalarni oladi. QPILE-dagi jadvallarni ODBC va DDE serveri orqali tahrirlash, chop etish, nusxalash, eksport qilish mumkin. Dastlabki ma’lumotlar QUIK jadvallaridan olingan:
- operatsiyalar, shu jumladan ijro va shaxssiz;
- birjadan tashqari savdolar bo’yicha buyurtmalar, shu jumladan to’xtash buyurtmalari va buyurtmalar – hisob-kitob bitimlari bo’yicha savdolar bo’yicha hisobotlar;
- “mijoz portfeli”, “sotib olish/sotish”
- pul, savdo hisoblari, asbob bo’yicha ishtirokchining pozitsiyalaridan ma’lumotlar.
QPILE asosidagi jadvallarni kontekst menyusi orqali matnli faylga ko‘chirib, texnik tahlil tizimlariga eksport qilib bo‘lmaydi, ular asosida diagrammalar ishlab chiqilmaydi. QPILE asosidagi jadvallarni filtrlab yoki saralab bo‘lmaydi.
Jadval bilan ishlash
Dastur kodini yuklash uchun xizmatlar menyusini, keyin QPILE skriptlarini tanlashingiz kerak. Ctrl+F11 kombinatsiyasidan ham foydalanishingiz mumkin. Shundan so’ng siz “Qo’shish” tugmasini bosishingiz va kerakli faylni tanlashingiz kerak. U .qpl kengaytmasiga ega va uning nomi Mavjud skriptlar ro’yxatida paydo bo’ladi.
- jadval nomi;
- ustunlar va mijozlar soni;
- identifikatorlar va mijozlar ro’yxati;
- parametrlar ro’yxati va faylning manba kodi.
QPILE konstruksiyalari
Ma’lumotlar turlari
- String – string.
- Double – suzuvchi nuqtali raqam.
- To’plam – to’plam.
- Xarita – assotsiativ massiv – kalit bo’yicha ma’lumot olish imkonini beruvchi juftliklar ketma-ketligi.
Ifodalar
Qo’shish, ayirish, ko’paytirish, bo’lish kabi arifmetik amallar qo’llaniladi. “Va”, “yoki”, teng, ko’proq, kamroq, tengsizliklar, shartli konstruktsiya “agar … keyin …” mantiqiy iboralari ham qo’llaniladi.
Funksiyalar
Funktsiyalar dasturning istalgan joyida joylashgan bo’lishi va turli nomlarga ega bo’lishi mumkin. Jadvallar va parametrlar, assotsiativ massivlar, jadvallar ro’yxati va boshqa vazifalar qiymatlarini olish uchun jami 18 ta matematik funktsiyalar va funktsiyalar guruhi mavjud. Birinchi sinf:
- Argumentning sinus, kosinus, tangens, kotangens qiymatini qaytarish, argumentning ko’rsatkichini hisoblash, tasodifiy sonni yaratish va h.k. imkonini beruvchi matematik funktsiyalar .
- Umumiy buyruqlar : global o’zgaruvchini ishga tushirish uchun NEW_GLOBAL va xabarlarni ochish uchun MESSAGE.
Ishlash uchun funktsiyalar:
- Ob’ektlar to’plami (To’plam) . Ular sizga yangi kolleksiya yaratish, kerakli miqdordagi elementlarni qaytarish, kerakli qiymatlarni almashtirish yoki kiritish imkonini beradi.
- Assotsiativ massivlar (MAP) . Massivni yaratish va boshqarishga yordam bering.
- Fayllar – matnli fayllar bilan ishlash, dastur jurnalini yuritish. Fayl nomi unga yo’lni o’z ichiga olishi mumkin.
- Strings .
- Grafiklar . Sham ma’lumotlariga kirish uchun GET_CANDLE va assotsiativ massivni qaytarish uchun GET_CANDLE EX funksiyalari.
- Ilovalar . Buyurtmalarni yaratish va ularni savdo tizimiga yuborish.
- Teglar . Ularning qurilishi va o’rnatilishi diagrammada. Bir yoki barcha teglarni qo’shish, o’chirish, ma’lum bir yorliq uchun parametrlarni olish va sozlash.
Shuningdek, quyidagi funktsiyalar mavjud:
- O’zboshimchalik bilan QUIK jadvallari qatorlariga va mavjud parametrlar ro’yxatiga kirish uchun . Ish joyidagi jadval ma’lumotlariga kirish. Bularga MAPni qaytarish uchun GET_ITEM va yozuvlar sonini qaytarish uchun GET_NUMBER_OF kiradi.
- Dasturlashtiriladigan jadval bilan ishlash uchun . Bu buyruqlar OWN jadvalida ishlaydi. Oldingi paragrafdagi standart funktsiyalar va ushbu funktsiyalar orqali o’qilishi mumkin. Bu guruh indeksli satrni qoʻshish, oʻzgartirish va oʻchirish hamda OWN jadvalini toʻliq tozalash buyruqlarini oʻz ichiga oladi.
Qiymatlarni olish uchun foydalaning:
- Joriy savdolar jadvallari . GET_PARAM (_EX) buyruqlari yordamida ma’lumotlar almashinuvi parametrlarini olish.
- Iqtibos oynalari . Asbob kotirovkalari qiymatlarini olish.
- Asboblar va pullar bo’yicha pozitsiyalar jadvallari . Kod bo’yicha mijoz, kompaniya, asbob, depo hisobvarag’i to’g’risidagi ma’lumotlarni olish.
Xizmat funktsiyalari – joriy savdo sessiyasi sanasini, assotsiativ seriyani, joriy sana va vaqtni qaytarish, ulanish holatini aniqlash, hisoblash rejimini to’xtatish.
Nosozliklarni tuzatish dasturlari
Dasturning ishlashini bosqichma-bosqich nazorat qilish “Debug” oynasida amalga oshiriladi. U kontekst menyusidan ochiladi “Nosozliklarni tuzatish rejimida hisoblashni boshlash”. U breakpoint() buyrug’i bilan ham ochilishi mumkin va dastur qatori qizil rang bilan ajratib ko’rsatiladi. Oynada dastur kodi va o’zgaruvchan qiymatlari bo’lgan maydonlar mavjud. Oynaning pastki qismida “Keyingi qadam”, “Bajarishni davom ettirish”, “Hisoblashni to’xtatish” tugmalari mavjud. F5 tugmachasini bosish dasturning bajarilishini davom ettiradi, Shift + F5 kombinatsiyasi disk raskadrovkani to’xtatadi, F10 tugmasi keyingi qatorga yo’naltiriladi.
QPILE yoki LUA?
LUA – bu savdo robotlarini yaratish uchun yangi dasturlash tili. QPILE singari, u QUIK terminalida amalga oshiriladi. https://articles.opexflow.com/programming/lua.htm Savdo uchun savdo robotlarini ishlab chiqishga bag’ishlangan sayt LUA tilining QPILEga nisbatan afzalliklarini ko’rsatadi. Shunday qilib, u kompilyatsiya qilinmagan skript va baytekod sifatida ishlay oladi, ishlab chiquvchi vositalari va ob’ektga yo’naltirilgan dasturlash mexanizmlari bilan jihozlangan. Boshqa dasturlash tillarida yozilgan ob’ektlar LUA dasturlariga ulanishi mumkin. LUA 8 ta ma’lumotlar turini, shu jumladan meta-jadvallarni taqdim etadi. LUA tili ko’p tarmoqli, tezkor, tranzaksiyalar va terminal hodisalari asinxrondir. LUA QPILE ga qaraganda keng tarqalgan va u uchun ko’plab kengaytmalar yozilgan.
QPILE tili endi eskirgan. Forumlardagi mutaxassislar LUA dan foydalanishni tavsiya qiladilar. Foydali va samarali dasturlar hali ham qo’llanilsa-da.
Biroq, QPILE tili LUA bilan solishtirganda sodda, shuning uchun dasturlash bo’yicha tajribangiz bo’lmasa, QPILEni tanlagan ma’qul. Ushbu tilda siz murakkab hisob-kitoblarni bajarishingiz shart bo’lmasa, oddiy robot yozishingiz mumkin.
QPILE da savdo robotini qanday yaratish mumkin?
Savdo maslahatchisini yaratish uchun sizga quyidagi dasturlar kerak bo’ladi:
- ITS Quik.
- Notepad++ kod muharriri.
- QPILE bo’yicha qo’llanma.
- Notepad++ da kodni aniqlash uchun XML plagini.
Ushbu dasturlarni yuklab oling va o’rnating. userDefineLang.xml ni C:\Users\User\ AppData\Roaming\Notepad++\ yo’liga joylashtirish orqali til sintaksisini yoqing.
“Foydalanuvchi sozlamalari” bloki NUMBER va INTERVAL o’zgaruvchilari bilan to’ldiriladi, ular oxirgi N barni olish funktsiyasida qo’llaniladi. DATETIME funksiyasi server sanasi va vaqtini belgilaydi va joriy sana va vaqt funksiyalari CURDATE va CURTIME undan chaqiriladi. Joriy vaqt 24-qatordagi raqamga aylantiriladi. 26-qator algoritmning 10:00:01 dan 18:40:00 UTC gacha ishlash vaqtini belgilaydi.
QPILE da savdo robotlari – tayyor echimlar
Harakatlanuvchi o’rtacha robot
Demo robot haqiqiy savdo uchun mos emas.
N. Moroshkin pozitsiyasi kalkulyatori
Joriy so’rov va taklif narxlarida uzoq va qisqa pozitsiyalar uchun ruxsat etilgan maksimal tushirish darajasini va maqsadni hisoblash dasturi. Darajalar pozitsiyaga kirish hajmining 2 qiymati uchun hisoblanadi. Barning o’sishi yo’nalishi bo’yicha pozitsiyani ochish hisobi bilan ochilish narxidan bir qadamda to’xtash tartibini belgilashda robot ruxsat etilgan pozitsiya hajmini topadi. Topilgan darajalar terminal oynasiga kiritiladi, ular keyinchalik narxlar jadvalida aks ettiriladi. Bitimlar ma’lum bir vosita uchun belgilanadi. Agar pozitsiya ochilsa, robot o’z parametrlarini hisoblashni boshlaydi. Lavozimning o’zgarishiga qarab, tayinlangan buyurtmalar o’rnatiladi.
Ovoz filtri
Shamlar uchun hajmning o’rtacha arifmetik qiymatini hisoblash va uni X koeffitsienti bo’yicha o’rtacha mahsulot bilan taqqoslash uchun portfel roboti Tanlangan vaqt oralig’ida chizilgan diagrammalar bilan to’g’ri ishlaydi.
Variantlar yunonlar
Variantlarning “yunonchalarini” hisoblash va ko’rsatish uchun portfel. U Black-Showers usulidan farq qiladi.
QUIK uchun TRIX savdo roboti
Dastur TRIX indikatoriga asoslangan. Ko’rsatkich nol chizig’idan, belgilangan darajadan yuqori yopilganda, robot Uzoq pozitsiyani egallaydi. Pozitsiya Take Profit, Stop Loss yoki treiling stop bilan yopiladi.
M4 protsessor
QPILE va Lua bilan ishlash dasturi. Muntazam ifodalarni tahlil qilish bilan bajariladigan fayllar, hujjatlar va DLL fayllari bo’lgan arxivlarni o’z ichiga oladi. Dasturdan foydalanish uchun siz bajariladigan fayllarni ochishingiz va regexp2 ni C:\Windows yo’liga joylashtirishingiz kerak. QUIK uchun QPILE bo’yicha darslar: https://youtu.be/vMTXwDUujpI Quik terminalida QPILE-ga skriptni o’rnatish: https://youtu.be/0B7qL8Svh7I Github-da QPILE algoritmik tilidan foydalanishni tavsiflovchi bo’lim. QUIK tizimi ish stantsiyasi havolada joylashgan – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE – bu eskirgan til, lekin juda sodda va hatto boshlang’ich treyderlar uchun ham ochiq. Savdo robotlari va o’zini uzoq vaqt davomida isbotlagan dasturlar bu borada ishlashda davom etmoqda. Biroq, murakkabroq vazifalar uchun LUA dan foydalanish yaxshiroqdir.
0к