Избранное трейдера Uarednikov
Подумал, что многие не знают, как подступиться к языку Qlua и запустить робота в квике. А между тем, это настолько просто, что даже не требует ничего кроме квика, виндусовского блокнота и знаний самого Qlua.
Qlua – это скриптовый язык поддерживаемый квиком, в основе язык lua 5.1 (в моем квике версия такая).
Скрипты, написанные на Qlua – это обычные текстовые файлы, которые имеют расширение «.lua». То есть можно сделать файл в обычном блокноте и после сохранения поменять в нем расширение с «.txt» на «.lua». Если внутрь этого файла записать инструкции кода на языке Qlua, то квик будет выполнять их.
Для удобства написания инструкций кода лучше пользоваться не виндусовым стандартным блокнотом, а например Notepad++, который можно скачать официально и бесплатно здесь https://notepad-plus-plus.org/download/v6.9.1.html. Он позволяет включить подсветку синтаксиса различных языков программирования, в том числе и lua, что очень помогает при написании кода.
В Notepad++ в «Опции -> Настройки» можно выбрать русский язык, а в «Опции -> Определение стиля» установить для lua понравившийся стиль отображения. Я для «Язык -> lua» ставлю стиль «Выбрать стиль -> Bespin» и еще в окошке «Стиль» для последних трех «FUNC» переопределяю цвет, иначе они с фоном сливаются.
Как было отмечено в предыдущей части – вся суть технического анализа со всеми его индикаторами сводится к пересечению линий. Например, быстрая скользящая средняя пересекает медленную скользящую среднюю; цена пересекает уровень или любую линию какого-нибудь индикатора; RSI пересек уровень 70% и т.д. Ну пусть даже и есть исключения – напишем под них отдельные функции, главное, что наше обобщение будет охватывать 90% случаев ))).
Итак, из чего же состоят сигналы пересечения линий? А состоят они из событий и состояний. Событие – это факт пересечения, состояние – это фактическое расположение линий относительно друг друга.
На рисунке показано, как это выглядит геометрически на примере пересечения скользящих средних. А с точки зрения программирования эти события и состояния удобно представить в виде битовых флагов – сопоставить каждому из них определенный бит числа и если он установлен, то событие или состояние имеется и наоборот.Бедный Йорик! – Я знал его, Горацио. Это был человек, который свято верил в бэктестинг и презирал усреднение. Он часто писал ироничные комменты на мои посты. А теперь это само отвращение и тошнотой подступает к горлу…
Вот так задумаешься над постом к видео и строки великого Шекспира сами приходят в голову. Усредняться или не усредняться? В этом видео я выбрал усреднение. Приятного просмотра.

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Threading;
using System.Windows.Forms;
using StClientLib;
namespace TestConnect
{
public partial class TestForm : Form
{
private int InfoCookie; // Индификатор приказа
private Quote LastQuote; // Котировка инструмента
private DAFWriters Writers; // Лог
private List<Bar> InfoBars; // Список баров
private List<Tiker> InfoTikers; // Список всех инструментов
private List<string> InfoTypes; // Все типы бумаг
private StServerClass SmartServer; // SmartCOM
// Создан ли SmartCOM
private bool IsReady { get { return (SmartServer != null); } }
// Установлено ли соединение
private bool IsConnected
Вуаля! Удобство и прогресс!