Избранное трейдера Ray Intraday

по

Индикатор пробоя. В Quik'е можно всё (почти). Исправление

Исправлена печать повторных пробоев одного того же экстремума.
По просьбам играющих smart-lab.ru/vopros/703796.php
В Quik'е нельзя только предсказывать будущее.
Индикатор Breakout рисует на графике котировок точки пробоя для экстремумов заданного числа Num баров. Для последнего интервала Num баров показывает уровни экстремумов.
Значение Num и признак Print печати сообщений на пробои можно поменять через параметры индикатора.

Чтобы в Quik'е использовать этот индикатор, поместите нижеследующий код в текстовый файл Breakout.lua, а сам этот файл в подкаталог LuaIndicators в том каталоге Quik'а, где лежит файл info.exe.
Чтобы метки пробоев были виднее, индикатор следует поместить после графика котировок. Эти метки позволят на глазок определить прибыльность пробойной стратегии.

-- Ростислав Дмитриевич Кудряшов, СПб, 2021
-- Индикатор Breakout для Quik: min и max Num баров
Settings = {
  Name  = "_Breakout"
 ,line = {
    {Name = "Min"
    ,Color = RGB (255,0,0)
    ,Type = TYPE_LINE
    ,Width = 1}
   ,{Name = "Max"
    ,Color = RGB (0,255,0)
    ,Type = TYPE_LINE
    ,Width = 1}
   ,{Name = "Lwr"
    ,Color = RGB (255,255,0) -- Жёлтый
    ,Type = TYPE_TRIANGLE_DOWN
    ,Width = 1}
   ,{Name = "Upr"
    ,Color = RGB (0,128,255) -- Тёмно-Голубой
    ,Type = TYPE_TRIANGLE_UP
    ,Width = 1}
  }
 ,Num = 10
 ,Print = 1 -- или 0
}
Scan = 0 -- При загрузке Quik сканирует 1 раз

function Init()
  return #Settings.line
end

function OnChangeSettings()
  Scan = 0
end

function OnCalculate (index)
  local n, mn, mx, ini, fin, upr, lwr, printFlag
  n = Settings.Num
  if n < 1 or index <= n then
    if index == 1 then
      Scan = Scan + 1
      SetRangeValue (3, 1, Size(), nil)
      SetRangeValue (4, 1, Size(), nil)
    end
    return nil
  end
  mn = math.huge
  mx = -math.huge
  ini = index - n
  fin = index - 1
  for i = ini, fin do
    mn = math.min (mn, L(i) or mn)
    mx = math.max (mx, H(i) or mx)
  end
  printFlag = Settings.Print > 0 and index == Size() and Scan > 1
  lwr = GetValue (index, 3)
  upr = GetValue (index, 4)
  if not lwr and L(index) and L(index) < mn then
    if printFlag then
      message (Settings.Name ..": Dn ".. mn)
    end
    lwr = mn
  end
  if not upr and H(index) and H(index) > mx then
    if printFlag then
      message (Settings.Name ..": Up ".. mx)
    end
    upr = mx
  end
  if index == Size() then
    SetValue (ini-1, 1, nil)
    SetValue (ini-1, 2, nil)
    SetRangeValue (1, ini, fin, mn)
    SetRangeValue (2, ini, fin, mx)
  else
    mn, mx = nil
  end
  return mn, mx, lwr, upr
end -- OnCalculate()

Безубыточный робот

Безубыточный робот

Нашел интересный алгоритм.

https://www.youtube.com/watch?v=inJ8zuSoJTM
Показалась Грааль.

Написал робота под квик. Счастье не наступило.

Гонял на сбере, сишки, Евро-рубль.

Низкая доходность (меньше 1% в день) и все время разворачивается на откатах, из-за чего пытается задействовать большую часть депозита. В основном 2-4 разворота за цикл, но однажды 15 раз крутанулся, торговлю я ему конечно на 6 развороте отключил (в робота зашито).

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

Если бы не попытки задействовать весь депозит, сгодился бы для разнообразия. А так блокирует пол депозита, а доходность маленькая.

Народ, если есть у кого интересные алгоритмы пиши, обкатаем.

Код робота: LUA, под 8 квик

Здесь только основной алгоритм, в нем задействованы библиотеке работы с окном, отчетность, общение с биржей, …



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

Панель скальпинга для Quik.

    • 24 апреля 2021, 20:55
    • |
    • 3Qu
  • Еще
Недавно в одном из топиков анонсировал проект скальпинга и интрадея для Quik. С чего-то начинать надо, и начал с простенькой панели для скальпинга, чтобы не думая и ничего не настраивая нажимать на клавиши Buy/Sell. Ну, вот, сегодня слабал на C# вот это, первый вариант, самый простенький и без затей.
Пока панель выглядит так:
Панель скальпинга для Quik.

На данный момент панель предназначена для торговли одним инструментом, записанном в скрипте Lua. Чтобы сменить инструмент, его надо прописать в скрипте.
Панель не получает никакой информации из Quik, и это ей не нужно, а только передает через DLL в Lua данные о сделке: Buy/Sell, отступы и количество. Всю дальнейшею работу по формированию заявки, будет делать скрипт Lua.
На данный момент панель уже умеет взаимодействовать со скриптом и пока ничего более. Торговый функционал Lua, когда будет время перенесу из другого скрипта. Сейчас все равно выходной, и попробовать нет возможности.

Вопрос по qpl

Приветствую! Может есть кто занимается qpl, думаю даже для начинающих вопрос не очень труден. 
Вроде элементарный код, но перестал код показывать данные по свече. 
Кто подскажет в чем проблема? Ранние торги не показывает c 7 до 10 утра, основные торги с 10.00 данные идут.
Что нужно подправить? Если кто знает, подскажите пожалуйста. Я так понимаю что то с серверным временем, но не вижу, где именно проблема. 

 

PORTFOLIO_EX 5ka;
DESCRIPTION 5ka;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM
'========= НАСТРОЙКИ
INSTRUMENT=«SRM1»
ACCOUNT=«SPBFUT....» ' ПРОПИСЫВАЕМ АККАУНТ НА ФОРТС
' *********************
'========= ПЕРЕМЕННЫЕ

'========= ДАТА И ВРЕМЯ СЕРВЕРНОЕ
SERVERTIME=GET_INFO_PARAM(«SERVERTIME»)
SERVERDATE=GET_INFO_PARAM(«TRADEDATE»)
TIMESERV=SUBSTR(SERVERTIME,0,2)&SUBSTR(SERVERTIME,3,2)&SUBSTR(SERVERTIME,6,7)
HOUR=SUBSTR(TIMESERV,0,2)+0
MIN=SUBSTR(TIMESERV,2,2)+0
SEC=SUBSTR(TIMESERV,4,2)+0
TIME=TIMESERV+0
DATE=SUBSTR(SERVERDATE,6,4)&SUBSTR(SERVERDATE,3,2)&SUBSTR(SERVERDATE,0,2)
TRID=TIME&DATE
TRID=TRID+0
'========= ПРОВЕРКА СОЕДИНЕНИЯ С СЕРВЕРОМ
IF IS_CONNECTED()<>1
RETURN
END IF

OPEN=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«OPEN»)+0
HIGH=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0
LOW=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)+0
VOLA=GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«HIGH»)+0-GET_VALUE(GET_COLLECTION_ITEM (GET_VALUE (GET_CANDLE_EX(«P55», DATE, TIME),«LINES»),0),«LOW»)



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

📌Инвестиционный портфель с постоянным доходом или "Как перестать терять деньги на рынках". Часть 1.

При определении состава инвестиционного портфеля я опирался на принципыДиверсификации, Постоянного дохода и Апсайда или потенциала роста цены актива. Давайте рассмотрим их подробнее.

   📊Диверсификация — инвестирование средств в разные активы с целью снижения рисков. При этом в идеале снижение риска должно минимально влиять на доходность портфеля. В нашем случае это означает, что мы возьмём в портфель акции, облигации, фонды, а также будем принимать участие в IPO.  Будем приобретать, как Российские, так и зарубежные компании.
   💰Постоянный доход — регулярное получение денежных средств. В нашем портфеле это будут обеспечивать купонные облигации и дивидендные акции.
   📈Апсайд — потенциал роста цены актива. Этот потенциал мы будем определять пользуясь специальным чек-листом(он же ✴️ Рейтинг БА) для оценки актива и средствами технического(ТА) и фундаментального анализа(ФА). ✴️ Рейтинг БА, ТА и ФА  разберём подробно, но позднее.



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

Карта рынка - мой первый прототип надстройки над Quik(Квик)

Начну с того, что недавно я чуть не совершил серьезную ошибку. Мне как и многим, надоел «пресный» внешний вид Quik-а, и других торговых терминалов и захотелось «что-то свое», визуально красивое, интуитивно понятное, ну вообщем Вы поняли, я захотел «изобрести свой велосипед». Мне повезло, хватило буквально пары недель, для понимания масштаба задачи.

Вспомнил случай из жизни: примерно два года назад у меня «не случился» заказчик на разработку программного обеспечения. Заказчик сетовал на то, что кому бы он не обращался, все отказываются. И он открывает картинку стандартного графика цены и объема в Квике и со словами «вообщем мне надо также, только вот здесь и здесь надо добавить парочку штрихов» начинает на ней рисовать. Я ему начинаю объяснять, что стандартными средствами квика эту задачу не реализовать, а он в ответ «Вот мне именно так все и говорят! А я Вам показываю, что в квике все уже сделано, осталось чуть-чуть доделать вот здесь и здесь...»

На самом деле в этой идее больше вопросов, чем ответов, точнее чем больше ты вникаешь в задачу, тем больше вопросов возникает. Обычный пользователь как должное воспринимает что квик загружается очень быстро (например в сравнении с «Альфа Директ»), хранит и отражает данные за требуемый период, имеет относительно гибкий внутренний скриптовый язык ну и т.п.



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

Технический трансвестизм

    • 21 октября 2020, 00:49
    • |
    • GOLD
      Популярный автор
  • Еще
Мой дорогой друг. Как ты уже знаешь, уровень поддержки часто превращается в уровень сопротивления. И наоборот. Но скажи мне, пожалуйста, почему эти уровни страдают трансвестизмом? В чем причина переодевания поддержки в сопротивление, а сопротивления в поддержку?

Ты не в курсе? Я тоже.

Естественно, я сходил в интернет и почитал там всякое. А всякого там — навалом. Но найти осмысленное объяснение причины трансвестизма уровней не смог. Среди прочего, я обнаружил психическое объяснение природы изучаемого явления. Оно построено на предположении, что некие условные трейдеры видят возврат цены к пробитому уровню и усиленными покупками (или продажами) отталкивают цену от пробитого уровня.

Я решил проверить эту версию. Зашел на сайт random.org и выгрузил последовательность из 10 000 подбрасываний монетки (0 или 1). Заменил 0 на -1 и последовательно сложил все значения. Получился симпатичный график, на котором проявились несколько случаев трансвестизма уровней. Я их отметил красными линиями:

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

Прилипала для Quik


Всем привет. В своих прошлых постах я писал, что увлекся анализом обезличенных сделок.
Вот что описывал:
https://smart-lab.ru/blog/583818.php
https://smart-lab.ru/blog/584792.php

В комментариях и личных сообщениях меня активно просили разработать аналог «Прилипалы» для Квика (Quik). Ну не прошло и полгода, как сделал. Забрать можно вот отсюда:
https://кбс.онлайн/soft.html

На странице есть бесплатная версия, полностью аналогичная таблице в Excel, пользуйтесь на здоровье.

Но… ну или как говорил Джобс «Ах да, забыл сказать… » — в своих поисках я ушел дальше, а именно:
1) Реализовал индикацию изменения скорости сделок. Как сделал и зачем? Как: считаю каждую минут число сделок, через минуту с момента запуска скрипта начинаю делить общее число сделок на количество прошедших минут. Так получаем среднюю скорость. Чем больше прошло времени, тем объективнее средняя скорость. Ну а резкое изменение скорости фиксируется когда текущая скорость вдвое выше средней. Зачем: на момент осуществления больших сделок резко вырастает скорость. Почему? Представьте «боковое» движение: цена меняется не сильно, кто-то «немного» покупает, кто-то продает. И тут приходят «ребята с большими деньгами» и выкупают большой объем акций, тем самым закрывая большой объем выставленных заявок. Поэтому и скорость резко увеличивается.
2) Подгружаю весь архив обезличенных сделок с начала торгового дня. Предидущая версия Прилипалы (та которая в Excel-е) — работала в режиме реального времени.
3) Начал экспериментировать с Телеграммом — создал канал kbs.online (



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

Судак-Тудак (робот) 1.1

Судак-Тудак (робот) 1.1

Слегка доработал простой бот по усреднению и скальпингу Bollinger Bands для QUIK от Turbo Pascal, выложенный тут.


1) Я разделил алго на 2 отдельных: на лонг и на шорт. В оригинале был только лонг и я его использовал для акций. Версия на шорт торгует Mini MIX фьючерс (вы можете любой набор фьючей настроить)
2) Добавил проверку на поступление котировок. Без неё утром выключался бот, приходилось стартовать руками.
3) В версии на шорт добавил усреднение с коэффициентом. Каждый следующий уровень будет на fibo больше предыдущего.
4) Добавил временные рамки (стартуем с 10:00), чтобы не работал когда рынок закрыт.
Хотел подсчёт прибыли добавить, но это уже сложновато сводить концы с концами, поскольку набор и сброс неравномерен. Тут без программиста не справиться.

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

Что показывает VA в профиле объема?

Одно из основных понятий при торговле по Профилю обьема это Value Area 💠

VALUE AREA — это зона справедливой цены, в которой сосредоточено 70% всего объёма внутри флэта. Понимание того, где себя может проявить крупный покупатель и продавец, очень важно для заработка на бирже 🚀

Профиль объёма отлично нам показывает такие зоны. Этот индикатор идеально подходит для торговли на любых рынках: криптовалюта, акциях, товарах (нефти, золоте и так далее).

Смотреть видео в Instagram по ссылке

Что показывает VA в профиле объема?

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