QUIK үчүн соода роботторун программалоо үчүн QPILE алгоритмдик тили.
Соода роботтору программалык кодго окшош белгилүү бир тилде жазылышы мүмкүн. QPILE алардын бири, макалада бул тил каралат, QPILE жана
LUA тилдери салыштырылат , ошондой эле бул тилдеги роботтордун мисалдары келтирилет.
- QPILE жөнүндө жалпы маалымат
- Стол менен иштөө
- QPILE конструкциялары
- Маалымат түрлөрү
- Экспрессиялар
- Функциялар
- Мүчүлүштүктөрдү оңдоо программалары
- QPILE же LUA?
- QPILEде соода роботун кантип түзүүгө болот?
- QPILE боюнча соода роботтору – даяр чечимдер
- Кыймылдуу орточо робот
- Н Морошкин позициясынын калькулятору
- Үн чыпкасы
- Варианттар гректер
- QUIK үчүн TRIX соода роботу
- M4 Preprocessor
QPILE жөнүндө жалпы маалымат
QPILE – бул QUIK программалануучу интерфейс жана логикалык чөйрө дегенди түшүндүргөн аббревиатура.
Бул 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 кеңейтүүсү бар жана анын аты Жеткиликтүү скрипттердин тизмесинде пайда болот.
- столдун аталышы;
- тилкелердин жана кардарлардын саны;
- идентификаторлордун жана кардарлардын тизмеси;
- параметрлердин тизмеси жана файлдын баштапкы коду.
QPILE конструкциялары
Маалымат түрлөрү
- Сап – сап.
- Double – калкыма чекиттүү сан.
- Коллекция – коллекция.
- Карта – ассоциативдик массив – ачкыч менен маалымат алууга мүмкүндүк берген жуптардын ырааттуулугу.
Экспрессиялар
Кошуу, кемитүү, көбөйтүү, бөлүү арифметикалык амалдары колдонулат. “жана”, “же”, барабар, көбүрөөк, аз, теңсиздиктер, шарттуу куруу “эгер… анда…” деген логикалык туюнтмалар да колдонулат.
Функциялар
Функциялар программанын каалаган жеринде жайгашып, ар кандай аталыштарга ээ болушу мүмкүн. Бардыгы болуп, таблицалардын жана параметрлердин, ассоциативдик массивдердин, таблицалардын тизмесин жана башка тапшырмалардын маанилерин алуу үчүн математикалык функциялардын жана функциялардын 18 тобу бар. Биринчи класс:
- Аргументтин синус, косинус, тангенс, котангенс маанисин кайтарууга, аргументтин көрсөткүчүн эсептөөгө, кокус санды генерациялоого ж.б.у.с. мүмкүндүк берүүчү математикалык функциялар .
- Жалпы буйруктар : глобалдык өзгөрмөнү инициализациялоо үчүн NEW_GLOBAL жана билдирүүлөрдү ачуу үчүн MESSAGE.
Иштей турган функциялар:
- Объекттердин коллекциялары (Жыйнак) . Алар жаңы коллекция түзүүгө, керектүү сандагы элементтерди кайтарууга, керектүү маанилерди алмаштырууга же киргизүүгө мүмкүндүк берет.
- Ассоциативдик массивдер (MAP) . Массивди түзүүгө жана башкарууга жардам бериңиз.
- Файлдар – тексттик файлдар менен иштөө, программанын журналын жүргүзүү. Файлдын аталышы ага жолду камтышы мүмкүн.
- Strings .
- Графиктер . Шам маалыматтарына жетүү үчүн GET_CANDLE жана ассоциативдик массивди кайтаруу үчүн GET_CANDLE EX функциялары.
- Тиркемелер . Заказдарды түзүү жана аларды соода системасына жөнөтүү.
- Tags . Диаграммада аларды куруу жана орнотуу. Бир же бардык энбелгилерди кошуу, жок кылуу, белгилүү бир энбелги үчүн параметрлерди алуу жана орнотуу.
Төмөнкүлөр үчүн дагы функциялар бар:
- Каалаган QUIK таблицаларынын саптарына жана жеткиликтүү параметрлердин тизмелерине жетүү үчүн . Жумушчу таблицанын маалыматтарына кирүү. Аларга MAPты кайтаруу үчүн GET_ITEM жана жазуулардын санын кайтаруу үчүн GET_NUMBER_OF кирет.
- Программалануучу таблица менен иштөө . Бул буйруктар OWN столунда иштейт. Аны мурунку абзацтагы стандарттык функциялар жана ушул функциялар менен окуса болот. Бул топ индекси бар сапты кошуу, өзгөртүү жана жок кылуу жана ӨЗ таблицасын толугу менен тазалоо үчүн буйруктарды камтыйт.
баалуулуктарды алуу үчүн колдонуу:
- Учурдагы соодалардын таблицалары . GET_PARAM (_EX) буйруктарын колдонуу менен алмашуу маалымат параметрлерин алуу.
- Цитата терезелери . Инструменттердин тырмакчаларынын маанилерин алуу.
- Инструменттер жана акчалар боюнча позициялардын таблицалары . Код боюнча кардар, компания, инструмент, депо эсеби боюнча маалыматтарды алуу.
Тейлөө функциялары – учурдагы соода сессиясынын датасын, ассоциативдик сериясын, учурдагы датасын жана убактысын кайтаруу, байланыш абалын аныктоо, эсептөө режимин үзгүлтүккө учуратуу.
Мүчүлүштүктөрдү оңдоо программалары
Программанын иштешин этап-этабы менен көзөмөлдөө “Мүчөлөрдү оңдоо” терезесинде жүзөгө ашырылат. Ал контексттик менюдан ачылат “Эсептөөнү мүчүлүштүктөрдү оңдоо режиминде баштоо”. Аны breakpoint() буйругу менен да ачууга болот жана программа сызыгы кызыл түс менен белгиленет. Терезеде программа коду жана өзгөрмө маанилери бар талаалар бар. Терезенин ылдый жагында “Кийинки кадам”, “Аткарууну улантуу”, “Эсептөөнү токтотуу” баскычтары бар. F5 баскычын басуу программанын аткарылышын улантат, Shift + F5 айкалышы мүчүлүштүктөрдү оңдоону токтотот, F10 баскычы кийинки сапка багыттайт.
QPILE же LUA?
LUA соода роботторун түзүү үчүн жаңы программалоо тили болуп саналат. QPILE сыяктуу, ал QUIK терминалында ишке ашырылат. https://articles.opexflow.com/programming/lua.htm Соода үчүн соода роботторун өнүктүрүүгө арналган сайт LUA тилинин QPILEге караганда артыкчылыктарын көрсөтөт. Ошентип, ал иштеп чыгуучунун куралдары жана объектиге багытталган программалоо механизмдери менен жабдылган компиляцияланбаган скрипт жана байт код катары иштей алат. Башка программалоо тилдеринде жазылган объекттерди LUA программаларына туташтырууга болот. LUA 8 маалымат түрлөрүн, анын ичинде метатаблицаларды камсыз кылат. LUA тили көп агымдуу, тез жана транзакциялар жана терминалдык окуялар асинхрондуу. LUA QPILEге караганда кеңири таралган жана ал үчүн көптөгөн кеңейтүүлөр жазылган.
QPILE тили азыр эскирди. Форумдагы эксперттер LUA колдонууну сунушташат. Пайдалуу жана эффективдүү программалар дагы эле колдонулуп жатат да.
Бирок, QPILE тили LUAга салыштырмалуу жөнөкөй, андыктан программалоо боюнча тажрыйбаңыз жок болсо, QPILEди тандаганыңыз жакшы. Бул тилде татаал эсептөөлөрдү жүргүзүүнүн кереги жок болсо, жөнөкөй роботту жаза аласыз.
QPILEде соода роботун кантип түзүүгө болот?
Соода кеңешчисин түзүү үчүн сизге төмөнкү программалар керек болот:
- ITS Quik.
- Notepad++ код редактору.
- QPILE колдонмосу.
- Notepad++ ичинде кодду аныктоо үчүн XML плагини.
Бул программаларды жүктөп алып, орнотуңуз. C:\Users\User\ AppData\Roaming\Notepad++\ жолуна userDefineLang.xml коюу менен тил синтаксисин иштетиңиз
“Колдонуучунун орнотуулары” блогу САН жана 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 же арткы аялдама менен жабылат.
M4 Preprocessor
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к