Блог им. kurd |Все ли знают, что в Quik'е у каждого скрипта main() свой отдельный Windows-поток (thread)?

Пишу потому, что к большому моему удивлению открыл, что весьма активные писатели Смарт-лаба этого не знают. В главном потоке программы Quik работают только функции обратного вызова типа OnTransReply, OnTrade и индикаторы. Кстати, OnTrade срабатывает не только по заявкам из скрипта, но и поданным интерактивно.

Дело обработчиков событий не обрабатывать, но регистрировать их.
Неверные представления о потоках в Quik'е вынуждают этих писателей городить абсурдный обмен данными между Quik'ом и внешними приложениями. Тогда как вся информация по событиям может быть обработана средствами QLua во вторичных скриптовых потоках без помех для главного потока Quik'а.

Хотя QLua обладает весьма эффективными средствами взаимодействия с любым приложением Windows, не так просто придумать повод для обращения QLua за посторонней помощью. Например, сохранять на диске текущие данные QLua может массой способов от простейшего io.read/write до SQLite.
Количество библиотек для QLua просто изумляет.

NB. Известная проблема скриптовых языков, что ошибки-описки в именах функций и переменных влекут трудно диагностируемые сбои работы, решается двумя простейшими средствами.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Блог им. kurd |Беспроигрышная стратегия для фьючерсов. Чудеса и их разоблачение

О чудесах календарного спреда фьючерсов уже доложено в статье некого 3Qu. smart-lab.ru/blog/586202.php

Поэтому сразу приступим к разоблачению. Какая проделана работа.
В Qukk'е на QLua написан монитор, который с 2020.01.17 по 2020.02.06 каждые 200 мсек записывал в текстовый файл офера и биды RIH0 и RIM0. Эти данные представлены как стандартный файл котировок Метастока, где Open = Bid(H0), High = Ask(H0), Low = Bid(M0), Close = Ask(M0).
Программа WealthLab показывает график этого файла, не понимая его значения. Но мой скрипт на C# по этим данным строит другие графики:

Диаграмма из WealthLab
Две точечные линии, зелёные и красные ступеньки, в середине центральной панели:
1) SpreadLong = Ask(H0) — Bid(M0).
2) SpreadShrt = Bid(H0) — Ask(M0).
По цене SpreadShrt приходится продавать спред фьючерсов, когда он дорог а по цене SpreadLong — покупать спред, когда он подешевл.
Чтобы определить, дорог спред или дёшев, строим скользящие средние  с горизонтом 10 мин (серые линии)

( Читать дальше )

....все тэги
2010-2020
UPDONW