QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле

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

QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле.
Сәүдә роботлары программа кодына охшаган билгеле телдә язылырга мөмкин. QPILE – аларның берсе, мәкалә бу телне караячак, QPILE һәм
LUA телләрен чагыштырачак , һәм шулай ук ​​бу телдә роботлар мисалларын китерәчәк.

QPILE турында гомуми мәгълүмат

QPILE – кыскарту, QUIK программалаштырылган интерфейс һәм логик мохит.

Бу QUIK эш станциясе белән аңлатылган боерыклар сериясе. Бу, нигездә, кыйммәтле кәгазьләр портфолио бәясен исәпләү өчен кулланыла. Тел шулай ук ​​кулланыла:

  • Брокер өстәлендә һәм аларның портфолиоларында клиентларның активларының бәясен динамик исәпләү. Соңгы очракта аларның гомуми бәясе дә яңадан исәпләнә;
  • маргин кредитлау өчен үз алгоритмнарын һәм мәгълүматларын кулланып югалган күрсәткечләрне табу;
  • дөрес сәүдә стратегиясен эшләү.

Тел таблицаның структурасын тасвирлый: баганалар һәм рәтләр, формулалар билгеләү. Соңгысында, математик операцияләр, үзгәрүләр, бүтән таблицалардагы мәгълүматлар исәпләү өчен кулланылырга мөмкин. QUIK серверыннан яки кулланучы дискыннан йөкләнгән программа коды формулалардагы кыйммәтләрне исәпләгән тел тәрҗемәчесе белән эшкәртелә. Бер программаның таблицаларында бер мәгълүмат чыганагы бар, ләкин исәпләүләр кабатланмый һәм системаның эффективлыгына тәэсир итми. QUIK таблицалары белән эшләгәндә, QPILE таблицалары стандарт функцияләргә ия. Эш урынындагы QUIK QPILE коды төзәтүче белән җиһазландырылган. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik. Кулланучы тавыш сигналы яки SMS формасында хәбәрләр алачак. QPILEдагы таблицаларны ODBC һәм DDE серверы аша редакцияләргә, бастырырга, күчерергә, экспортларга мөмкин. Башлангыч мәгълүматлар QUIK таблицаларыннан:

  • операцияләр, шул исәптән башкару һәм шәхси булмаган өчен;
  • заказлар, шул исәптән тукталыш заказлары, чиктән тыш сәүдә һәм заказлар өчен – исәп-хисап килешүендәге сәүдә өчен отчетлар;
  • “клиент портфолио”, “сатып алу / сату”
  • акча, сәүдә счетлары, инструмент буенча катнашучының позицияләреннән мәгълүмат.

QPILE нигезендәге таблицаларны контекст меню аша текст файлына күчереп булмый һәм техник анализ системасына экспортлый алмыйлар, һәм алар нигезендә схемалар эшләп булмый. QPILE нигезендәге таблицаларны фильтрлау яки сортлау мөмкин түгел.

Өстәл белән эшләү

Программа кодын йөкләү өчен сезгә хезмәтләр менюсын, аннары QPILE сценарийларын сайларга кирәк. Сез шулай ук ​​Ctrl + F11 комбинациясен куллана аласыз. Сезгә “Кушу” төймәсенә басыгыз һәм кирәкле файлны сайлагыз. Аның .qpl киңәйтелеше бар һәм аның исеме Сценарийлар исемлегендә күренәчәк.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеӘгәр дә программада хата бар икән, система “Хәбәрләр тәрәзәсендә” хәбәр итә, анда кимчелекле файлның исеме һәм хата номеры булачак. Әгәр дә файлда уңышсызлыклар табылмаса, кырларда түбәндәге мәгълүматлар күрсәтеләчәк:

  • өстәл исеме;
  • баганалар һәм клиентлар саны;
  • идентификаторлар һәм клиентлар исемлеге;
  • параметрлар исемлеге һәм файлның чыганак коды.

QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле“Locallyирле йөкләү” төймәсе таблицаны файлдан алырга мөмкинлек бирәчәк, һәм “Серверга йөкләү” программаны серверга җибәрәчәк, барлык кулланучылар аңа керә алсын өчен. Таблицаны ясау өчен, Таблицаны ясау төймәсенә басыгыз. “Мөмкин булган сценарийларда” башкарырга кирәк булган программаны сайлагыз, “Клиентлар фильтры” аша сызыклар санын куегыз, кирәкле баганаларны һәм аларның эзлеклелеген билгеләгез.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеКонтекст менюсында пауза һәм яңадан башлау, исәпләүне яңадан башлау һәм көйләү режимында, тасвирламаны файлга саклау, формуланы күрсәтү һәм сценарий параметрлары контекст менюсында бар.

QPILE конструкцияләре

Мәгълүмат төрләре

  • Сызык – тезмә.
  • Ике – йөзүче нокта саны.
  • Коллекция – коллекция.
  • Карта – ассоциатив массив – парлар эзлеклелеге, сезгә ачкыч белән мәгълүмат алырга мөмкинлек бирә.

Игътибар

Кушу, алу, тапкырлау, бүлү арифметик операцияләре кулланыла. Логик әйтемнәр “һәм”, “яки”, тигез, күбрәк, азрак, тигезсезлек, шартлы төзелеш “әгәр … алайса …” кулланыла.

Функцияләр

Функцияләр программаның теләсә кайсы урында урнашырга һәм төрле исемнәргә ия булырга мөмкин. Гомумән алганда, таблицалар һәм параметрлар, ассоциатив массивлар, таблицалар исемлеге һәм башка биремнәрнең кыйммәтләрен алу өчен 18 төркем математик функцияләр һәм функцияләр бар. Беренче сыйныф:

  1. Син, косин, тангент, аргументның котангенты бәясен кайтарырга, аргументның экспонентын исәпләргә, очраклы сан ясарга һ.б. математик функцияләр .
  2. Гомуми боерыклар : NEW_GLOBAL глобаль үзгәрүчене башлау өчен һәм хәбәрләр ачу өчен MESSAGE.

Эшләү функцияләре:

  • Предметлар коллекциясе (Коллекция) . Алар сезгә яңа коллекция булдырырга, кирәкле сандагы элементларны кайтарырга, кирәкле кыйммәтләрне алыштырырга яки кертергә мөмкинлек бирә.
  • Ассоциатив массивлар (MAP) . Массив ясарга һәм идарә итәргә булыш.
  • Файллар – текст файллары белән эшләү, программаның журнал журналын алып бару. Файл исеме аңа юлны үз эченә ала.
  • Сызыклар .
  • График . Шәм мәгълүматларына керү өчен GET_CANDLE функцияләре һәм ассоциатив массивны кайтару өчен GET_CANDLE EX.
  • Кушымталар . Заказлар булдыру һәм аларны сәүдә системасына җибәрү.
  • Теги . Аларны төзү һәм диаграммада урнаштыру. Бер яки барлык этикеткаларны өстәү, бетерү, билгеле бер ярлык өчен параметрлар алу һәм көйләү.

Моның өчен функцияләр дә бар:

  1. QUIK таблицаларына һәм булган параметрлар исемлегенә керү өчен . Эш урыны өстәл мәгълүматларына керү. Аларга MAP кайтару өчен GET_ITEM һәм язулар санын кайтару өчен GET_NUMBER_OF керә.
  2. Программалаштырылган таблица белән эшләргә . Бу боерыклар OWN таблицасында эшли. Аны алдагы абзацтагы стандарт функцияләр һәм бу функцияләр белән укып була. Бу төркемгә индекс белән рәтне өстәү, үзгәртү һәм бетерү, OWN таблицасын тулысынча чистарту өчен боерыклар бар.

Кыйммәтләрне куллану өчен:

  1. Агымдагы сәүдә таблицалары . GET_PARAM (_EX) боерыкларын кулланып алмашу мәгълүмат параметрларын алу.
  2. Тәрәзәләрне китерү . Инструмент цитаталарының кыйммәтләрен алу.
  3. Инструментлар һәм акча буенча позиция таблицалары . Код буенча клиент, компания, инструмент, депо счеты турында мәгълүмат алу.

Хезмәт күрсәтү функцияләре – агымдагы сәүдә сессиясенең датасын, ассоциатив серияне, агымдагы датаны һәм вакытны кайтару, тоташу торышын билгеләү, исәпләү режимын өзү.

Программаларны төзәтү

Программаның эшләвенә этаплап контроль “Чишү” тәрәзәсендә алып барыла. Ул “Дебу режимында исәпләүне башлау” контекст менюсыннан ачылган. Аны шулай ук ​​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да сәүдә роботын ничек ясарга?

Сәүдә консультанты булдыру өчен сезгә түбәндәге программалар кирәк булачак:

  1. Бу Quik.
  2. Блокнот ++ код редакторы.
  3. QPILE өчен кулланма.
  4. Notepad ++ та кодны ачыклау өчен XML плагины.

Бу программаларны йөкләү һәм урнаштыру. C: \ Кулланучылар \ Кулланучы \ AppData \ Роуминг \ Блокнот ++ \ юлына userDefineLang.xml урнаштырып, тел синтаксисын рөхсәт итегез.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеБашта, әйдәгез, түбәндәге сәүдә стратегиясен булдырыйк. Сценарий һәр минутта соңгы берничә шәм өчен Hi һәм Low санарга, коралның хәзерге бәясен тикшерергә тиеш. Әгәр дә корал бәясе максималь яки минималь кыйммәткә җитсә, кирәкле юнәлештә позиция ачыла. Кыска сигнал кабул ителгәч, озын позиция автоматик рәвештә ябыла. Робот GAZP коралын куллана, вакыт срокы 1 мин. Hiгары үлчәү тирәнлеге 5 шәмгә куелган. Озын керү өчен кагыйдә куелган һәм хәзерге бәянең максималь кыйммәтенең кисешүе. Әгәр хәзерге бәя бу 5 шәм өчен минималь кыйммәтне узса, робот кыска керәчәк. Төп көйләүләр һәм сервер датасы һәм вакыты белән Notepad ++ код кодын языгыз. Бу код түбәндәге рәсемдә күрсәтелгән.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеКодның беренче 4 сызыгы программа башын тәшкил итә. 6 һәм 44 юллар арасында робот эчтәлеген үз эченә алган программаның төп өлеше бар. 7 – 12 юлларда инструмент, төркем һәм клиент кодлары, MICEXдагы хисап номеры булган кулланучылар көйләнмәләре бар. Бу кыйммәтләр программаны үтәгәндә үзгәрми. 13 – 16 юллар үзгәрүчәннәрнең башлангыч кыйммәтләре. Алар һәрбер кабатлау пассажирында нульгә урнаштырылачак. 17 – 21 юлларда серверның датасын һәм вакытын куллану өчен күрсәткеч бар. Бу мәгълүмат DATETIME функциясенә бирелә һәм текст форматына күчерелә. 22 – 29 юллар алынган мәгълүматны таблицага җибәрәләр. Код сакланырга һәм qpl киңәйтелүе күрсәтелергә тиеш.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеCtrl + F10 төймәсенә басыгыз һәм барлыкка килгән qpl файлын сайлап QUIK программасын ачыгыз. Ctrl + F11 комбинациясен кулланыгыз, “Портфолио белән эш” тәрәзәсен ачу һәм портфолио исәпләү вакытын 5 минутка кую. Таблицада күрсәтер өчен баганаларны куяр өчен Ctrl + F12 басыгыз. Рәсемдә робот эшенең нәтиҗәләре күрсәтелгән.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеПрограммага тагын берничә функция һәм шартлар өстик.
“Кулланучының көйләүләре” блокы NUMBER һәм INTERVAL үзгәрүләр белән тулыландырыла, алар соңгы N барларын алу функциясендә кулланылачак. DATETIME функциясе серверның датасын һәм вакытын билгели, һәм хәзерге дата һәм вакыт функцияләре CURDATE һәм CURTIME аннан чакырыла. Хәзерге вакыт 24-нче юлдагы санга әверелә. 26-нчы юл алгоритмның 10:00:01 дән 18:40:00 UTC вакытын билгели.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеQUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеИң еш, күрсәткечләр, осиляторлар, статистик исәпләүләр диаграмманың соңгы N шәмнәре белән исәпләнә. QPILEның N чорында шәмнәр санын җыю функциясе юк, ләкин GET_CANDLE функциясе бар, диаграммадагы шәмнәргә текст форматында дата һәм вакыт буенча керә. Безнең кодта соңгы N барларын OHLC () алу функциясе бар. COLLECTION исемлегендә ояланган соңгы шәм параметрлары белән коллекция ясый. Программа INTERVAL кыйммәтен тикшерә, һәм ул 0… 60 диапазонына кермәсә, кыйммәтнең рөхсәт ителгән диапазонга туры килмәве турында хәбәр күрсәтелә. Шәмнәр белән MAP коллекциясе 88-нче юлда ясалган. Яңадан иске шәмгә кадәр INTERVAL адым белән графикны кирәкле тирәнлеккә сайлау өчен. 90-нчы юлда, цикл игълан ителгәннән соң, робот интервалга кире кайта. GET_CANDLE белән шәм алгач, INSERT_COLLECTION_TEAM функциясен кулланып BARLIST коллекциясенә урнаштырыгыз. OHLC () боерыгы эшләве нәтиҗәсендә, BARLIST инструмент схемасыннан соңгы шәмнәр белән NUMBER күләмендә тулыландырыла. Коллекциядәге элементлар саны GET_COLLECTION_COUNT () кушуы буенча сорала һәм BARCOUNT үзгәрүчесе тарафыннан хәбәр ителә. Серверның датасы, вакыты, INSTRUMENT һәм BARCOUNT үзгәрешләренең кыйммәтләре OETPUTтагы SET_VALUE () функциясе белән хәбәр ителә. Бу массив CREATE_MAP () боерыгы белән ясалган. Мәгълүматлар махсус таблицага төшә, аны астагы фотода күреп була. INSTRUMENT һәм BARCOUNT үзгәрүчәннәренең кыйммәтләре OUTPUTтагы SET_VALUE () функциясе белән хәбәр ителә. Бу массив CREATE_MAP () боерыгы белән ясалган. Мәгълүматлар махсус таблицага төшә, аны астагы фотода күреп була. INSTRUMENT һәм BARCOUNT үзгәрүчәннәренең кыйммәтләре OUTPUTтагы SET_VALUE () функциясе белән хәбәр ителә. Бу массив CREATE_MAP () боерыгы белән ясалган. Мәгълүматлар махсус таблицага төшә, аны астагы фотода күреп була.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле

QPILEда роботлар сәүдәсе – әзер чишелешләр

Урта робот

Демо робот реаль сәүдә өчен яраксыз.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик телеРобот 5 параметрны үз эченә ала. ДАТА, Вакыт, PRICE идентификатор кыйммәтләре 30 дәрәҗәгә куелган. Күчерү һәм ТП идентификаторлары нуль төгәллегенә куелган. QPILE астында язылган уртача хәрәкәт буенча робот коды: [галерея баганалары = “5” id = “14896,14897,14898,14899,14900,14901,14902,14903,14904,14905,14906,14907”]

Н. Морошкин позиция калькуляторы

Агымдагы сорау һәм тәкъдим бәяләрендә озын һәм кыска позицияләр өчен максималь рөхсәтле тарту дәрәҗәсен һәм максатны исәпләү программасы. Дәрәҗәләр позициягә керү күләменең 2 кыйммәте өчен исәпләнә. Робот, тукталыш тәртибен ачу бәясеннән бер адымда бар үсеше юнәлешендә позиция ачуны исәпләгәндә, рөхсәт ителгән позиция күләмен таба. Табылган дәрәҗәләр терминал тәрәзәсенә керәләр, алар соңрак бәяләр диаграммасында чагылыш таба. Транзакцияләр бирелгән корал өчен билгеләнгән. Позиция ачылса, робот аның параметрларын саный башлый. Позициянең үзгәрүенә карап, билгеләнгән заказлар көйләнә.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле

Күләм фильтры

Шәмнәр күләменең арифметик күләмен исәпләү һәм аны X коэффициенты белән уртача продукт белән чагыштыру өчен портфолио робот. Сайланган вакыт эчендә планлаштырылган схемалар белән дөрес эшли.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле

Грек вариантлары

“Греклар” вариантларын исәпләү һәм күрсәтү өчен портфолио. Кара-душ ысулыннан аерылып тора.
QUIK өчен сәүдә роботларын программалаштыру өчен QPILE алгоритмик теле

QUIK өчен TRIX сәүдә роботы

Программа TRIX күрсәткеченә нигезләнгән. Күрсәткеч нуль сызыгы өстендә ябылганда, күрсәтелгән дәрәҗә, робот Озын позицияне ала. Позиция табыш алыгыз, югалтуны туктатыгыз яки тукталыш белән ябыла.

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 куллану яхшырак.

info
Rate author
Add a comment

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

    Reply