Торговый робот на Lua для QUIK.

    • 27 декабря 2018, 09:39
    • |
    • XXM
  • Еще

4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:

Торговый робот на Lua для QUIK.

Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.

encoding = "UTF-8"
FREQUENCY = 1000
account = NL0011100043, 10110
PositionSize = 300000
xy = 421, 0, 859, 118
;-------------------------------------------------------------------------------
[GAZP]
Security = GAZP, QJSIM, Gazp_moex
WorkSize = 3		//  рабочий объем, в штуках;
LossLimit = 100		// ограничение на убыток по стратегии
OpenSlippage = 10	// допустимое проскальзывание на сделке, в количестве минимальных шагов цены;
OpenLong =  {Close, 1} < {High, 2}	// цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара;
OpenShort = {Close, 1} > {Low, 5-2}	// цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров;
StopLoss = 2
TakeProfit = 3, 1, 1
EOD = 18:29:00	//закрытия позиции в указанное время.
autoBot = Y
[SBER]
Security = SBER, QJSIM, Sber_moex
WorkSize = 10
LossLimit = 100
OpenSlippage = 10
OpenLong	= {Ema1} > {Ema2}
CloseLong	= {Ema1} < {Ema2}
OpenShort	= {Ema1} < {Ema2}
CloseShort	= {Ema1} > {Ema2}
autoBot = Y
[LKOH]
WorkSize = 2
Security = LKOH, QJSIM, Lkoh_moex
LossLimit = 225
OpenSlippage = 10
OpenLong	= cross(macd_Lkoh.0, macd_Lkoh.1)
OpenShort	= cross(macd_Lkoh.1, macd_Lkoh.0)
;OpenLong =  {Close, 1} < {Low, 5-2}
;OpenShort = {Close, 1} > {High, 2}
StopLoss = 30
TakeProfit = 50, 10, 10
autoBot = Y


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

Захват откатов скольжением.

    • 17 декабря 2018, 13:09
    • |
    • XXM
  • Еще

          В программе Lbot3D появилась реализация вычисления скользящего экстремума в конкретной стратегии при наличии позиции. Слово «конкретной» звучит потому, что этот самый экстремум можно использовать в других стратегиях из портфеля стратегий. Согласен, это нужно не всем. Скорее так: мало кому он нужен. Тем не менее, продолжу.

          Допустим мы придумали стратегию на некотором активе, рассчитанную на тренд:
Покупаем на четверть портфеля. Если цена пошла против нас (пусть на 1%)- стопимся, но если в нашу сторону +1%, то в предположении, что мы тренде, выставим лимитированную заявку на покупку второй четверти на 0.5% ниже достигнутого экстремума: откат вероятен, и после того, как на откате вытряхнут часть пассажиров, (самых пугливых, самых недостойных :)), наш портфель зацепит еще несколько лотов и едем дальше, «на север». Но если первая четверть бумаг размещена в нашем портфеле на «долгосрок», то вторая четверть будет сразу же выставлена на продажу с профитом, например, в 1%.



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

Торговля по тренду в боковике.

    • 29 ноября 2018, 07:49
    • |
    • XXM
  • Еще
Хорошо, когда бумага растет, ты в лонгах:
Торговля по тренду в боковике.

Но вот сегодня по нефти так:
Торговля по тренду в боковике.

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

Возвращаясь к напечатанному: US500.

    • 15 ноября 2018, 14:23
    • |
    • XXM
  • Еще
Словом, делом и помышлением:
Возвращаясь к напечатанному: US500.

Куда кривая ведет, не знаю. Да и после 19:00 компьютер выключаю. Но роботы не спят.

Fn044.lua, версия 2.1

    • 29 октября 2018, 16:07
    • |
    • XXM
  • Еще

В своей торговле применяю комбинации рыночных и лимитированных заявок, (методику описывал ранее, "Настоящая торговая стратегия."  и "US500: Объемы больше, спреды уже!" ). Временами количество одновременно работающих стратегий зашкаливало за сотню и на некоторые из них не хватало денег под выставление заявок, они отключались, иногда ломая логику работы связанных с ней стратегий. В QUIK в таблице «Состояние счета» считается цифра — «Свободно» — свободные средства под заявки, но сходу вытащить ее из Lua у меня не получилось. И пришлось вписать расчет этой величины в робота.
Сегодня предлагаю вашему вниманию доработанный скрипт Fn044.lua (https://yadi.sk/d/O-6JzZdXkOxyow)
Fn044.lua, версия 2.1

в котором реализован расчет свободных средств для заявок на ФОРТС с учетом имеющихся контрактов и заявок.
Один в один вывести не получилось, как смог.
As is, и все такое!

  • обсудить на форуме:
  • Quik Lua

US500: Объемы больше, спреды уже!

    • 26 октября 2018, 15:51
    • |
    • XXM
  • Еще
US500: Объемы больше, спреды уже!




Все те, кто хотел выйти на зарубежные рынки но почему-то еще не вышел, могут торговать америку не вставая со своего кресла. Спросите как? А вот так:

US500: Объемы больше, спреды уже!



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

Друзья, Ренат написал книгу про трейдинг!

    • 24 октября 2018, 11:40
    • |
    • XXM
  • Еще
                                                                                                                              

«Хорошая книга — это книга, 
прочитав которую люди жалеют,  что она кончилась»
       Жоэль Диккер.

 



          Об этом мы узнали из его сообщения от 11.07.2018 года: «Я написал книгу про трейдинг» smart-lab.ru/blog/reviews/481421.php

          Все бы ничего, но часом позже выходит рецензия Artem Taburetkin-а «Книга от настоящего профессионала» smart-lab.ru/blog/reviews/481460.php, на что обратил внимание сам ТМ: «Когда ты успел прочесть?». Хотя ответ уже был выше: "«проглотил» её за пару дней. Очень интересно написано… Во время чтения, было чувство, что читаешь книгу от настоящего профессионала своего дела, одного из лучших в сфере!" Опять: «все бы ничего», но пост этот стал при этом первым сообщением нашего нового писателя на smart-lab. Ну совпало, бывает ;) Поздравим, хоть и с опозданием: Поздравляем!
          Следующий рецензент (Павел Псков: Отличная книга от практика)заставил напрячься: «На одной из страниц прочитал свой грааль, позволяющий зарабатывать. Почувствовал внутренний укол типа «ну зачем же граали палить»? :))», хотя далее продолжил: «В общем, особо нового ничего не почерпнул». Скажите, каков интриган? Ха-Ха-Ха!
Далее пишет ТМ, он мастер рецензий, да и вообще, Мастер, чо уж там. Хотя честно говорит: «Книга полностью противоречит моей книге Механизм трейдинга.» Тут: smart-lab.ru/blog/reviews/485672.php (Искусство трейдинга Ренат Валеев — новая оригинальная книга).
Совсем по-другому пишет Ne Guru («Опять двадцать пять» — smart-lab.ru/blog/reviews/485729.php) — «Давно не читаю книги про трейдинг, тем более, где рассказывают как нужно торговать. И вот, дёрнул меня чёрт купить «Искусство трейдинга». Подкупили отзывы из ряда «реальный опыт», «человек работавший в ЦБ», «нет воды» и т.п. Даже не знаю от чего больше моё разочарование, от того, что книга плохая или от того, что купился.» Тем не менее: «Много светлых и правильных мыслей».
          Остальные читатели, которые выступили рецензентами, в основном автору воздавали благодарности и хвалили книгу, даже ставили 5 звезд, только Hannes выделился: «Единственное ценное, что я почерпнул из книги — это цитата Сенеки — сильнее всех владеющий собою.».



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

fn044.lua

    • 09 октября 2018, 15:33
    • |
    • XXM
  • Еще
fn044.lua — скрипт для расчета стоимости фьючерсных контрактов в портфеле относительно депозита.
Скачать: https://yadi.sk/d/e7XRt3CQ2v7Miw

fn044.lua

Файл настроек:
-- fn044set.lua расчет стоимости фьючерсных контрактов в портфеле относительно депозита
-- © smart-lab.ru/profile/xxm 08.10.2018

-- торговый счет (из таблицы «Позиции по клиентским счетам (фьючерсы)»)
account = 'SPBFUT0003f'

--положение окна с таблицей. Левый верхний угол в координаты left,top и размеры в width и height.
xy = {} 
xy.left, xy.top, xy.width,xy.height = 0, 232, 722, nil

--ширина столбцов таблицы
t_width = {12, 6, 10, 8, 10, 10, 9, 7, 6, 11, 10, 11}

-- месяц и год исполнения, 2 символа, https://www.moex.com/s205
MonthYear = "Z8"
-- код базового актива, 2 символа
-- если 4 символа, то переменная "MonthYear" не учитывается
SecCodes={
	{"MM"}, --контракт на индекс МосБиржи
	{"Si"}, --руб/доллар FORTS
	{"SR"}, --Sber FORTS
	{"LK"}, --контракт на Лукойл
	{"GZ"}, --контракт на Газпром
	{"BRX8"}, --контракт на нефть Брент, месяц и год - "X8"
	{"ED"}, --контракт на ED
	{"RN"}, --контракт на Роснефть
	{"GD"}, -- Gold
	}

--Если xy.height == nil, то вычислить ее.
--Для разных мониторов коэффициенты (17, 45 и 868 - подобраны эмпирически) будут разными.
local height = xy.height or ((#SecCodes + 1)*17 + 45)
if height > 868 then height = 868 end
xy.height = height


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

теги блога XXM

....все тэги



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