Блог им. DEVOTEE

Автоматизация QUIK - Сигнал начала нового таймфрейма

Тут уже проскочило пару постов на тему автоматизации. За что авторам спасибо.
У меня же вопрос и задача такая (к знатокам LUA).

Есть скрипт взят отсюда (https://quik2dde.ru/viewtopic.php?id=79)
-- подключить библиотеку w32
local w32 = require("w32")

-- функция проигрывания файла
-- вызов: PaySoundFile("имя файла")
function PaySoundFile(file_name)
  w32.mciSendString("CLOSE QUIK_MP3") 
  w32.mciSendString("OPEN \"" .. file_name .. "\" TYPE MpegVideo ALIAS QUIK_MP3")
  w32.mciSendString("PLAY QUIK_MP3")
end


Необходимо добавить в скрипт, чтобы звуковой файл проигрывался с заданным интервалом всю торговую сессию? (каждые 15,60,240минут)
Буду благодарен и не только я, если «добавите в рецепт свои пряности». Главное чтобы заработало.
Спасибо.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
535 | ★3
17 комментариев
s = getInfoParam («SERVERTIME») 
if tonumber(string.sub(s,4,5)) == 0 then
    PaySoundFile(file_name)
end

Будет запускаться каждый час. По аналогии напишите остальные.
avatar
Karim, Karim, Спасибо за ответ. Можно хотя бы минимальную инструкцию? для аналогии:).
avatar
Karim, S — присваиваем время сервера. ДА?
Paysound — играем файл. В пути используем двойной слэш (C:\\QUIK OSL\\Звуки\\Bell.mp3 — так?)
А вот tonumber :). Помощь плиз

avatar
Виталий, Ну почитайте хотя бы мануал по QLua, или погуглите. Там все есть. tonumber() — преобразовать строку в число
avatar
Нового бара, а не таймфрейма)
avatar
Чёрный кот, какая разница? Главное быть понятым, о чём речь.
Бар -это бар.
Таймфрейм-это временной интревал.
avatar
Ответьте на тупой вопрос: а как эта функция определит, что час уже прошел и надо вызываться?
Сергей Гаврилов, У начала каждого часа минуты равны 0.
avatar
Karim, вопрос не в этом… Функцию нужно вызвать… Что-то я таймера или какого другого периодического события в коде не наблюдаю..
Сергей Гаврилов, Ну я уж не стал весь код приводить. Вопрос был, что добавить в скрипт, а не как его написать.

function main()
 IsRun = true
 while IsRun do
  s = getInfoParam («SERVERTIME») 
  if tonumber(string.sub(s,4,5)) == 0 then
     PaySoundFile(file_name)
  end
  sleep(1000)
 end
end

avatar
Karim, Домучал таки и заработало, только при sleep 1000 он выдаёт сигнал всю первую минуту. Поставил 60000. Может есть другой способ сделать срабатывание один раз? — это первый вопрос.
А второй- как сделать сигнал на каждые 15 минут, я точно не знаю :(.
Я не програмист вообще! Для меня эти цифры как иероглифы, в которых я пытаюсь разобраться...
Спасибо зараннее, если поможешь.
avatar
function main()
 IsRun = true
 begin = true
 while IsRun do
  s = getInfoParam («SERVERTIME») 
  if tonumber(string.sub(s,4,5)) == 0 and begin then
     PaySoundFile(file_name)
     begin = false
  end
  if tonumber(string.sub(s,4,5)) == 1 then     
     begin = true
  end
  sleep(1000)
 end
end

Как то так. Проверять нет времени. 
Если не программист, то есть два варианта. Либо стать им и написать самому, либо нанять.
avatar
Karim, Спасибо за код, я его и так, я его и сяк, но не работает совсем через 15 минут :(.
avatar
Попробуй так:

  if tonumber(string.sub(s,4,5))%15 == 0 and begin then
     PaySoundFile(file_name)
     begin = false
  end
avatar

Читайте на SMART-LAB:
Обновление кредитных рейтингов в ВДО и розничных облигациях
⚪️ООО ЗАС Корпсан НРА подтвердило кредитный рейтинг ООО ЗАС Корпсан на уровне B|ru| по национальной рейтинговой шкале для Российской...
Фото
EUR/USD между 1,16 и 1,17: рынок ждет сигнала от Уорша
EUR/USD вяло торгуется в пятницу, держась около 1,1650. Недавняя попытка закрепиться выше 1,17 завершилась откатом. Рынок взял паузу...
Фото
⚡️ МСФО за 6 месяцев 2026 года: чистая прибыль +34%, выручка ×2,7
📊 ПАО «МГКЛ» раскрыло консолидированные финансовые результаты по МСФО с аудиторским заключением за первое полугодие 2026 года. Группа...
Фото
Рубль снова упал - на календаре третий квартал. Анализ исторической сезонности курса рубля
Здравствуйте! Мне стало интересно проверить, существует ли статистически значимая сезонность курса рубля относительно равновзвешенной корзины...

теги блога Виталий

....все тэги



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