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

по

кирпичи Ренко и скользяшка к кирпичам....

263 члена энтого мартыновского кружка меня забанили… ну негодяи же… прямо хочется от энтого — «рвать и метать, рвать и метать» ©....

остальным, возможно энто будет слегка интересно....
берем, если так можно выразиться, кирпичи Ренко… умные лЮдя говорят, что вставать по тренду надежнее всего после двух кирпичей… трудно спорить..
но если пустить скользяшку по кирпичам то заметно, что запаздывание скользяшки здеся нам на руку....
так как она  манкирует одинокий кирпич не по теме....

так что, вероятно, все же лучше два кирпича по теме, чем один против...
количество, так сказать, переходит в качество....
кирпичи Ренко и скользяшка к кирпичам....


Qlua: работа с метками, пишем торгового советника на индикаторах.

Сегодня рассмотрим:

Вывод текста на график
Вывод графических сигналов
Удаление меток с графика
Торговый советник на индикаторах
Удаление данных вечерней/утренней сессии с графика.

В торговом терминале почти нет графических инструментов, которых можно было бы задействовать через скрипт. Фактически разработчики оставили возможность использовать только индикаторы (неточность или ошибка в написании которых может подвесить весь терминал) и специальные метки, которые можно наносить на график.

И хотя сам терминал имеет возможность отрисовки различных линий, фигур, каналов, дуг, уровней, но из lua скрипта ничего этого до сих пор штатными методами не доступно. Разработчики оставили единственную возможность — вывод рисунка (bmp или jpg), поэтому желающий нарисовать, например, прямоугольник должен сперва его отрисовать где-то (или взять из библиотек рисунков), сохранить в нужном формате, и далее уже через метку поместить в конкретном месте графика. Вот такой вот «кружок авиамоделизма») Посмотрим как это работает.



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

Создание на Lua своего индикатора в графике Quik: основы, нюансы, пример. Индикаторы: прогнозных High и Low следующего интервала; ценовых уровней объема.

   Кратко расскажу принципы и некоторые нюансы работы с графиком в Qiuk в плане создания своего индикатора (здесь и далее – подразумевается использование языка программирования Lua). В конце текста изначально хотел прикрепить видео с демонстрацией и краткими пояснениями работы моих индикаторов, но решил сделать это во второй части статьи, чтобы совместить просто иллюстрацию с небольшим анализом фьючерсов и акций.
   На полноту изложения вопроса по работе с индикаторами на графике Quik не претендую. Информация будет полезна интересующимся данной темой, не рассчитана на профессионалов (которые и так все знают, умеют и реализовали – свято в это верю), но все же предполагает наличие определенного уровня знаний Lua.
   Зачем мучиться со своими индикаторами? Конечно, в этом нет смысла, если вас устраивают стандартные индикаторы или отсутствуют самостоятельные подходы (методы) торговли, либо визуализация вам в принципе не требуется (не интересна).
   В моем случае мне банально захотелось сделать визуализацию своего метода прогнозирования экстремумов цены следующего интервала.



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

Qlua: получение данных биржевых свечей с сервера брокера, обработка данных, пишем скрипт выгрузки котировок

Функция CreateDataSource
Получение количества свечек данных
Пауза для подгрузки данных
Получение по инструменту OPEN, HIGH, LOW, CLOSE, VOLUME
Обработка времени и даты
Закрытие источника данных
Примеры: получение данных последних 10 свечей, выгрузка новой минутной свечки после её закрытия, текущее значение простой средней SMA10 по минуткам
Простой скрипт выгрузки котировок

Сегодня рассмотрим функцию, с помощью которой можно получать данные биржевых свечек. Это можно делать и с графиков (чуть позже рассмотрим), но в этом случае нужно, чтобы сам график как источник данных был открытым, что не очень удобно, особенно если скрипт использует несколько таймфреймов – необходимо аналогичным образом держать открытыми и соответствующее количество графиков.

Более практичным вариантом является получение данных через функцию CreateDataSource, запрос осуществляется следующим образом:

ds, err = CreateDataSource(код класса, тикер инструмента, интервал)

Код класса: для акций «TQBR», для срочного рынка «SPBFUT».



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

Подстройка параметров ТС в процессе торговли

Доброй ночи, коллеги!

Сам то я вроде противник curve fitting.
С другой стороны, все, что делает алготрейдер в процессе поиска Грааля — есть чистый curve fitting (IMHO).

Спешу поделиться собственным успехом.
Уже 3 года как практикую подстройку ТС по предыдущим итогам ее работы.

Подробнее:

1. Гуры СЛ ищут идеальную ТС методом WFT (это к 100 грамм золота — сам я этот метод называю WTF))) ). В действительности все такие шевеления имеют единственной целью поиск стационарного индикатора, который кроет все остальные, как тузик — грелку.
2. Мои скромные вычисления способны убедительно показать, что Грааля идеального стационарного индикатора не существует.

Что остается нам, простым алготрейдерам?

Регулярно подстраивать параметры ТС (IMHO).

Теперь докладываю, коллеги — в этом вопросе я преуспел )))

Мои алго, так же, как в WFT, анализируют прошедший интервал, и оптимизируют параметры торгового алго по его итогам. Ну, т.е. меняют их.
На выходе я имею более стабильную систему, нежели стационарный индикатор, прошедший тест WFT (а такие есть?).

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

Qlua: пишем скринер акций Московской биржи

Пока не ушли далеко от темы получения данных из таблицы текущих торгов решил сделать в качестве примера еще и простой скринер акций. Это вполне доступно по тем материалам, которые мы уже прошли. Будем отслеживать динамику изменения цены относительно цены закрытия предыдущего дня.

Нам понадобятся:

1. Таблица для вывода данных (строить уже умеем).

2. Получение данных из таблицы текущих торгов через getParamEx (проходили там же).

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

Через sec_list = getClassSecurities(«TQBR») можно получить строку с тикерами акций на Московской бирже, которые будут разделены запятыми. Чтобы пройтись по всем элементам и записать их в массив используем цикл:

for TIKER in string.gmatch(sec_list, "[^,]+") do
  tikers[#tikers + 1]=TIKER
end


Отслеживать будем параметр LASTCHANGE – процент изменения цены от цены закрытия:



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

Вопрос к алготрейдерам про оптимизацию эквити

Доброй ночи, коллеги!

Все из нас так или иначе пытаются оптимизировать эквити.

Наиболее модными способами являются:

1. Максимизация результата (значение эквити в конце интервала)
2. Максимизация результата по отношению к просадке

Кстати, в последнем вопросе бытуют разные точки зрения.
К примеру, покойный Марковиц в своей революционной работе максимизировал МО-СКО (отсюда и определенная корявость его формул).
Лично я считаю, что оптимально максимизировать МО/СКО, но это моя личная точка зрения (IMHO).

Тем не менее, жизнь алготрейдера интересна и непредсказуема, и иногда ставит новые задачи.

Так, ваш покорный слуга уже 4+ года разрабатывает и использует в торговле ТС для торговли лимитными ордерами. Лимитная эквити — это очень сложная штука (формула для эквити не только зависит от всего предыдущего массива цен HLC, но еще и нелинейно зависит от индикатора), но она еще и очень чувствительна к количеству совершаемых сделок.

Если не вдаваться в детали, то вкратце — из 2-х ТС при одинаковой доходности на обычном маркетном исполнении при лимитном исполнении будет более доходна та, которая совершает меньшее количество сделок. Т.е. та, которая имеет максимальный показатель прибыль/сделка.

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

Qlua: завершаем апгрейд советника.

Сегодня дополним наш алгоритм советника следующими пунктами:

1. Пропуск «поздних» сигналов на старте.
2. Обработка советником обрыва связи.
3. Сохранение сигналов и логов в файл.


Еще один пункт, связанный со временем, который был выбран для апгрейда советника – это пропуск сигналов на старте, если запуск скрипта состоялся не в начале торговой сессии (например любой старт после 10:30). Это может быть полезным, если выбрана активная внутридневная стратегия и сигналы полученные на старте скрипта, например в середине дня, могут быть уже не актуальными (с низким потенциалом прибыли) и лучше дождаться новых. Т.е. необходимо разделить сигналы на те, которые сгенерировались на старте и остальные сигналы, которые будем далее брать в работу. Сигнал на старте может закрыться (по обратному/сигналу выхода) и если переоткроется снова, то его уже можно брать в работу как новый.

В нашем скрипте сигналы по каждому инструменту (массив signal) ранее могли принимать значение:

0 – вне позиции по инструменту



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

Вопрос к А.Г. по нелинейным индикаторам

Добрый вечер, коллеги!

Как можно понять из моего блога, я люблю изучать разнообразные линейные и нелинейные индикаторы, равно как связанные с ними ТС.
Линейный индикатор — это линейная функция приращений цен. Если она положительна — покупаем, если нет — продаем.
С полиномиальными (квадратичными, кубическими etc.) индикаторами все устроено ровно так же.

К примеру — моментум, пересечение МА с ценой, пересечение двух и более МА — это все линейные индикаторы.
Пересечение курсом полос Боллинджера — это квадратичный индикатор.

Индикаторы можно комбинировать.
Например, трендовый индикатор (МАшки?), совмещенный с полосами Боллинджера, это кубический полином от приращений цен.

Теперь вопрос к уважаемому А. Г.

1. С одной стороны, А. Г., ссылаясь на ЦПТ (центральную предельную теорему), принимает за разумную модель процесс с нормальными приращениями цен (возможно зависимыми) и нестационарными МО и дисперсией.

В рамках этой модели он учит нас, что не следует уделять внимание высоким степеням приращений цен (кубическим и т.д.) и изучать более, чем квадратичные статистики, т.к. для задач прогноза это не особо нужно.

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

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