Lua программалоо, соода роботтору жана соода үчүн скрипттер

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

Lua программалоо тилин колдонуп, сиз ар кандай оюндарды, утилиталарды,
соода роботторун жана башка иштеп чыгууларды түзө аласыз. Луа тилин түшүнүү оңой, популярдуу котормочусу бар. Луа менен жакындан таанышуу, ошондой эле бул тилде соода роботун же скрипт жазууну үйрөнүү сунушталат.

Луа тили деген эмне жана ал кандайча пайдалуу?

Lua – колдонууга оңой, орнотулган тил. Жаңы баштагандар анын жардамы менен кыска убакыттын ичинде программалоонун негиздерин үйрөнө аларыңызды моюнга алышат. Луа ийгиликтүү башка тилде түзүлгөн иштеп чыгуулар менен айкалыштырылган. Бул көбүнчө электрондук дизайн илиминде жаңыдан баштаган студенттерге сунушталат.
Lua программалоо, соода роботтору жана соода үчүн скрипттерЛуа тили көбүнчө ар кандай тармактарда колдонулат. Бул пайдалуу болушу мүмкүн:

  1. Компьютер оюндарын ойногон колдонуучу (плагиндерди жазуу).
  2. Оюндарды иштеп чыгуу боюнча адис (кыймылдаткычты иштеп чыгуу).
  3. Колдонмолорду иштеп чыгуучу программист (ар кандай утилиталар үчүн плагиндерди жазыңыз).
  4. кыналган багытында иштеп чыгуучу (тил жараянын жайлатпайт жана натыйжалуу иштөөгө мүмкүндүк берет)
  5. Скрипттерди жана соода ботторду жазуу үчүн соодагерлер.
    Lua программалоо, соода роботтору жана соода үчүн скрипттер
    Кайра сатып алуу деңгээли боюнча Луадагы QUIK үчүн соода роботу

Луанын аркасында бирден ашык соода роботу түзүлдү. Артыкчылыгы – ар бир колдонуучу тилдин нюанстарын тез түшүнүп, мындай программаны өз алдынча түзө алат. Ал аркылуу Quik терминалына буйруктарды жөнөтүп
, техникалык анализ жүргүзүүгө болот. Луа тили эмне үчүн, LUA программалоо тили жөнүндө жалпы маалымат: https://youtu.be/PbYf6uNZFCE

Кыска тарыхый маалыматтар

Lua 1993-жылы Tecgraf бөлүмүнүн бразилиялык программисттери тарабынан ойлоп табылган. Иштеп чыгуучулар ар бир колдонуучу тилди өнүктүрүүгө белгилүү бир түзөтүүлөрдү киргизе аларына ынанышкан. Бул кодго ачык кирүү аркылуу жасалышы мүмкүн. Бразилия үчүн өзүнүн программалоо тилинин пайда болушу чыныгы ачылыш болду. Чынында эле, буга чейин бул өлкө компьютерди өнүктүрүү жаатында мындай ийгиликтерге жетишкен эмес.
Lua программалоо, соода роботтору жана соода үчүн скрипттерТил SOL жана DEL негизинде түзүлгөн. Бул окуялар дүйнөнү Луага караганда бир жыл эрте көрдү. Ошол эле бразилиялык уюм автордун милдетин аткарган. Бул программалоо тилдери мунай казып алуу жана кайра иштетүү менен алектенген ошол эле мамлекеттин Petrobras компаниясы тарабынан берилген. Lua 5.4.0 акыркы версиясы салыштырмалуу жакында – 2020-жылы чыккан. Иштеп чыгуучулар долбоорго мүмкүн болушунча кызыктуу жана пайдалуу функцияларды киргизүүгө аракет кылышат. Ошондуктан, программа дайыма жаңыланып турат жана иштеп чыгуучулардын арасында суроо-талапка ээ.

Lua программалоо тилинин өзгөчөлүктөрү

Lua менен бетме-бет келгенде, иштеп чыгуучуга бул тилди колдонууга мүмкүнчүлүк берилет, ал орнотулган (ал скрипт болгондуктан) жана өз алдынча (айрым учурларда, аны кошумчалары жок колдонсо болот). Авторлор Луаны түзүүнүн үстүндө иштегенде, алар атайылап көп орунду ээлебеген жана каалаган түзмөктө оңой иштей турган оперативдүү курал жасоого киришкен.
Lua программалоо, соода роботтору жана соода үчүн скрипттерИштеп чыгуучулар бул тилди мүмкүн болушунча жөнөкөйлөштүрүүгө аракет кылышкан, андыктан башталгыч программисттер да аны тез өздөштүрө алышат. Бул долбоорго суроо-талаптын өсүшү. Адистер расмий веб-сайтта китепканаларга кайрылбастан код жазууга жана масштабдуу иштеп чыгууларды түзүүгө мүмкүнчүлүк алышат. Авторлор программанын өзүндө керектүү параметрлердин болушуна кам көрүшкөн. Жаңы келген колдонуучулар Луа тили кайсы аймактарда колдонуларын үйрөнүшөт. Ал өнөр жай тармагындагы программаларды өндүрүү үчүн иштелип чыккан. Бирок бүгүнкү күндө бул тилдин жардамы менен ар кандай соода роботтору, сценарийлер, компьютердик оюндар, тиркемелер, Telegram үчүн боттор ж.б.у.с. Мындан тышкары, Луа космосту изилдөөгө жардам берген инновациялык техникага тартылган. Ошондой эле университеттерде студенттерди окутууда колдонулат. Эң популярдуу программалоо тили Lua үйдө каралат. Бул Бразилияда дээрлик бардык жерде колдонулат (мүмкүн болгон жерде).

Артыкчылыктары жана кемчиликтери

Lua программалоо, соода роботтору жана соода үчүн скрипттерАр кандай программа сыяктуу эле, Луанын механизми жана программалоо тили бир катар жакшы жана жаман жактарына ээ. Өнүгүүнүн оң жактарынан баштоо керек:

  1. Сапаттуу транспорт . Көптөгөн программалардан айырмаланып, Луа бир операциялык тутумдан экинчисине өткөрүү оңой. Бул учурда, эч кандай олуттуу өзгөрүүлөр жок. Кандай болгон күндө да, коддо каталар болбойт.
  2. Көптөгөн китепканалар . JavaScript менен салыштырганда , Луанын китепкана параметрлери бир топ азыраак. Бирок, расмий ресурста тил менен толук иштөө үчүн керектүү нерселердин баары бар.
  3. Натыйжалуулук . Система кыска убакыттын ичинде белгилүү бир коддоо процесси үчүн маанилүү болгон китепканаларды кошууга мүмкүндүк берет.
  4. Колдонуу оңой . Программалоочу гурулар тилдин бир нече деталдарын гана үйрөнүшү керек, ошондо да алар аны иштеп чыгууларында коопсуз колдоно алышат. Программалоону жаңыдан баштагандар үчүн Луаны түшүнүү да көп убакытты талап кылбайт.
  5. Эстутумду олуттуу үнөмдөө . Бул тилде программаларды түзүү менен, адис башка аналогдор менен айырмасын байкап кепилдик берилет. Кантсе да, Lua иштеп чыгуулар түзмөктө аз эс керек.

Тилдин бирден-бир олуттуу кемчилиги – бул жазуу. Ал эми бул көп учурда башка өнүктүрүү тилдери менен айкалыштырып колдонсо болот дегенди билдирет. Алардын эң популярдуусу C. Башкача айтканда, кошумча программалоо тилин үйрөнүүгө туура келет.

Javascript менен салыштыруу

Көптөгөн колдонуучулар Луаны JavaScript менен салыштырып, алардын коддору дээрлик бирдей деп ырасташат. Чынында тилдердин ортосунда айырмачылыктарга караганда окшоштуктар көп. Бирок, ачык окшоштуктарга карабастан, көптөгөн айырмачылыктар бар. Мисалы, Lua өзүнүн программалык колдоосуна ээ. Бирок, жакында JavaScript иштеп чыгуучулары жаңыртууну киргизишти, ага ылайык, колдонуучу генераторлордун ортосуна “киреше” деген сөздү жазышы керек, андан кийин программа колдоого алынат.
Lua программалоо, соода роботтору жана соода үчүн скрипттерКүчкө көтөрүү үчүн Луа оператору мындай белгини “^” билдирет, ал эми JavaScriptте “**”. Акыркысында кичирейтүү жана кичирейтүү функциялары бар. Бирок Луа операторду ашыкча жүктөй алат. JavaScript өзгөрүлмө функцияларды гана камтыйт, ал эми Луа аларды аныктайт. JavaScript белгилүү Юникод стандартын колдоо менен мактана алат. “!==” айкалышы тилдеги теңсиздикти көрсөтүү үчүн колдонулат жана Луа ушул эле максатта “~=” колдонот. Башка айырмачылыктар таблицада келтирилген.
Lua программалоо, соода роботтору жана соода үчүн скрипттер

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

QLuaда роботторду түзүү анча деле кыйын эмес, жада калса жаңы баштагандар да аны көтөрө алышат. Эң негизгиси, эң башында негизги теорияны түшүнүү. Кодду түзүү үчүн эң жөнөкөй текст редактору пайдалуу. Түзүү схемасы көрсөткүчтү түзүүгө окшош. Бирок, кодекстин өзүндө анча чоң эмес айырма бар. Дагы бир жакшы “багыттоо” – жаңыдан жасалган роботту компьютериңиздин каалаган жерине жайгаштырууга болот.

Маанилүү! Коддо бир гана функция болушу керек – “негизги”.

Робот коду түзүлүп, редакциялангандан кийин, аны сактоо сунушталат. Lua узартуу жөнүндө унутпа. Жогоруда айтылгандай, программаны компьютердин каалаган жерине жайгаштырууга болот. Кодуңузду текшерүү үчүн роботту иштетишиңиз керек. Бул үчүн, “Кызматтар” бөлүмүнө өтүңүз. Төмөндө “Lua скрипттери” деген сап болот, аны басуу керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАндан кийин, жүктөлгөн скрипттери бар терезе пайда болот. Ал жерден керектүү файлды тандап, тиешелүү баскычты колдонуп иштетишиңиз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАягында, бот кодун каталарды текшерүү сунушталат. Эгер баары жакшы болсо, робот иштей баштайт. Катуу пайда болгон учурда, кодго кайра кайрылып, анын тууралыгын текшерүү керек.

Луадагы эң мыкты соода роботторуна сереп салуу – үйрөнчүктөр үчүн даяр чечимдер

Lua программалоо тилин колдонуу менен сиз ар кандай татаалдыктагы роботтордун ар кандай түрлөрүн түзө аласыз. Бирок, сиз даяр программаны сатып алууга болот. Буга чейин иштөөгө даяр болгон белгилүү алгоритмдер менен таанышуу сунушталат. Сиз аларды сатып ала аласыз же демо версиясын сынап көрүңүз. Луадагы QUIK терминалы үчүн толук соода роботу: https://youtu.be/Z2xzOfNZFso

Робот-терминал “Delta Pro”

Бир платформада 120га жакын каалаган вариантты активдештирүү мүмкүнчүлүгүн берет. Бул учурда, сиз стратегиялардын жана куралдардын ар кандай түрлөрүн колдоно аласыз.
Lua программалоо, соода роботтору жана соода үчүн скрипттер

RQ: Бир пайыз

Робот соода тармагында соода кылууга арналган. Алгоритм бул иш-аракеттен түшкөн кирешени бир нече эсе көбөйтүүгө мүмкүндүк берет. Тобокелдиктер минималдаштырылган, аларды оңой эсептесе болот.
Lua программалоо, соода роботтору жана соода үчүн скрипттер

RQ: Мартин

Система келишим түзгөнгө чейин лотту эсептөөгө мүмкүндүк берет. “Жарым автоматтык” режимде соода жүргүзүү каралган. Деңгээлдерди ийгиликтүү көзөмөлдөп, кол менен коюуга болот.
Lua программалоо, соода роботтору жана соода үчүн скрипттер

QUIK терминалы үчүн Lua скрипттеринин түрлөрү

QUIK терминалында белгилүү бир тапшырманы аткарууда төмөнкү сценарийлер колдонулат:

  1. Lua скрипттери . Алар тармакта, локалдык дискте же терминалга кире турган башка жерде сакталышы мүмкүн. Алардын жардамы менен соода роботун түзүү үчүн жетиштүү функционалдуу. QUIKте таблицаларды түзүүгө, инструменттердин варианттарын колдонууга, ар кандай тапшырмаларды аткарууга буйруктарды берүүгө жана башкалар мүмкүн болот.
  2. Ыңгайлаштырылган көрсөткүчтөр . Бул жерде, мурунку көрүнүш менен салыштырганда, бир кыйла аз функционалдык. Программа колдонуучуга терминалдык диаграммалардагы аракеттердин алгоритмин көрсөтүү үчүн арналган.

Тилди жакшы өздөштүрүп алууну каалагандар үчүн Луада программалоо – толук колдонмону жүктөп алыңыз:
QUIK үчүн Lua роботторунда программалоо – Айсберг роботу: https://youtu.be/cxXwF_xmTHY

Луада роботту кантип жазуу керек

Өзүнүн роботун түзүүнү чечкен колдонуучу алдын ала түзүлгөн алгоритмди аткарышы керек. Ал программалоо боюнча тажрыйбага ээ болгондо, ал оңой эле өз коддорун жазып, эксперимент жасай алат. Бул аймакты изилдөө үчүн Луаны тандоо менен, башталгыч жаңылбайт. Анткени, башында, негизги нерсе жөнөкөй жана түшүнүктүү программалоо тилинде токтоп турат. Баштоо үчүн, QUIK соода терминалы программасын ачыңыз. Анын терезесинде сиз папканы түзүшүңүз керек. Бул бардык жазылган сценарийлер сактала турган жер. Колдонуучу папкага каалаган ат бере алат, бирок ал латын тамгаларынан гана турушу керек. Анын аты “LuaScripts” деп коёлу. Андан кийин, сиз папканы активдештирип, ал жерде текст редакторун түзүшүңүз керек, мисалы, блокнот. Бош мейкиндикте (программанын терезесинде) сиз оң баскычты басышыңыз керек
. Диалогдук терезе пайда болот, анын тизмесинде сиз “Түзүү” өтмөгүн, андан кийин “Тексттик документ” сабын тандооңуз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерКийинчерээк чаташтырбоо үчүн ага да ат коюш керек. Мисалы, сиз “Script_N1” деп жаза аласыз. Колдонулган тилдин токтому жөнүндө унутпагыла – .lua. Башкача айтканда, колдонуучу “Script_N1.lua” документинде мындай жазууну алышы керек. Бирок, Windows көбүнчө .txt файлын салып, кеңейтүүнү автоматтык түрдө өзгөртөт. Бул учурда, NotePad++ программасында керектүү токтомду орнотуу менен документ түзүү сунушталат. Бул программада сиз “Синтаксистер” бөлүмүн тандооңуз керек. Бул жерде бир нече варианттары бар диалог кутучасы пайда болот. Сиз “L” тандоо керек. Ал жерден дагы бир терезе пайда болот, анда сиз “Луа” баскычын басышыңыз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАндан кийин, ошол эле менюда “Синтаксистер” бөлүмү менен бирге “Файл” бөлүмүн басышыңыз керек. Кийинки терезеде жазуу пайда болот – “Башкача сактоо”. Колдонуучу аны басып, жаңы терезе ачылганга чейин күтүшү керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАл жерде, жогору жагында мурда түзүлгөн папканын аталышы менен сызык көрүнөт “Lua скрипттери”. Терезенин ылдый жагында колдонуучу түзгөн башка 2 документ көрсөтүлөт. Эгер баары дал келсе, сиз аракетти ырастап, коддун учурдагы абалын сакташыңыз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерКийинки кадам тандалган Lua программалоо тилинде кодду жазуу болуп саналат. Жаңы баштагандар инструкцияны колдоно алышат, ал жөнөкөй кодду түзүүгө жардам берет, ошондуктан адис өз күчүн сынап көрө алат. Аракеттердин алгоритми QLUA.chm деп аталган программа файлында жайгашкан. Мисалы, мындай жеңил кодду жазуу сунушталат:
function main()
message(“Менин биринчи скриптим ишке киргизилди”);
аяктоо Кийинки, менюдагы сактоо баскычын басышыңыз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерКод “Script_N1.lua” файлында сакталышы керек. Биз аны ишке киргизебиз жана дебюттук скрипт кандайча көрсөтүлөрүн көрөбүз. Аны QUIKте ачуу үчүн бул программаны ачып, параметрлер бөлүмүндөгү “Кызматтар” өтмөгүн тандоо керек. Андан кийин диалог терезеси пайда болот, ал жерден “LUA скрипттери …” баскычын чыкылдатуу керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАндан кийин колдонуучу “Жеткиликтүү скрипттер” папкасын көрөт. Жогорку оң жагында Кошуу баскычы бар. Аны басыңыз жана код менен файлды издеңиз. Бул жерде “Script_N1.lua” жайгашкан.
Lua программалоо, соода роботтору жана соода үчүн скрипттерДокументти ачууда “Script_N1.lua” сабын тандоо маанилүү (ал C дискинде сакталышы керек), андан кийин ылдый жагындагы “Ишке” баскычын чыкылдатыңыз.
Lua программалоо, соода роботтору жана соода үчүн скрипттерЖаңы терезе дароо пайда болот.
Lua программалоо, соода роботтору жана соода үчүн скрипттерБул түшүнүксүз каармандардын алдын алуу үчүн, сиз NotePad программасына өтүшүңүз керек. Орнотууларда “Коддоолор” бөлүмү бар, аны басыңыз. Андан кийин өтмөктөрдүн тизмеси пайда болот, алардын арасында сиз “ANSIге айландыруу” баскычын басышыңыз керек.
Lua программалоо, соода роботтору жана соода үчүн скрипттерАндан кийин, сактоо баскычын чыкылдатып, билдирүү терезесине кайтуу керек. Ансыз деле башка жазуу болот, сызылган сап эмес.
Lua программалоо, соода роботтору жана соода үчүн скрипттер

QUIK терминалында LUAда кантип программалоо керек

3 популярдуу жолдору бар:

  1. Ар кандай текст файлы түзүлөт, анда .lua кеңейтүүсү коюлушу керек. Андан кийин, сиз редакторду ачып, кодду жазышыңыз керек. Баштагандан кийин, мындай алгоритм бир гана жолу аткарылат. Аны кол менен чексиз иштете аласыз. Аны белгилүү бир маалыматты бир жолку эсептөө үчүн колдоно аласыз.
  2. Lua скриптинин өзүндө сиз main() деп аталган функцияны түзүшүңүз керек  . Андан ары, ошол эле функцияда сиз жазылган кодду киргизишиңиз керек. Ал эми sleep() функциясы  скриптти убактылуу тындыруу же, тескерисинче, кайра улантуу үчүн пайдалуу. Башкача айтканда, сиз негизги () функцияны иштетип, андан кийин уйку () функциясын киргизсеңиз, белгилүү бир убакыт аралыгынын жыштыгы менен эсептөөгө жетише аласыз.
  3. QLUA программасында сиз окуяга негизделген өнүгүү моделин колдоно аласыз. Ошентип, азыр бир функциядагы өзгөрүүлөрдү “аныктоо” зарыл эмес жана ушундан улам төмөнкү буйруктарды аткаруу керек.

Акыркы ыкманы кененирээк талдоо сунушталат. Белгилүү бир окуяны чечүү үчүн, сиз функцияны скриптте Quick программасында жазышыңыз керек. Сиз төмөнкү схеманы колдоно аласыз:
Lua программалоо, соода роботтору жана соода үчүн скрипттерLUA скрипти атайын аталыштары бар бир нече функциялардан турушу мүмкүн: келишим, тырмакча ж.б.у.с. Программадан “Таблицалар” бөлүмүн табышыңыз керек, “Луа” бөлүмүнө өтүңүз. Ал жерде диалог терезеси пайда болот жана “Жеткиликтүү скрипттер” сызыгы көрүнөт, аны басыңыз. Андан кийин, “ишке киргизүү” өтмөгүн чыкылдатыңыз. Андан кийин милдеттүү main() функциясын иштетүү жана аткаруу келет
. Андан кийин, сиз 
is_run деп жарыялооңуз керек, функция true маанисин камтыйт 
колдонуучу Stop Script баскычын иштетмейинче. Андан кийин функция өзгөрмө OnStop() ичинде жалган режимге өтөт. Андан кийин, main() функциясы бүтөт жана скрипт өзү токтойт. Жазылган скрипт сакталып, иштетилиши керек. Транзакцияларды жасоодо колдонуучу ар бир лот боюнча маалыматтарды жана транзакциялардын акыркы суммасын көрөт.
Lua программалоо, соода роботтору жана соода үчүн скрипттерQLua’ны Quick режиминде иштетүү үчүн, аны компьютериңиздеги жаңы папкага өткөрүшүңүз керек. Сиз аны каалагандай атасаңыз болот, мисалы, “MyLua”. Бардык Lua скрипттери ошол жерде сакталат. QUIKке киргенден кийин, сиз “Кызматтар” бөлүмүн ачып, андан кийин “Lua скрипттери” өтмөгүн чыкылдатыңыз. Ачылган терезеде “Кошуу” баскычын жандырыңыз. Андан кийин скриптти тандап, аны ачуу керек. Ал “Жүктөлгөн скрипттер” бөлүмүндө болот. Андан кийин сиз скрипттин сызыгын белгилеп, “Run” баскычын чыкылдатыңыз. Скриптти токтотуу үчүн, жөн гана “Токтотуу” баскычын чыкылдатыңыз.

Lua программалоо, соода роботтору жана соода үчүн скрипттер
LUAдагы Quik үчүн бот

Соода терминалында LUA скриптин кантип орнотуу керек

Окутуу жана стандарттуу терминалдар соода роботун орнотуу үчүн бирдей алгоритмди талап кылат:

  1. Терминалдын жогорку менюсунда “Кызматтар” бөлүмүн басуу керек.
  2. Андан кийин, ачылуучу диалог кутусунда “LUA скрипттери” баскычын таап, чыкылдатыңыз:Lua программалоо, соода роботтору жана соода үчүн скрипттер
  3. Ошол учурда, “Жеткиликтүү скрипттер” терезеси пайда болушу керек. Андан кийин, сиз “Кошуу” баскычын иштетип, керектүү соода роботунун файлын тандаңыз.

Quik терминалында скрипт менен Lua диаграммасынан маалыматтарды алуу: https://youtu.be/XVCZAnWoA8E Lua программалоону үйрөнүү жана келечекте ийгиликке жетүү үчүн эң сонун мүмкүнчүлүк. Эң негизгиси, теорияны окуу менен гана токтоп калбоо. Материалды тынымсыз машыгып үйрөнүү жакшы. Белгилүү бир убакыт өткөндөн кийин, иштеп чыгуучу ийгиликке жетишип, өзүнүн баалуу продуктуну түзө алат.

info
Rate author
Add a comment