Справочник Lua для Quik

    • 09 сентября 2017, 22:26
    • |
    • Dzam
  • Еще

Справочник Lua для Quik

 
В статье речь пойдет о новом справочнике luaq.ru
У каждого разный подход к созданию роботов: одни заказывают у разработчиков, другие используют программы и строят алгоритмы из кубиков, третьи пишут сами использую языки программирования.


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

В России остался только один банк?

    • 21 июня 2017, 18:37
    • |
    • Dzam
  • Еще
Заказал некоторые услуги на Московской бирже. Получил от них счет на оплату с вот таким текстом.

Уважаемые господа!
Направляем счет на оплату Вашей заявки на услуги ПАО Московская Биржа.
Просим оплатить счет в течение 3-х банковских дней
 и направить по электронной почте xxx@xxx.xxx
копию платежного поручения (для юридических лиц)
или заверенную печатью квитанцию Сбербанка РФ (для физических лиц).

Это что, получается, других банков в Раше больше нет? И можно только в кассе оплачивать? Или это просто подпись с 1994 года не менялась?

Тиковые данный RI и SI

    • 26 апреля 2017, 00:45
    • |
    • Dzam
  • Еще
После удачной чистки удалил большенство тиковых данных, которые писал из квика. Может у кого есть такое добро с 2016 года. Буду очень рад принять или обменять на что-либо.
Скачать с сайта Финама не предлагать.

Производительность роботов на C# (NinjaTrader).

    • 23 марта 2017, 00:26
    • |
    • Dzam
  • Еще

Производительность роботов на C# (NinjaTrader).

 Производительность роботов на C# (NinjaTrader).
Перед тем, как использовать в своем роботе переменные типа Dictionary или List, если у вас производится частое обращение к ним, обязательно проведите анализ на производительность. Вот мой кусочек анализа.

Для примера описываем переменные:

private List<KeyValuePair<int, string>> listArray;
private Dictionary<int, string> dictArray;

По сути будем иметь набор связок Integer и String. Содержание в данном случае не особо важно. Важно то, что это содержание одинаково в обеих переменных.
А теперь просто заполним эти переменные одинаковыми записями:

// Переменные для замера времени выполнения
sw1 = new Stopwatch();
sw2 = new Stopwatch();

// Инициализация переменных
listArray = new List<KeyValuePair<int, string>>();
dictArray = new Dictionary<int, string>();

// Стартуем замер производительности
sw1.Start();
for (int i = 0; i < 1000000; i++)
{
//Добавляем переменную в массив
    listArray.Add(new KeyValuePair<int, string>(i, "test"));
}

// Останавливаем замер производительности
sw1.Stop();
// Выводим результат
Print("List: " + sw1.ElapsedMilliseconds);
// Очищаем список
listArray.Clear();


// Стартуем второй счетчик производительности
sw2.Start();
// Запускаем второй цикл
for (int i = 0; i < 1000000; i++)
{
    dictArray.Add(i, "test");
}

// Останавливаем счетчик
sw2.Stop();
// Выводим результат
Print("Dictionary: " + sw2.ElapsedMilliseconds);


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

Quik. Индикаторы внутри робота, без необходимости открывать график.

    • 10 февраля 2017, 20:30
    • |
    • Dzam
  • Еще

Quik. Индикаторы внутри робота, без необходимости открывать график.

 

Когда ваш робот торгует большим количеством инструментов, то открытие такого же количества графиков может привести к падению терминала Quik. Или к заметным тормозам операционной системы. Также необходимость открытых графиков может привести к ошибкам (забыли открыть, нечаянно закрыли, не корректно указали тег и т.д.)

Используя язык программирования Lua при написании робота, можно избежать этих неудобств. Можно все индикаторы считать внутри самого робота. Таким образом необходимость в открытии графика и настройки индикатора в нем отпадает. Один из минусов такого метода является то, что сам индикатор придется переписывать таким образом, чтобы он работал внутри робота. Прикладываю пример скрипта, который может работать с любым количеством инструментов, без открытия графиков. Каждая строчка содержит комментарии, думаю разобраться как все работает будет не трудно.

Ссылка на скрипт.

Оригинал статьи.


Quik. Индикаторы в области цены инструмента.

    • 09 февраля 2017, 13:59
    • |
    • Dzam
  • Еще

Quik. Индикаторы в области цены инструмента.

 

В торговом терминале Quik есть возможность управлять расположением индикаторов. При добавлении серии на график можно установить галочку «Поместить график в новую область» и тогда серия (Цена инструмента или индикатор) попадет в отдельную область (по умолчанию под графиком). Если не устанавливать галочку, то серия добавиться на ту же область, что и текущая серия (цена инструмента).

 


Добавим на график цены индикатор MACD. Убираем галочку и получаем вот такой результат:

Quik. Индикаторы в области цены инструмента.



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

Задержки поставки данных у БКС

    • 05 октября 2016, 19:23
    • |
    • Dzam
  • Еще
Задержки поставки данных у БКС
Очередная задержка данных. На 24 минуты. Все видно на скрине.

Отладка кода в Ninjatrader 7

    • 31 марта 2016, 01:53
    • |
    • Dzam
  • Еще
Отладка кода в Ninjatrader 7
Иногда, для отладки кода или понимания корректности работы алгоритма, требуется выводить сообщения в окно Output window, например. Я пишу кода в Visual Studio и многие вещи можно отлаживать напрямую в ней. НО. Всегда есть «но». И если речь идет о написании нового типа баров для чарта, то никакая отладка там не работает. Более того, у класса BarsType, от которого мы наследуем свой класс, нет метода Print, который позволяет выводить сообщения.


На просторах интернета нашел интересный способ. Добавляем к своему классу метод:

public void Print(string output)
{
    OutputEventArgs.ProcessEventArgs(new OutputEventArgs(output + "\r\n"));
}


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

Задержки в передаче данных

    • 17 марта 2016, 20:22
    • |
    • Dzam
  • Еще
Задержки в передаче данных
Собственно на скрине все. Пора уже открывать раздел «Косяки брокеров».
При загрузке, картинка очень сжалась. Оригинал можно посмотреть тут.

Очередной прикол от брокера

    • 11 марта 2016, 11:24
    • |
    • Dzam
  • Еще

Очередной прикол от брокера

Все на картинке. Добавить нечего.

Во все стратегии добавил функцию, которая парсит входящие сообщения и если встречаются слова «очистить» и «archive», то робот запускает скрипт, который останавливает квик, чистит папку «archive» и запускает квик со всеми роботами повторно.


теги блога Dzam

....все тэги



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