Избранное трейдера SergP

по

Как алготрейдер ручками торговал...

    • 16 апреля 2020, 17:08
    • |
    • Vanches
  • Еще
Здравствуйте, коллеги!
Если вы не знаете про мой путь в трейдинге, то предлагаю вам загляднуть сюда. Та конференция состоялась почти год назад… возможно следующая конфа будет в режиме оналйн?)

Сегодня я вам расскажу о том как перенёс свой алготрейдерский опыт в ручную торговлю. Я нахожусь в регионе где карантин объявлен уже более двух недель. Всё это время я старался проводить с пользой для души, тела и торгового счёта! Поэтому решил попробовать торговать в ручном режиме. Знания и умения которыми я овладел занимаясь алгоритмическим трейдингом очень даже пригодилсь. Была разработана полу автоматическая торговая система. Её описание представлено ниже.


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

Как заработать на случайном блуждании. Часть 5

    • 12 апреля 2020, 14:42
    • |
    • Toddler
  • Еще
Грааль...  Где ж ты находишься?
Иногда мне кажется, что Он рядом, только руку протяни, ан — нет, не все так просто. Но, жажда напиться из Него — безмерна. Продолжим наш путь.
Как заработать на случайном блуждании. Часть 5
Сегодня постараемся смоделировать распределение приращений цены. Ведь мы же помним, что оно выглядит вот так:
Как заработать на случайном блуждании. Часть 5

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

Open Source : Lua - MatLab Connector (3)



Краткое описание :

Библиотека Matlab2Lua  позволяет интегрировать Lua скрипты и Маtrix Laboratory Engine.


Полное описание :

Библиотека позволяет Lua и Матлаб обмениваться данными при помощи функций :

lua variable = Get( string Matlab varname );  — получение переменной из среды матлаб по имени, поддерживаются Double Array, Cell Array of Strings, Double Value, Integer Value, String Value. Возвращает -1 в случае неудачи.

int Eval ( string MatlabСommand ) — передает команду в MatLab Command Line, в качестве переменной типа string; возвращает -1 в случае неудачи, и 1 в случае успеха.

int PutVal( string Name, string/number Value) — передает в Матлаб значение Value типа string или number под именем Name. 1- успех, -1 — неудача.

int PutDouble( string Name, table T) — передает в Матлаб под именем Name таблицу Луа, заполненную численными значениями. Ответ — аналогичный.

int PutCell( string Name, table T)  — передает в Матлаб под именем Name таблицу Луа, заполненную строковыми или численными значениями, подлежащими преобразованию в строки. Ответ — аналогичный.


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

Интеграция Lua и С++ (2)


Обмен данными между Lua и Сpp осуществляется через Lua-стэк, то есть через специальным образом структурированное (по принципу Last In — First Out) пространство. 


Интеграция Lua и С++ (2)

Иллюстрация процесса добавления переменных в Cтэк (Push) и извлечения переменных из Стэка (Pop).

Иными словами, Lua стэк — это одномерный массив переменных (список, строка) с прямой (от 1 до n) индексацией.



Заполняется стэк командами lua_push (С-side) :

void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L,  const char *s);

и другими. 


Новой переменной в стэке Луа длинной n автоматически присваивается индекс [n+1] или [-1], где n+1 — абсолютный индекс переменной, а -1 — индекс новой переменной относительно конца (!) стэка. 




Доступ, к переменным, соответственно осуществляется функциями lua_to (C-side) :

lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);
где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.

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

Модель рынка как немарковского процесса. Часть 1. По следам Б.Гудылина

    • 04 апреля 2020, 23:54
    • |
    • Toddler
  • Еще
Предисловие.
Иногда читаю наиболее интересные посты смартлабовцев… Естественно, не мог не обратить внимание на изыскания Бориса Гудылина — неповторимый слог, аура, поэзия рынка. Кажется — еще шаг, полшага и вожделенный Грааль падет в руки страждущих. Ключевым моментом его исследований является видения рынка как совокупности петель гистерезиса, образуемых ценой. Но, так ли это упрощает задачу изъятия наличных с рынка и переадресации их в свой собственный карман?

Немарковская парадигма рынка
Собственно — сразу к делу.
То, что Б.Гудылин узрел гистерезис на ценовом графике, сразу наталкивает на мысль — а какими же уравнениями описывается собственно это явление?
Поискав по книгам, можно найти ответ на этот вопрос.
Конечно же, интегро-дифференциальными уравнениями типа:
Модель рынка как немарковского процесса. Часть 1. По следам Б.Гудылина
Понятно, что данное уравнение чрезвычайно трудно решаемо без знания ядра F. Именно поэтому рынок вызывает крайнюю сложность в понимании, но оставляет надежду трейдерам. Ведь всем и каждому становится понятно, что каждое значение цены в настоящем и будущем предопределено всей ее историей. А значит технический анализ на основании исторических архивов имеет право на жизнь. Все что было в прошлом обязательно повторится.

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

QLua: таблица крупных "склеенных" обезличенных сделок

    • 03 апреля 2020, 15:06
    • |
    • _sk_
  • Еще
Иногда хочется наблюдать за ситуациями, когда участники торгов исполняют по рынку крупные заявки. Конечно, можно смотреть на обычную ленту обезличенных сделок с настроенными фильтрами на размер сделки, но ведь можно написать специальный QLua-скрипт, который будет отбирать сделки, являющиеся результатом исполнения.

В терминале QUIK ордерлог недоступен, поэтому надо как-то эвристическим образом определить, что набор обезличенных сделок относится к одной и той же рыночной заявке. Например, можно проверять, что инструмент в текущей сделке совпадает с инструментом в предыдущей сделке, направление сделки то же самое, время сделки совпадает с точностью до миллисекунд, и цена при покупке растёт, а при продаже — падает.

Если суммарный объём не менее какой-то границы, которую можно задать для каждого инструмента индивидуально, такие «склеенные» сделки выводятся в таблице. В ней указаны:
— суммарный объём;
— количество обезличенных сделок, которые были склеены;
— начальная цена и конечная цена;

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

Как заработать на случайном блуждании. Часть 4. Послесловие

В продолжение темы:
https://smart-lab.ru/blog/608175.php
хочется сказать следующее.

Раз уж удается разложить исходное распределение приращений цены
Как заработать на случайном блуждании. Часть 4. Послесловие
на двойное треугольное:
Как заработать на случайном блуждании. Часть 4. Послесловие

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

QLua: формирование свечных данных для робота

    • 31 марта 2020, 13:37
    • |
    • _sk_
  • Еще
Поделюсь своим опытом, который может быть полезен начинающим алготрейдерам, пишущим своего робота на QLua.

Внутри QLua есть стандартный способ, которым можно заказать свечные данные. Это делается через функцию CreateDataSource. При этом терминал возвращает все свечи, которые у него есть на момент вызова этой функции, но это может быть не совсем удобно. Вот несколько примеров.

Пример 1. Мы торгуем акции на 30-минутках и при этом не хотим учитывать свечу, которая получается в 9:30 из-за аукциона открытия, и не хотим, чтобы аукцион закрытия портил последнюю свечу дня в 18:30. Хотим только нужные свечи в одном массиве.

Пример 2. Мы торгуем фьючерсы только в дневную сессию, а вечернюю сессию выбрасываем, поскольку наша стратегия в этом случае даёт более приличный график эквити. Хочется иметь «отфильтрованный» свечной ряд.

Пример 3. Мы торгуем американские акции на Санкт-Петербургской бирже и хотим, чтобы время свечей было как в Америке, а не как на бирже, и хотим оставить только основные торги с 9:30 до 16:00 по буржуйскому времени.

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

Как заработать на случайном блуждании. Часть 4

Доброго времени суток, господа!

М-да… Вся лента забита новостями: коронавирус, нефть-матушка, кризис...

А где же будоражащие душу исследования, напрямую ведущие к Граалю? Нетути… Нетути Грааля аль, все ж таки, есть?

Продолжим путешествие в мир случайности/закономерности рыночных временных рядов с целью узреть Свет и Счастие для всех страждущих.
В предыдущих частях проекта:
https://smart-lab.ru/blog/579572.php
https://smart-lab.ru/blog/580961.php
https://smart-lab.ru/blog/582407.php
мы убедились, что заработать на теоретических случайных процессах («монетка», Laplace motion, ...) довольно просто. Пользуемся тем фактом, что сумма независимых или слабозависимых случайных величин (приращений) дает число, принадлежащее нормальному распределению Гаусса и при выходе текущей кумулятивной суммы за пределы диапазона +-Delta*1.96, где Delta = sqrt(2*(b^2)*t), заключаем сделки, а при возврате в 0 — закрываем их. Дело сделано...



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

....все тэги
UPDONW
Новый дизайн