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

по

Данные из QUIK в Python. Построение Дельта графика.

Данные из QUIK в Python. Построение Дельта графика.Построение нестандартных графиков в Python при помощи библиотеки finplot.
Можно строить почти любые нестандартные графики: Range, Renco, Delta.
В качестве примера скрипт для построения Дельта графика.
График строиться с момента запуска по поступающим данным из таблицы обезличенных сделок.
Для получения данных из КВИКа используется PythonServer Евгения Шибаева (огромное спасибо автору!!!)

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

# В КВИКе запускаем луа-скрипт QuikLuaPython.lua
import socket
import threading
from datetime import datetime, timezone
import pandas as pd
import finplot as fplt

fplt.display_timezone = timezone.utc


class DeltaBar():
    def __init__(self):
        self.df = pd.DataFrame(columns='date_time open high low close delta delta_time_sec'.split(' '))
        self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0]

    def parser(self, parse):
        if parse[0] == '1' and parse[1] == 'RIH1':
            if abs(self.df.iloc[len(self.df) - 1]['delta']) >= 500:
                self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0]  # Добавляем строку в DF

            self.df.iloc[len(self.df) - 1]['close'] = float(parse[4])  # Записываем последнюю цену как цену close бара

            if self.df.iloc[len(self.df) - 1]['date_time'] == 0:
                self.df.iloc[len(self.df) - 1]['date_time'] = \
                    datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f").replace(microsecond=0)

            if self.df.iloc[len(self.df) - 1]['open'] == 0:
                self.df.iloc[len(self.df) - 1]['open'] = float(parse[4])

            if float(parse[4]) > self.df.iloc[len(self.df) - 1]['high']:
                self.df.iloc[len(self.df) - 1]['high'] = float(parse[4])

            if (float(parse[4]) < self.df.iloc[len(self.df) - 1]['low']) or \
                    (self.df.iloc[len(self.df) - 1]['low'] == 0):
                self.df.iloc[len(self.df) - 1]['low'] = float(parse[4])

            if parse[5] == '1026':
                self.df.iloc[len(self.df) - 1]['delta'] += float(parse[6])

            if parse[5] == '1025':
                self.df.iloc[len(self.df) - 1]['delta'] -= float(parse[6])

            self.df.iloc[len(self.df) - 1]['delta_time_sec'] = \
                datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f") - \
                self.df.iloc[len(self.df) - 1]['date_time']
            self.df.iloc[len(self.df) - 1]['delta_time_sec'] = self.df.iloc[len(self.df) - 1]['delta_time_sec'].seconds


def service():
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.bind(('127.0.0.1', 3587))  # Хост-этот компьютер, порт - 3587
    while True:
        res = sock.recv(2048).decode('utf-8')
        if res == '<qstp>\n':  # строка приходит от клиента при остановке луа-скрипта в КВИКе
            break
        else:
            delta_bar.parser(res.split(' '))  # Здесь вызываете свой парсер. Для примера функция: parser (parse)
    sock.close()


def update():

    df = delta_bar.df
    # Меняем индекс и делаем его типом datetime
    df = df.set_index(pd.to_datetime(df['date_time'], format='%Y-%m-%d %H:%M:%S'))
    # print(delta_bar.df)

    # pick columns for our three data sources: candlesticks and TD
    candlesticks = df['open close high low'.split()]
    volumes = df['open close delta_time_sec'.split()]
    if not plots:
        # first time we create the plots
        global ax
        plots.append(fplt.candlestick_ochl(candlesticks))
        plots.append(fplt.volume_ocv(volumes, ax=ax.overlay()))
    else:
        # every time after we just update the data sources on each plot
        plots[0].update_data(candlesticks)
        plots[1].update_data(volumes)


if __name__ == '__main__':
    delta_bar = DeltaBar()
    # Запускаем сервер в своем потоке
    t = threading.Thread(name='service', target=service)
    t.start()

    plots = []
    ax = fplt.create_plot('RIH1', init_zoom_periods=100, maximize=False)
    update()
    fplt.timer_callback(update, 2.0)  # update (using synchronous rest call) every N seconds

    fplt.show()
  • обсудить на форуме:
  • QUIK

Скользящая средняя с динамическим диапазоном усреднения

    • 17 февраля 2021, 14:06
    • |
    • semikot
  • Еще

Решил поделиться одним техническим способом, который я использую для определения тренда – среднюю с изменяющимся диапазоном усреднения. Но перед тем, как выложить все это искушенной публике, проверил есть ли что похожее. Оказывается, есть, но только по названию, а не по сути (может, правда, я чего-то не нашел). Это индикатор VIDYA. Ниже я приложу справку с описанием из интернета с расчетом VIDYA. VIDYA немного модифицирует экспоненциальную скользящую среднюю EMA. Период усреднения в EMA – это доля, которая определяет сколько взять текущей цены, а сколько предыдущего значения EMA. То есть вся фишка VIDYA в добавлении переменной в размер доли.

Если озвучивать задачу, которую я перед собой поставил, то это максимально быстро выявить тренд с минимальными ошибками. Самый простой трендовый индикатор – средняя, да и самый удобный при работе в Excel. У меня в Excel в принципе все расчеты. Дальше немного порассуждаю. При боковике с быстрыми изменениями направления движения средняя с большим усреднением не покажет хорошего результата, а при длительном движении средняя с маленьким периодом усреднения  будет чаще показывать разворот, которого еще нет. Значит при боковике или быстро изменяющихся движениях рынка период средней должен уменьшаться, а при трендовом движении в одну сторону период средней должен увеличиваться.



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

Дыра в ВТБ или все для удобства клиента и плевали мы на вашу безопасность

    • 11 февраля 2021, 22:57
    • |
    • Rock_er
  • Еще

Всем привет.
Я не трейдер, но регулярно, на протяжении нескольких лет инвестирую в акции и ETF. Сумма уже преодолела психологическую отметку, когда беспокоишься не только о надежности брокера или банка (поэтому и был выбран  ВТБ), но и защиты от мошенников или доступа к личному кабинету посторонних, вследствие явных дыр в безопасности ВТБ, которые они не признают (якобы все делается для удобства клиента). Написанное больше касается именно банка, но немного затронул тему и восстановления доступа к брокерскому счету.
Так вот, уже не в первый раз, в комментариях встречаю рекомендацию в ВТБ банке поставить запрет на «удаленное восстановление доступа». Мол, это защитит от мошенников или если вы потеряете сим карту (Например, тут https://smart-lab.ru/blog/676249.php#comment12208793) Хотел сначала написать просто комментарий, однако затем решил выделить в отдельный пост (кстати первый аж за 6 лет, как оказалось. Быстро же летит время), предназначенный  для таких же параноиков как я, а вдруг пригодиться.



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

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

Оставлю здесь немного ссылок о барановирусе, может кто еще не в курсе.

Почти 80 процентов больных коронавирусом выздоравливают путем естественного ответа иммунной системы, сообщил главный пульмонолог ФМБА России Александр Аверьянов.«Существует два варианта течения новой коронавирусной инфекции. У большинства пациентов, это примерно 80 процентов больных, после внедрения репликации SARS-CoV-2 иммунная система путем естественного своего действия преодолевает инфекцию, и человек выздоравливает. И вот этой категории больных, какой бы мы препарат ни назначили, этот больной все равно выздоровеет», — рассказал Аверьянов

Схемы лечения
мед центр мгу — сайт http://mc.msu.ru/m/covid.php,
статья о том, как схема была получена, опробована и с каким результатом
https://scientificrussia.ru/articles/glavnye-vragi-covid-19-voda-mylo-i-zdravyj-smysl-v-mire-nauki-7-2020
 
Eastern Virginia Medical School — периодически обновляется, на англ. сайт

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

Подборка полезных ресурсов

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


Сайты и приложухи для трейдинга:
finviz.com  — это божественно! Бэнчмарк всех фин сайтов по интерфейсу и удобству навигации, множество плюшек отбора акции для домашки, и визуальной подачи инфы. Бесит, что календарь только для амеров и на текущую неделю.

forexpf.ru  — 1 год назад этот сайт лежал когда на него ринулась каждая домохозяйка отслеживать курс рубля. Нормальный ресурсоёмкий сайт, чтобы попырому прочекать нефтянку, голду или бакс.

freestockcharts.com  — если вдруг упал tradingview.com.



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

Отрицательная цена на нефть Брент на Мосбирже - возможна

TLDR:
1) Возможна
2) Цену экспирации на ММВБ дает лондонская биржа ICE;
3) Берутся средние данные с 10:30 до 19:30 (лондонское время) предыдущего рабочего дня;
4) Короткий провал (возможно) будет отсеян.

Для начала скажу, что в теории вполне возможно стечение обстоятельств, когда цена на любой из контрактов, входящих в индекс может торговаться по отрицательной цене. Способ определения цены на Brent примерно такой же, как на Crude Light. Если все, кто желает отказаться от поставки ломанутся на выход, то цена может упасть до любого отрицательного уровня за небольшое время.

Теперь давайте разберемся, как определяется цена экспирации на фьючерс на Brent на ММВБ. Для начала откроем спецификацию контракта на сайте мосбиржи:

https://www.moex.com/ru/contract.aspx?code=BR-5.20

по этой ссылке спецификация полностью:

https://fs.moex.com/files/3243/21741

Цитирую:
В целях определения Обязательства по расчетам текущая Расчетная цена (цена исполнения Контракта) считается равной значению индекса на нефть сорта «



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

Сообщение медика из Италии

(Делаю репост)

Привет… к сожалению да, чуда в этот раз не будет, штука заразная и неприятная. И не придет, а уже пришла (см. количество пневмоний в одесских больницах) уже как месяц назад… все как в Италии.  Здесь официально заявили о начале эпидемии в конце февраля, в то время как было уже в полном разгаре в конце января (по своим пациентам видел), первый пациент в Италию прилетел из Мюнхена 9 января… поэтому и такие последствия. Делали вид, что «ложки нет».

Симптомы: основной — сухой кашель, обычно начинается параллельно с першением и болью в горле (иногда и часто просто боль в шее, типа мышечная и в мышцах шеи, полагаю по ходу лимф. узлов), легкое недомогание и типа продромных явлений, все как при гриппе. Температура 37,0-37,5  — 1-2 дня, или вообще без температуры. НО! как правило, нет ринита. Часто головная боль, заложенность ушей (сальпингит), легкие признаки синусита, но, повторю, необычно как-то, нет секреторного компонента. Есть просто отек слизистых. Далее, на 2-4 день боль по ходу трахеи и за грудиной (!), сухой кашель усиливается. С пятого дня может появиться боль в грудной клетке (уже более латерально, не по центру), затрудненное дыхание (периодами). И это вот продолжается без лечения около 15-20 дней. Потом, если осложнений нет, уходит и улучшается (субъективно) по 5% в день. Длится всего порядка месяца (от 3 до 6 недель). Если нет осложнений — то температуры нет, или гипотермия (36,0-36,3). В анализе крови аналогично: основной симптом — лимфопения (!), мало либо нормальное кол-во нейтрофилов, и повышенный С-реактивный белок. Больше ничего.

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

Среднегодовая цена на нефть стран OPEC с 1960 по 2018 год

Среднегодовая цена на нефть стран OPEC с 1960 по 2018 год (в долларах США за баррель)

Эта статистика показывает среднегодовые цены для отдельных видов нефти ОПЕК с 1960 по 2018 год. В 2017 году среднегодовая цена на нефть за баррель составила 52,51 доллара США. Аббревиатура ОПЕК расшифровывается как Организация стран-экспортеров нефти. Членами организации являются следующие страны: Алжир, Ангола, Эквадор, Габон, Ирак, Иран, Катар, Кувейт, Ливия, Нигерия, Саудовская Аравия, Венесуэла и Объединенные Арабские Эмираты.
Среднегодовая цена на нефть стран OPEC с 1960 по 2018 год
Среднегодовая цена на нефть стран OPEC с 1960 по 2018 год

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

QUIK. Реальные шаги для ускорения работы терминала.

    • 07 марта 2020, 16:22
    • |
    • SaOLin
  • Еще

Последние две недели на всех мировых рынках резко повысилась активность, количество биржевых данных выросло в 2-3 раза. Из-за этого у многих пользователей терминал QUIK начал безбожно тормозить и виснуть. Сервера брокеров также с трудом переваривают повышение нагрузки и наплыв клиентов, желающих что-либо купить-продать (по слухам кто-то из брокеров висел аж целую неделю))) ).

На Смарт-Лабе появилось несколько постов с советами как избавиться от тормозов. И меня сильно поразила неадекватность предлагаемых действий. Люди готовы покупать новое железо за бешеные деньги, создавать какие-то командные файлы и заниматься прочей ерундой. А нужно всего лишь включить голову и разобраться в причинах тормозов. Когда программисты разрабатывают какую-либо программу, они всегда оптимизируют ее для работы на определенном «средне статистическом» компьютере, закладывая при этом кратный запас по производительности. Если вдруг эта программа (QUIK) начинает неадекватно тормозить и виснуть на обычном современном компьютере — значит дело почти наверняка не в железе, и даже не в самой программе, а в ее конфигурации (настройках). Т.е. нам нужно правильно настроить терминал QUIK , а уже потом апгрейдить железо, менять туда-обратно версии и бухтеть на Смарт-лабе.



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

Получение оповещений о сделках из Квика в Телеграм

Я активно пользуюсь лимитными заявками, а последнее время еще и роботов начал юзать, которые новые заявки ставят сами.
И все это именно для того, чтоб постоянно не сидеть за компом.

Если торговля активная, и за компом не сидишь, то начинаешь париться, а чего там, а все ли норм, а как процесс и тому подобное.

При этом я торгую сейчас в основном в ВТБ, у них основной терминал для торговли, это Квик. Есть еще мобильное приложение, но в отличии от 
приложения Альфадиректа, оно не оповещает о сделках, если заявки были выставлены через Квик. (Честно говоря, мобильное приложение Альфы тоже в этом смысле не ахти, Пуш уведомлениями оповещает, но не всегда, да и Пуш уведомления на любителя, они не долго сохраняются на телефоне).

Гугление выявило, что тема об оповещениях популярная, есть даже встроенный в Квик какой то оповещатель по СМС, но пишут, что вроде как услуга платная (и кое кто даже платит), да и вообще, способ какой устаревший.

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

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

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