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

по

Связь Lua -> ваша программа. RAM Disk.

    • 11 мая 2021, 21:33
    • |
    • 3Qu
  • Еще
Я, вроде, уже писал подобный пост. Давно. Но, новое — хорошо забытое старое.
Очень многие неплохо владеют основами программирования, но написать DLL, связь через TCP или что-то другое для экспорта-импорта в Lua — это достаточно сложная процедура, и требует дополнительных знаний и много времени. Однако, если такую связь как-то по простому реализовать, то решились бы многие проблемы обмена данными с C#, Python и другими средами, и не надо вникать во всяческие C-API и прочие премудрости.
Однако, есть достаточно простой и доступный способ — обмен данными через файлы. Например, так:
1. программа Lua пишет строку (строки) данных в формате CSV в файл data.csv,
2. программа Lua создает пустой файл flag.ddd,
3. ваша программа проверяет наличие файла flag.ddd, что означает, что данные готовы к чтению,
4. при наличии файла flag.ddd программа читает данные файла data.csv и удаляет файл flag.ddd,
5. программа Lua проверяет наличие файла flag.ddd, и если этот файл отсутствует пишет строку (строки) данных в файл data.csv (см. п.1)
При обратном обмене происходит все тоже самое, только имена файлов другие.

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

Конспект / Mind over Markets - James Dalton / Часть 6

High- and Low-Volume Areas – Области Высокого и Низкого Объема


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

High-Volume Areas – Области Высокого Объем

Концентрации высокого объема (High-volume) развиваются, когда рынок проводит относительно большое количество времени, торгуясь в пределах узкого диапазона цен. Оба и покупатель, и продавец являются активными, формируя краткосрочную область баланса, в которой цена замедляется, чтобы приспособиться к двусторонней торговле. Другими словами, рынок воспринимает эту область как справедливую, и объем строится в течение периода времени.

В короткие временные периоды, области с высоким объемом представляют последнее

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

Рецензия на книгу «Продам душу за биткоины»


Рецензия на книгу «Продам душу за биткоины»

Случайно наткнулся на книгу Д.Траюма «Продам душу за биткоины» от ЭКСМО. Прочитал на одном дыхании. Разочарую многих — книга не содержит руководства о том, как разбогатеть на криптовалютах. Книга об алчном парне-ботанике, который случайно купил биткоины и держал их целых 7 лет. Очень понравилось как автор структурировал сюжет — каждая глава называется «биткоин стоит столько-то» и в ней описывается как герой переживает, боится, борется сам с собой и со своими комплексами. Я бы отнёс эту книгу к психологии — многое в действиях героя говорит о сумасшедших комплексах, и даже местами о раздвоении личности.

Фишка в том, что главный герой верит в то, что у каждого человека внутри есть несколько личностей. Он уверен, что люди постоянно притворяются, одевают маски. И только какое-то важное событие в жизни заставляет людей на время снять эти маски. В книги действительно много интересных наблюдений. Вот еще одна цитата из книги:

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

индикатор EMA

индикатор EMA


--[[
EMA template
--]]
Settings=              
        {                          
            Name = "EMA",   -- indicator name
            ln=20,               -- period		
            line=                                     
                {                               
                    {  
                        Name = "EMA",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0,255)
                    }					
                }
       }


function Init()
  ema = {}

  return 1
end


function OnCalculate(index)
  
  ln = Settings.ln 
  if index-1 < 1 then 
    ema[index] = C(index)
  else 
    ema[index] = (ema[index-1]*(ln-1) + C(index))/ln
  end 
 
  return ema[index]

end

QUIK 8.13 индикаторы не загружаются из подпапок

Тема обсуждается здесь: https://forum.quik.ru/messages/forum10/message54555/topic6400/
Для решения достаточно скопировать файлы индикаторов из подпапок в корневую папку индикаторов [QUIK]\LuaIndicators.
После перезапуска QUIK все настройки индикаторов сохраняются.
QUIK 8.13 индикаторы не загружаются из подпапок


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

Быстрый бектестинг стратегии на python с pandas

Я уже давно использую для бектестов python и pandas. pandas это библиотека для работы с матрицами и её прелесть в том, что она оперирует векторами и работает ГОРАЗДО быстрее, чем обычные циклы. Для того, чтобы сохранить это достоинство при бектестах я использую логарифмическую доходность (log-return на английском). Не ручаюсь за русские термины, так как узнал про них из англоязычных статей. Написанное ниже не истина в первой инстанции, а моя попытка разобраться как это всё работает чтобы применять на практике. Если я не прав, напишите. Я хоть и защищал кандидатскую диссертацию, но не по математике или экономике.

Немного теории



Логарифмическая доходность — разница стоимости актива в разные промежутки времени в процентах. Рассчитываеся по такой формуле:  
Быстрый бектестинг стратегии на python с pandas


Формула для расчёта логарифмической доходности, логарифм натуральный

Теперь на примере акций теслы. Цена по дням:  

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

"Танцы с бубнами" с 3-НДФЛ или почему в ЛК налоговой "кривые" справки о доходах от брокеров

    • 05 апреля 2021, 17:22
    • |
    • А. Г.
      Популярный автор
  • Еще
При заполнении декларации выяснилась одна неприятная вещь: к одному коду дохода можно добавить лишь один код вычета. При этом добавить код вычета, по которому нет дохода, согласно справке 2-НДФЛ от брокера, не получится.

Что делать? Просто складывать вычеты и помещать их в один. Например, сумму 201 и 222 помещать под кодом 201, сумму 205 (сальдирование ЦБ и ПФИ на ЦБ и фондовые индексы) и 206 помещать  на 201 (+222) или 206, выбрав тот из них, который в справке 2-НДФЛ не равен доходу по кодам 1530 и 1532, соответственно, сумму 206 и 209 (сальдирование  ПФИ на ЦБ и фондовые индексы с ПФИ не на ЦБ) помещать на 206 или 207, выбрав тот из них, который в справке 2-НДФЛ не равен доходу по кодам 1532 и 1535, соответственно. Именно так эти коды расположены друг под другом в справке 2-НДФЛ.

Теперь понятно почему справки 2-НДФЛ от брокеров — неверные. Бухгалтерия то ведет вычеты по разным кодам, а налоговая для каждого дохода принимает лишь один из.

Поэтому в одной справке от брокера в ЛК налоговой у меня нет вычетов  201 и 209, в другой 222 и 205, и только третья справка, где один код вычета — 201, верная.

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

Утренний сон алготрейдера


После введения утренней торговой сессии проблема автоматического запуска торгового ПО стала особенно актуальна.
Хорошее решение предложил Евгений Логунов  в своей статье «Простой автологин за 5 минут».  Мы предложим аналогичное решение для КВИК на С++.

Задача очень простая — в 7:00 пробудить ПК с помощью планировщика заданий Windows, запустить несколько терминалов QUIK, и в каждом из них запустить торговых роботов, чтобы полностью освободить владельца всего этого счастья от физических и психических нагрузок, плохо влияющих на питание и здоровый образ жизни.


Итак, первое, что нам необходимо будет сделать это Автологин. Штука достаточно простая, учитывая то, что после запуска терминала он автоматически выдает окно приветствия. Нам нужно только дождаться появления этого окна, получить первое вводное поле (логин), второе вводное поле (пароль), вбить туда нужные значения и нажать на первую дочернюю кнопку этого окна: «Вход».

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

Простой бот для крипто биржи Deribit

Нашёл тестовое задание на разработчика в один фонд. Само задание можно посмотреть в файле. Нужно написать робота для крипто биржи Deribit. Из требований:
1. Написать на python 3
2. Нужно использовать asyncio так как API Deribit работает через websockets
3. Для управления зависимостями использовать poetry
4. Запуск робота через docker и docker compose
5. Написать пару тройку юнит тестов
6. Данные по сделкам сохранять в mysql базу данных.

Не долго думая решил его закодить, потренироваться лишний раз в программировании, заодно разобраться в API Deribit.

Базу данных использовал sqlite. Юнит тесты пока не делал.

Бот можно использовать как пример работы с API Deribit. Код работает как есть без всяких гарантий.

Ссылку на гитхаб можно найти у меня в телеграме: t.me/zenoftrading/68
  • обсудить на форуме:
  • Deribit

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