Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК

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

Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК.
Роботи за трговање могу бити написани на одређеном језику, слично програмском коду. КПИЛЕ је један од њих, чланак ће размотрити овај језик, упоредити КПИЛЕ и
ЛУА језике , а такође дати примере робота на овом језику.

Опште информације о КПИЛЕ

КПИЛЕ је скраћеница која означава КУИК програмабилни интерфејс и логичко окружење.

Ово је низ команди које тумачи КУИК радна станица. Углавном се користи за израчунавање цене портфеља хартија од вредности. Језик се такође користи за:

  • динамичко прерачунавање цене имовине клијената на десктопу брокера иу њиховим портфолијима. У овом другом случају, њихова укупна цена се такође прерачунава;
  • проналажење индикатора који недостају коришћењем сопствених алгоритама и података за маргинално кредитирање;
  • развијање праве стратегије трговања.

Језик описује структуру табеле: постављање колона и редова, формуле. У последњем се за прорачун могу користити математичке операције, варијабле, подаци из других табела. Програмски код учитан са КУИК сервера или са диска корисника обрађује тумач језика, који израчунава вредности у формулама. Табеле једног програма имају један извор података, али се прорачуни не дуплирају и не утичу на ефикасност система. Када радите са КУИК табелама, табеле на КПИЛЕ имају стандардне функције. КУИК на радном месту је опремљен КПИЛЕ кодом за отклањање грешака. хттпс://артицлес.опекфлов.цом/софтваре-традинг/торговиј-терминал-куик.хтм Језик вам омогућава да опишете нове табеле са датом структуром, истакнете ћелије са одређеним вредностима, израчунате поља на основу математичких и логичких израза. Корисник ће добијати обавештења у виду звучног сигнала или текстуалне поруке. Табеле на КПИЛЕ могу се уређивати, штампати, копирати, извозити преко ОДБЦ и ДДЕ сервера. Почетни подаци су из КУИК табела:

  • трансакције, укључујући за извршење и безличне;
  • налози, укључујући стоп налоге, за ванберзанске трговине и налози – извештаји о пословима поравнања;
  • “портфолио клијената”, “куповина/продаја”
  • подаци са позиција учесника по новцу, трговачким рачунима, инструментима.

Табеле засноване на КПИЛЕ не могу се копирати у текстуалну датотеку преко контекстног менија и експортовати у системе техничке анализе, а графикони се не могу развијати на основу њих. Табеле засноване на КПИЛЕ не могу се филтрирати или сортирати.

Рад са столом

Да бисте учитали програмски код, потребно је да изаберете мени услуга, затим КПИЛЕ скрипте. Такође можете користити комбинацију Цтрл+Ф11. Након што морате да кликнете на “Додај” и изаберете жељену датотеку. Има екстензију .кпл и његово име ће се појавити на листи доступних скрипти.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКУколико дође до грешке у програму, систем ће направити обавештење у „Прозору порука“ које ће садржати назив неисправне датотеке и број реда са грешком. Ако у датотеци нису пронађени кварови, следећи подаци ће бити назначени у пољима:

  • име табеле;
  • број колона и клијената;
  • списак идентификатора и клијената;
  • списак параметара и изворни код датотеке.

Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКДугме „Локално преузми“ ће вам омогућити да преузмете табелу из датотеке, а „Отпреми на сервер“ ће послати програм на сервер како би сви корисници могли да му приступе. Да бисте креирали табелу, кликните на Креирај табелу. У “Доступне скрипте” изаберите програм који треба да извршите, подесите број редова кроз “Филтер клијената”, одредите потребне колоне и њихов редослед.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКПаузирање и наставак прорачуна, поновно покретање прорачуна иу режиму за отклањање грешака, чување описа у фајлу, демонстрација формуле и параметри скрипте доступни су у контекстуалном менију.

КПИЛЕ конструкције

Типови података

  • Стринг – стринг.
  • Доубле је број са покретним зарезом.
  • Збирка – збирка.
  • Мапа – асоцијативни низ – низ парова који вам омогућава да добијете информације по кључу.

Изрази

Примењују се аритметичке операције сабирања, одузимања, множења, дељења. Користе се и логички изрази „и“, „или“, једнако, више, мање, неједнакости, условна конструкција „ако … онда …“.

Функције

Функције се могу налазити било где у програму и имати различита имена. Укупно је доступно 18 група математичких функција и функција за добијање вредности табела и параметара, асоцијативних низова, листе табела и других задатака. Први разред:

  1. Математичке функције које вам омогућавају да вратите вредност синуса, косинуса, тангента, котангенса аргумента, израчунате експонент аргумента, генеришете случајни број итд.
  2. Опште команде : НЕВ_ГЛОБАЛ за иницијализацију глобалне променљиве и МЕССАГЕ за отварање порука.

Функције за рад са:

  • Збирке предмета (Збирка) . Они вам омогућавају да креирате нову колекцију, вратите потребан број елемената, замените или убаците жељене вредности.
  • Асоцијативни низови (МАП) . Помозите у креирању и управљању низом.
  • Датотеке – рад са текстуалним датотекама, одржавање дневника програма. Име датотеке може садржати путању до ње.
  • Стрингс .
  • Графови . Функције ГЕТ_ЦАНДЛЕ за приступ подацима свеће и ГЕТ_ЦАНДЛЕ ЕКС за враћање асоцијативног низа.
  • Апликације . Креирање налога и њихово слање у систем трговања.
  • Тагс . Њихова конструкција и уградња на графикону. Додавање, брисање једне или свих ознака, добијање и подешавање параметара за одређену ознаку.

Постоје и функције за:

  1. За приступ редовима произвољних КУИК табела и листама доступних параметара . Приступ подацима табеле на радном месту. Ово укључује ГЕТ_ИТЕМ за враћање МАП-а и ГЕТ_НУМБЕР_ОФ за враћање броја уноса.
  2. За рад са програмабилном таблицом . Ове команде раде на СОПСТВЕНОЈ табели. Читљив је стандардним функцијама из претходног става и овим функцијама. Ова група укључује команде за додавање, измену и брисање реда са индексом и потпуно брисање СОПСТВЕНЕ табеле.

Да бисте добили вредности користите:

  1. Табеле текућих послова . Добијање параметара информација о размени помоћу команди ГЕТ_ПАРАМ (_ЕКС).
  2. Куоте виндовс . Добијање вредности котација инструмената.
  3. Табеле позиција по инструментима и новцу . Добијање података о клијенту, компанији, инструменту, депо рачуну по шифри.

Сервисне функције – враћање датума тренутне трговачке сесије, асоцијативног низа, тренутног датума и времена, одређивање стања везе, прекидање режима израчунавања.

Програми за отклањање грешака

Корак по корак контрола рада програма врши се у прозору “Дебуг”. Отвара се из контекстног менија „Започни прорачун у режиму за отклањање грешака“. Такође се може отворити командом бреакпоинт(), а програмска линија ће бити истакнута црвеном бојом. Прозор садржи поља са програмским кодом и вредностима променљивих. На дну прозора налазе се дугмад “Следећи корак”, “Настави извршење”, “Заустави прорачун”. Притиском на Ф5 наставиће се извршавање програма, комбинација Схифт + Ф5 ће зауставити отклањање грешака, тастер Ф10 ће усмерити на следећи ред.

КПИЛЕ или ЛУА?

ЛУА је нови програмски језик за креирање трговачких робота. Као и КПИЛЕ, имплементиран је у КУИК терминал. хттпс://артицлес.опекфлов.цом/программинг/луа.хтм Сајт посвећен развоју трговачких робота за трговање показује предности ЛУА језика у односу на КПИЛЕ. Дакле, може да функционише као непреведена скрипта и бајткод, опремљен алатима за програмере и објектно оријентисаним програмским механизмима. Објекти написани на другим програмским језицима могу се повезати са ЛУА програмима. ЛУА пружа 8 типова података, укључујући метатабеле. ЛУА језик је вишенитни, брз, а трансакције и терминални догађаји су асинхрони. ЛУА је чешћи од КПИЛЕ-а и за њега су написана многа проширења.

КПИЛЕ језик је сада застарео. Стручњаци на форумима препоручују коришћење ЛУА. Иако се корисни и ефикасни програми и даље користе.

Међутим, КПИЛЕ језик је једноставан у поређењу са ЛУА, тако да ако немате искуства у програмирању, боље је изабрати КПИЛЕ. На овом језику можете написати једноставног робота ако не морате да изводите сложене прорачуне.

Како направити трговачког робота на КПИЛЕ-у?

Да бисте креирали трговинског саветника, биће вам потребни следећи програми:

  1. ИТС Куик.
  2. Нотепад++ уређивач кода.
  3. Водич за КПИЛЕ.
  4. КСМЛ додатак за откривање кода у Нотепад++.

Преузмите и инсталирајте ове програме. Омогућите синтаксу језика тако што ћете поставити усерДефинеЛанг.кмл на путању Ц:\Усерс\Усер\ АппДата\Роаминг\Нотепад++\
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКПрво, направимо следећу стратегију трговања. Скрипта треба да израчуна Хи и Лов за последњих неколико свећа сваког минута, провери тренутну цену инструмента. Позиција се отвара у траженом правцу ако цена инструмента достигне максималну или минималну вредност за период. Када се прими сигнал за кратко, дуга позиција се аутоматски затвара. Робот користи ГАЗП алат, временски оквир је подешен на 1 мин. Хи-ниска дубина мерења је подешена на 5 свећа. За улазак у Лонг, поставља се правило и пресек тренутне цене максималне вредности за период. Робот ће ући у Схорт ако тренутна цена пређе минималну вредност за ових 5 свећа. Напишите блок кода у Нотепад++ са основним подешавањима и датумом и временом сервера. Овај код је приказан на слици испод.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКПрве 4 линије кода чине заглавље програма. Између редова 6 и 44 налази се тело програма, које садржи садржај робота. Редови 7 – 12 садрже корисничка подешавања која укључују шифре инструмента, групе и клијента, број рачуна на МИЦЕКС. Ове вредности се не мењају током извршавања програма. Редови 13 – 16 су почетне вредности променљивих. Они ће бити враћени на нулу на сваком пролазу итерације. Редови 17 – 21 садрже индикацију за коришћење датума и времена сервера. Ови подаци се прослеђују функцији ДАТЕТИМЕ и конвертују у текстуални формат. Линије 22 – 29 шаљу примљене податке у табелу. Код мора бити сачуван и кпл екстензија мора бити наведена.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКОтворите програм у КУИК-у притиском на Цтрл+Ф10 и одабиром генерисане кпл датотеке. Користите комбинацију Цтрл+Ф11 да отворите прозор „Рад са портфељима“ и подесите период израчунавања портфеља на 5 минута. Притисните Цтрл+Ф12 да бисте поставили колоне за приказ у табели. На слици је приказан резултат рада робота.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКХајде да додамо још неколико функција и услова нашем програму.
Блок „Корисничка подешавања“ допуњен је променљивим БРОЈ и ИНТЕРВАЛ, које ће се користити у функцији добијања последњих Н трака. Функција ДАТЕТИМЕ поставља датум и време сервера, а из ње се позивају тренутне функције датума и времена ЦУРДАТЕ и ЦУРТИМЕ. Тренутно време се конвертује у број у реду 24. Ред 26 поставља време за покретање алгоритма од 10:00:01 до 18:40:00 УТЦ.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКАлгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКНајчешће се индикатори, осцилатори, статистички прорачуни израчунавају помоћу последњих Н свећа графикона. КПИЛЕ нема функцију за прикупљање броја свећа пре Н периода као такав, али постоји функција ГЕТ_ЦАНДЛЕ која приступа свећама на графикону по датуму и времену у текстуалном формату. Наш код садржи функцију за добијање последњих Н трака ОХЛЦ(). Прави колекцију са параметрима последњих свећа угнежђених у листу ЦОЛЛЕЦТИОН. Програм проверава вредност ИНТЕРВАЛ, и ако не спада у опсег 0…60, приказује се порука да вредност не одговара дозвољеном опсегу. У реду 88 креира се колекција МАП са свећама. ФОР петља која испитује графикон до потребне дубине са ИНТЕРВАЛ кораком од нове до старе свеће. У реду 90, након што је циклус декларисан, робот се враћа интервал уназад. Када добијете свећу са ГЕТ_ЦАНДЛЕ, поставите га у колекцију БАРЛИСТ користећи функцију ИНСЕРТ_ЦОЛЛЕЦТИОН_ТЕАМ. Као резултат рада команде ОХЛЦ(), БАРЛИСТ се допуњава последњим свећама из табеле инструмената у износу од БРОЈ. Број елемената у колекцији захтева наредба ГЕТ_ЦОЛЛЕЦТИОН_ЦОУНТ() и извештава променљива БАРЦОУНТ. Датум, време на серверу, вредности променљивих ИНСТРУМЕНТ и БАРЦОУНТ се извештавају помоћу функције СЕТ_ВАЛУЕ() у ОУТПУТ. Овај низ креира наредба ЦРЕАТЕ_МАП(). Подаци спадају у прилагођену табелу, што се може видети на слици испод. вредности променљивих ИНСТРУМЕНТ и БАРЦОУНТ се извештавају помоћу функције СЕТ_ВАЛУЕ() у ОУТПУТ. Овај низ креира наредба ЦРЕАТЕ_МАП(). Подаци спадају у прилагођену табелу, што се може видети на слици испод. вредности променљивих ИНСТРУМЕНТ и БАРЦОУНТ се извештавају помоћу функције СЕТ_ВАЛУЕ() у ОУТПУТ. Овај низ креира наредба ЦРЕАТЕ_МАП(). Подаци спадају у прилагођену табелу, што се може видети на слици испод.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК

Роботи за трговање на КПИЛЕ – готова решења

Робот са покретним просеком

Демо робот није погодан за право трговање.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИКРобот укључује 5 параметара. Вредности идентификатора ДАТЕ, ТИМЕ, ПРИЦЕ су подешене на ниво 30. Идентификатори МОВИНГ и ТП су подешени на нулту прецизност. Код робота на покретном просеку написан под КПИЛЕ: [галлери цолумнс=”5″ идс=”14896,14897,14898,14899,14900,14901,14902,14903,14904,14905,14906,14907″]

Н. Моросхкин калкулатор положаја

Програм за израчунавање нивоа максималног дозвољеног повлачења и циља за дуге и кратке позиције по текућим ценама тражења и понуде. Нивои се израчунавају за 2 вредности запремине уноса позиције. Робот проналази дозвољени обим позиције приликом додељивања стоп налога у једном кораку од цене отварања са обрачуном отварања позиције у правцу раста шипке. Пронађени нивои се уносе у прозор терминала, који се накнадно одражавају на графикону цена. Трансакције су фиксне за дати инструмент. Ако је позиција отворена, робот почиње да израчунава своје параметре. У зависности од промене позиције, додељени налози се прилагођавају.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК

Волумен филтер

Портфолио робот за израчунавање аритметичке средине запремине за свеће и поређење са просечним производом по коефицијенту Кс. Ради коректно са уцртаним графиконима у изабраном временском периоду.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК

Опције Грци

Портфолио за израчунавање и приказивање „Грка“ опција. Разликује се од методе Блацк-Сховерс.
Алгоритамски језик КПИЛЕ за програмирање трговачких робота за КУИК

ТРИКС трговачки робот за КУИК

Програм је заснован на ТРИКС индикатору. Када се индикатор затвори изнад нулте линије, наведеног нивоа, робот заузима Лонг позицију. Позицију затварају Таке Профит, Стоп Лосс или траилинг стоп.

М4 препроцесор

Програм за рад са КПИЛЕ и Луа. Укључује архиве са извршним датотекама, документацију и ДЛЛ датотеке са рашчлањивањем регуларног израза. Да бисте користили програм, потребно је да распакујете извршне датотеке и поставите регекп2 на Ц:\Виндовс путању. Лекције о КПИЛЕ за КУИК: хттпс://иоуту.бе/вМТКСвДУујпИ Инсталирање скрипте на КПИЛЕ у Куик терминал: хттпс://иоуту.бе/0Б7кЛ8Свх7И Одељак о гитхуб-у који описује употребу КПИЛЕ алгоритамског језика уграђеног у КУИК системска радна станица налази се на линку – хттпс://еувгуб.гитхуб.ио/куик_усер_мануал/цх8.хтмл. КПИЛЕ је застарео језик, али прилично једноставан и доступан чак и почетницима. Роботи за трговање и програми који су се дуго доказали настављају да раде на томе. Међутим, за сложеније задатке боље је користити ЛУА.

info
Rate author
Add a comment

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

    Reply