tranquility: блог

rss

по

Блоги: личный (15) | открытые (11) | корпоративные (0) | все (26)

Починка websockets-криптоконнектора как повод поговорить о парадигме конкурентного программирования (питон)

В общем, решил как-то я написать websockets коннектор к одной криптобирже на С++. Решил, что неплохо было бы найти работающий простеникий коннектор и адаптировать его под себя. На С++ вообще ничего вменяемого найти не получилось, зато нашел нечто на питоне:
github.com/Crypto-toolbox/hitbtc
Штука показалась годной и стал я ее переводить на С++… Кстати, весьма полезное занятие оказалось — узнал определенные вещи из современных стандартов С++11/14, т.к. без них переводить питоновский код — много, долго и грустно)) И вот, в какой-то момент я подумал, что неплохо было бы проверить, а коннектор питоновский, который я взял за образец — он-то вообще работает?? Оказалось, что нет) Пакет websocket для работы с соединениями за 2 года устрарел и не работает, например, вот в этом месте:
self.conn = websocket.WebSocketApp(
            self.url,
            on_open=self._on_open,
            on_message=self._on_message,
            on_error=self._on_error,
            on_close=self._on_close
        )
пакет больше не экспортирует класс WebSocketApp, документацию вменяемую найти сразу не получилось и поэтому возникла потребность заменить websocket на что-то более актуальное. И это актуальное нашлось: websockets.readthedocs.io/en/stable/intro.html

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

Аууу! Инвесторы! Налетай, ПОДЕШЕВЕЛО!

Возможность вернуть себе молодость (и не один раз!) никогда не стоила так дешево! Плюс еще данное предприятие сулит просто умопомрачительные дивиденды!
Человек утверждает, что если ему дадут миллион долларов (а лучше три), то он знает каких-то ученых-медиков из России, которые занимаются исследованиями, которые, в свою очередь, уже себя очень хорошо зарекомендовали (только об этом почему-то мало кому известно). Еще, по какой-то причине он не признает крауд-фандинг, которым такую сумму собрать, по-моему, на такую благую цель гораздо легче. Отчасти это можно объяснить тем, что не очень желательно вовлекать в процесс тысячи наблюдателей. Хотя, больше, конечно, это похоже на какой-то очень отчаянный поиск лоха, т.е. нескольких кто скинется...


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

Тимофей, пофиксь баг, что ли

невозможно проверить уведомления, кликаешь на колокольчик и получаешь такое:
Тимофей, пофиксь баг, что ли
браузер — файерфокс 74.0 64bit


Тем временем в Иране от коронавируса уже умерло 2 человека

Инфа от иранца который читает иранские телеграм каналы. Народ, как всегда, боится, что власти многое не договаривают…

Про коронавирус на китайском. Статистика и обновляющаяся лента новостей.

3g.dxy.cn/newh5/view/pneumonia

У меня и гугл, и яндекс почему-то отказываются переводить весь сайт, так что копипастим в них.

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

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

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

24 января The Lancet опубликовал онлайн-статью о новых исследованиях коронавируса в 2019 году, в которой показано, что в настоящее время нет лекарства для его предотвращения. Для вирусных заболеваний, как правило, нет конкретных лекарств, за исключением нескольких заболеваний, таких как грипп.

В настоящее время нет вакцины для нового коронавируса. Китайский центр по болезням начал исследования и разработку новой вакцины против коронавируса, вирус был успешно выделен, проверены штаммы семян и проведен скрининг лекарственных препаратов.
Можно ли лечить новую коронавирусную пневмонию?

Хотя в настоящее время не существует специального лечения заболеваний, вызванных новым коронавирусом, многие симптомы можно лечить симптоматически, что может эффективно снизить состояние пациента.
Как лечится новая коронавирусная пневмония?

Следует выбрать стационарное лечение с эффективными условиями изоляции и защиты, и критические случаи должны быть приняты в отделение интенсивной терапии как можно скорее.

Есть ли польза в тиковом поле "направление сделки", транслируемом брокером/биржей?

Как-то я сильно заморочился над тем, чтобы получить из ордерлогов кускальпа данные, которые продаются Мосбиржей. У меня были купленные данные type B (сделки и лучшие котировки) по RI за один месяц и в итоге после всевозможных танцев с бубнами все сошлось (кроме времени сделки/котировки, но это ранее обсуждалось — погрешность +-3 мс возникала из-за органицации хранения исторических данных Мосбиржей, при этом данные кускальпа оказываются более точными). Собственно, больше всего «танцев» было по поводу обратного инжиниринга правил сведения заявок. На языке С++ они выглядят так (комментарии излишни, кому действительно надо — сам разберется):
opDir = L'U';

if( ( qsds[0].plaza2OpWord & QshOrderLogFrame::plazaWordQuote ) != 0 &&
( qsds[1].plaza2OpWord & QshOrderLogFrame::plazaWordCounter ) != 0 ||
( qsds[0].plaza2OpWord & QshOrderLogFrame::plazaWordCounter ) != 0 &&
( qsds[1].plaza2OpWord & QshOrderLogFrame::plazaWordQuote ) != 0 )
{
	for( unsigned i = 0; i < qsds.size(); i++ )
	{
		if( ( qsds[i].plaza2OpWord & QshOrderLogFrame::plazaWordQuote ) != 0 )
		{
			if( ( qsds[i].plaza2OpWord & QshOrderLogFrame::plazaWordBuy ) != 0 )
			{
				opDir = L'B';
				break;
			}
			else if( ( qsds[i].plaza2OpWord & QshOrderLogFrame::plazaWordSell ) != 0 )
			{
				opDir = L'S';
				break;
			}
			else
			{


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

Несоответствие минутных и m10, H1, D1 свечей по USD000000TOD

Привет всем граалемайнерам! Пришлось мне двинуться от тиков в сторону более длинных таймфреймов, а для этого таки разобраться с получением свечек с ИСС Мосбиржи. Для большей уверенности, что все сделано правильно, я решил провести тест данных на самосогласованность. Т.е. я собираю из минутных свечек более длинные и проверяю с теми, что получены с сервера. В итоге, по USD000000TOD нашлось несколько дней за всю имеющуюся историю «минуток», где наблюдается несоответствие. Например, начало торгового дня 23 апреля 2013. В этот день минутки начинаются с 10:23, а отличие собранных «минуток» отмечается со свечами
m10: 10:20:00-10:29:59
H1: 10:00:00-10:59:59
D1: (соответственно) 00:00:00-23:59:59

При этом, разница между восстановленными и скачанными свечами может быть по всем параметрам (o,c,h,l,q), но нагляднее ее здесь показать на примере объемов:
<таймфрейм>: <объем скачанной> <восстановленной> <разница>
m10: 51672000         23361000        28311000
H1:   409230000        236901000      172329000

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

Как можно строить свечные графики в питоне.

Как и обещал ранее некоторым участникам, сейчас продемонстрирую код, с помощью которого можно визуализировать свечной график, данные для которого будет взят с сайта Финам. Самое прамолинейное решение — это найти какой-нибудь модуль для питона, которому скармливаются бары, а он тебе выдает, собственно, свечной график. Такие есть, но на тот момент, когда я интересовался темой, найденное меня не устроило. Например, свечной график мне нарисуют, а как на нем тот же индикатор отрисовать — уже проблема. А если надо задать какую-нибудь эдакую линию, маркер, цвет — с этим надо разбираться. Но зачем тратить на это время, если есть весьма добротный модуль для построения графиков Matplotlib, с помощью него можно сделать любой график полиграфического качества, который у тебя в любое издание примут без вопросов, если, конечно, там и смысловая составляющая на должном уровне, само собой. В общем, качаем скрипт отсюда:
yadi.sk/d/fiMn-YUtrB6aEw
если не установлено, устанавливаем python 3.5+, к нему matplotlib и numpy, запускаем скрипт и умиляемся результату))

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

Механизм трейдинга книга, надо кому?

Цена 0 рублей, избавляюсь от лишнего объема. Если надо, отправлю за ваш счет в регионы из Москвы.

Как кухня обрабатывала фермера из глубинки

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

теги блога tranquility

....все тэги



2010-2020
UPDONW