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

по

Бесплатный робот на quik XoraX боковик на lua, нефть Brent

    • 13 мая 2020, 22:26
    • |
    • XoraX
  • Еще
Робот очень хорошо держит боковик в определённом диапазоне. Точку входа соответственно надо искать самому, желательно если вы уверены что рынок уже будет в боковике и идти ему некуда. Робот будет совершать покупку и выставлять заявку на продажу с установленным профитом в панели управления. Можно установить чтобы он покупал только по 2 или 3 контракта, просто устанавливаете 3 контракта «add» и он будет покупать и продавать 3 контракта, но не более того что разрешено. На последнем скрине например установлено покупать до 10 контрактов. 
При падении, если тренд пошел вниз, робот совершает так же покупку, но постоянно старается увеличить промежуток покупки.
Если робот ранее покупал на текущем участке(промежутке) то он не будет покупать здесь, пока не продаст.


Бесплатный робот на quik XoraX боковик на lua, нефть Brent
Бесплатный робот на quik XoraX боковик на lua, нефть Brent

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

Транснефть вылетает из индекса Msci Russia.

#TRNFP Транснефть вылетает из индекса Msci Russia.


Транснефть вылетает из индекса Msci Russia.


Идея не сработала.
Сегодня 13 мая и 29 мая возможна распродажа.
Актив нормальный и качественный, цена отрастет ещё.
К дивидендам июля скорее всего уже только.

Источник новости — сайт MSCI.com
страница 5
www.msci.com/eqb/gimi/stdindex/MSCI_May20_STPublicList.pdf

Идея была в моем канале TELEGRAM AROMATH.


Моделирование Торговых Систем на Python. 2.

    • 12 мая 2020, 10:29
    • |
    • 3Qu
  • Еще

Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].

В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.

Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:



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

Грааль, который вы так долго искали

Юрий Иванович (JC_trader) у себя в LJ один очень хороший пост написал, который мог бы дать ответ на множество вопросов начинающих инвесторов. Я же хочу добавить немного огранки для этого алмаза, превратив его в бриллиант.

Суть в следующем. Возьмем простую трендследящую систему: 

  • если клоуз больше предыдущего клоуза, то покупаем (лонг) на закрытии сессии,
  •  если клоуз меньше предыдущего клоуза, то продаем (шорт) на закрытии сессии.

И попробуем ее протестировать на разных временных периодах. 

Сама система, кстати, по своему гениальна. Во-первых, в ней нет оптимизируемых параметров (sic!) и она либо работает на истории — либо нет. Во-вторых, мы совершаем сделки на закрытии сессии. А открыть/закрыть сделку на закрытии намного легче, чем на открытии. Те, кто профессионально занимался тестированием торговых алгоритмов могут многое об этом рассказать 🙂

Теперь к полученным результатам. Система работает, но только на старшем временном периоде (месячные бары). Почему? Переходим к главному…



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

Моделирование Торговых Систем на Python. 1.

    • 09 мая 2020, 19:31
    • |
    • 3Qu
  • Еще

Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.

Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.

Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.



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

О ситуации с Баффеттом и компанией Berkshire Hathaway.

О ситуации с Баффеттом и компанией Berkshire Hathaway.

Уоррен Баффетт распродал акции всех авиалиний и признался в убытках. И мы должны оценить для себя текущую ситуацию и понять дальнейшие перспективы бизнеса Berkshire Hathaway. Постараюсь внести полную ясность в картину происходящего. Действительно ли Баффетт ставит на падение фондового рынка и каков расклад сил в данный момент.

Долгое время Оракул из Омахи применял один и тот же механизм зарабатывания денег. Он был более подробно освещен в книге его бывшей невестки. Суть в кратце заключалась в том, что ему нравятся компании, которые окупаются за 5 лет. P/E=5 или ниже, у вас надежная классная американская компания, с хорошей рентабельностью бизнеса, можете смело идти к Баффетту продавать свои акции. Но не все так просто. В Америке такие компании стали потихоньку исчезать. Мультипликаторы стали учитывать рост бизнеса. Уоррен стал набирать cash, чтобы приобретать их в тот момент, когда в экономике все плохо. Прибыли сменялись убытками, но он понимал, что на длительной дистанции кризис завершится и появятся докризисные показатели компаний, а также более сильные посткризисные результаты и даже оценки выше справедливых значений. Это было легко экстраполировать на будущее.



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

Результаты торговли в апреле

Метод торговли — скальпинг. Позиции через ночь не переносились.
Инструмент — РИ. Проторговано 66 884 контрактов.
Размер депо на начало месяца 1,3М.

Маржа +341 202р;
Комис бирже -118 944р;
Комис брокеру -6 688р. (0,1р за контракт);
P/L +215 569р.

Результаты торговли в апреле



Результаты торговли в апреле

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

Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Привет, новая неделя – новый бэктест факторной стратегии. На этот раз не только на Мосбирже и не только в акциях. Первоначально тут планировался большой текст про взаимодействие Моментума, торгового оборота и волатильности на неликвидных рынках и последующий Шарп сильно за 2.

Но в последний момент решили выпускать стратегии по нарастанию их сложности.  Сегодня речь не об «иксах», но об очень устойчивой штуке – получению доходности выше рыночной за длинный промежуток по разным классам активов без принятия рисков отдельных компаний или стран.

Традиционный график с результатом перед стеной текста:
Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Источник: Sentimetrica

 

Синяя линия – модификация Моментума на глобальных рынках, зеленая – индекс глобальных акций MSCI World, красная – равновзвешенный портфель из акций, казначейских векселей США и сырьевой корзины.

 

Из всех стратегий американских биржевых гуру – самыми полюбившимися для меня стали идеи получения ВСЕЙ рыночной доходности Джона Богла и CANSLIM Уильяма Онил. У фраз «Индекс в долгосроке всегда растет» и «Лучшие компании остаются лучшими» много общего, верно? Попробуем оформить объединенную стратегию на основе классиков.



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

Какой индикатор нужен для календарного спреда фьючерсов

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

— Складывает Value графиков GraphId1 и GraphId2
— При запуске на загрузке Quik'а работает код предыдущей загрузки
— с последними свойствами, полученными из кода или интерактивно.
— При запуске старые бары графика данных сканируются дважды,
— только если есть подключение к серверу.
— При смене тайм-фрейма старые бары сканируются только единожды.
— При загрузке Quik'а первый скан до подключения к серверу.
CandlesOK = true
Settings = { — После смены тайм-фрейма нужно интерактивное подтверждение
  Name      = "_Add"
  ,GraphId1 = «Tag-1» — Перезадать оба после первой загрузки.
  ,GraphId2 = «Tag-2» — Сохраняются при последующих запусках.
  ,Factor1  = 1       — Для GraphId1
  ,Factor2  = 1       — Для GraphId2
  ,Base1    = 0       — Для GraphId1
  ,Base2    = 0       — Для GraphId2
  ,Value    = «close»
  ,line = { — Исчезает прогррамный доступ после 1-го интерактивного изменения
    {Name = «close»
    ,Color = RGB(255,255,0) — Жёлтый
    ,Type = TYPE_HISTOGRAM — POINT, LINE, DASH, DOT, HISTOGRAM,
    ,Width = 2}            — TRIANGLE_UP, TRIANGLE_DOWN.
  }
}
function Init()
  local s = «Indicator _Add:»
  if 0 == getNumCandles (Settings.GraphId1) then
    CandlesOK = false
    s = s .."\n  invalid GraphId1"
  end
  if 0 == getNumCandles (Settings.GraphId2) then
    CandlesOK = false
    s = s .."\n  invalid GraphId2"
  end
  if not CandlesOK then message (s) end
  return #Settings.line
end — Init()

function OnCalculate (index)
  if index == 1 then
    CandlesOK = true
    if 0 == getNumCandles (Settings.GraphId1) or
       0 == getNumCandles (Settings.GraphId2) then
      CandlesOK = false
    end
    --[[message («Settings.Value »… tostring (Settings.Value)
      .."\nSettings.line "… tostring (Settings.line)
      .."\nCandlesOK  "… tostring (CandlesOK))--]]
    if Settings.Value ~= «open» and Settings.Value ~= «high» and
       Settings.Value ~= «low»  and Settings.Value ~= «close» then
      Settings.Value = «close»
      message («Indicator _Add: Value must be open/high/low/close»)
    end
  end
  if not CandlesOK then return nil end
  local candle1 = (getCandlesByIndex (Settings.GraphId1, 0, index-1, 1))[0]
  local candle2 = (getCandlesByIndex (Settings.GraphId2, 0, index-1, 1))[0]
  local val1 = candle1[Settings.Value]
  local val2 = candle2[Settings.Value]
  — Результат return res == 0 and nil or res всегда 0 при res == 0
  if val1 == 0 or val2 == 0 then return nil end
  return (val1 + Settings.Base1) * Settings.Factor1
    + (val2 + Settings.Base2) * Settings.Factor2
end — OnCalculate()


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