Блог им. orekton

Qlua для чайников. Часть 2

    • 22 августа 2014, 15:20
    • |
    • orekton
  • Еще
Продолжу публикацию уроков «Qlua для чайников». В первой части мы научились писать программу “Hello, World” и выставлять программно заявки. Сегодня пойдем дальше. Вы, наверное, обратили внимание, что все программы, которые мы написали на прошлом уроке, сразу же заканчивают работу, как только выполнили все запрограммированные функции? Возникает вопрос: как быть, если надо, чтобы программа работала постоянно, следила за рынком и совершала сделки? Очень просто. Надо сделать так, чтобы при запуске программа повторяла набор команд. Для этих целей в языке Qlua предусмотрены циклы.
С циклами мы уже столкнулись на прошлом уроке, когда писали групповой ввод заявок. Только в тот раз у нас цикл повторялся заданное количество раз. Но в языке есть и другие виды циклов. Например, цикл по условию. Этот цикл повторяется, пока выполняется определенное условие. Если это условие выполняется вечно – программа будет выполняться до тех пор, пока включен компьютер или пока вы ее принудительно не завершите.


Давайте рассмотрим пример.

is_run=true
count=1
function main()
      while is_run do
            sleep(2000)
            message(«Hello, World! №»..tostring(count),1)
            count=count+1
      end
end
function OnStop(stop_flag)
      is_run=false
end
Данная программа у нас будет каждые 2 секунды выдавать сообщение “Hello, World!”,  с номером, каждый раз большим на 1:
 Qlua для чайников. Часть 2
И это будет до тех пор, пока мы не остановим ее кнопочкой «Остановить»:
Qlua для чайников. Часть 2 
Теперь разберем программу.
Сначала у нас идет строка

is_run=true
Этой строкой мы присваиваем переменной is_run значение true (истина). Эта переменная у нас обозначает признак, запущена ли программа. Когда пользователь нажимает кнопочку «Остановить», происходит событие OnStop. Если у нас в программе есть функция с именем OnStop, то код внутри этой функции запуститься на выполнение. Функция обозначается словом function, после нее идет имя функции, которое обязательно должно начинаться с буквы, может содержать в себе латинские буквы и цифры, а так же знак _. Никакие другие символы (пробел, русские буквы, специальные знаки) в именах функций не допускаются. После имени функции идут скобки, а в них список аргументов функции. Потом идет программный код, относящийся к данной функции, который оканчивается словом end.
Функции могут быть двух видов – пользовательские и предопределенные.
Полная версия статьи на robostroy.ru
1.7К | ★17
3 комментария
А можно на QLUA написать следующее:
чтобы в 23:50:00
1. останавливался экспорт по DDE
2. разрывалась связь
3. Quik завершал работу
?
avatar
AlexeyT, на робострой скопируйте коммент, если получится, выложим код
avatar
Спасибо! Ждем продолжения.
avatar

Читайте на SMART-LAB:
Фото
S&P 500: Момент истины для быков
Индекс S&P 500 после короткой коррекции вновь пошёл на штурм исторической области сопротивления 6924–6942. Покупатели решительно атакуют этот...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 6 января 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  Смартлаб ,  Вконтакте ,  Сайт
Фото
Инвест идея по тренду длиной в 1 день или бесконечность - шанс заработать с минимальным риском?
Новый год — время новых инвест идей спекулятивного характера Держите одну из них (сам взял сегодня на спекулятивный счет, скину если алюминий...

теги блога orekton

....все тэги



UPDONW
Новый дизайн