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

по

Скрипт для скачивания полных журналов заявок (ордерлогов) по фьючерсам с ftp.zerich.com

    • 29 июня 2020, 17:01
    • |
    • Artem
  • Еще
Всем привет!

Хочу поделиться python скриптом, который позволяет скопом скачивать данные ордерлогов фьючерсов с сервера Цериха ftp://ftp.zerich.com/. Формат данных .qsh, подробнее о том как его парсить можно почитать в спецификации вот тут https://www.qscalp.ru/download.

В скрипте 5 параметров (все кавычки простые двойные ", а не то, как их отображает смартлаб):
  • download_path — путь, куда вы хотите сохранить данные (например, «C:/data/orderlog/» или же "./" для сохранения в папку, откуда вы запускаете скрипт)
  • sym_list — Список символов для скачки (например, [«BR», «RTS-6.20»]). Если здесь указать только префикс инструмента (например, RTS), то на каждую дату скачается только файл с максимальным размером. Обычно он соответствует фьючерсу с ближайшей экспирацией.
  • unzip — True, если нужно разархивировать данные после скачки (зависит от того, как вы будете дальше работать с данными)
  • date_start и date_end (в формате «2020-06-01») — даты интересующего вас интервала включительно.

Если данные за конкретную дату и инструмент уже присутсвуют в папке, заново они скачаны не будут.

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

QLua скринер в 10 строк кода. Или "за базар отвечаю".

Всем привет!
Никогда не давайте обещаний которые не можете выполнить. Во-первых — это портит карму. Во-вторых, за сказанное нужно отвечать. В далеких (не очень) 90-х, если человек не держал слова, к нему приезжали «санитары» с электроприборами, типа дрель, паяльник, утюг — все перечислять не буду, чтобы не пугать читателя, т.к. пост многие найдут полезным не только для торговли, но и для написания собственного кода. Так вот, пообещал я человеку, дело было так:
QLua скринер в 10 строк кода. Или "за базар отвечаю".
Мой родной язык, помимо русского, Common Lisp. С недавних пор породнился с Питоном. А тут луа, да еще с Квиком вперемешку. Не фиг было обещания давать. Больше времени потратил на изучение структур данных луа и особенностей QLua. Сам код был написан за пару часов, как увидите ниже — чё там писать-то...
Как я обещал — пользователь Смартлаба Weddy получает код бесплатно, как и остальные участники тусовки. Ну а я, в качестве вознаграждения получаю приобретенный опыт. Проверял сегодня — работает с любым Квиком (6, 7, 8). Конечно дополнительных «наворотов» я не делал, как в идеале желал Weddy, но это уже детали.

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

Конкурс отчетов на смартлабе

Всем привет! У нас есть форум акций и я мечтаю, чтобы серьезные фундаментальные инвесторы обсуждали акции на нашем форуме. Поэтому на смартлабе действует конкурс лучших комментариев к отчетам. Сезон за 1 квартал уже почти закончился, но если выходят какие-то новые отчеты МСФО, правила конкурса действуют! Мы наградим всех, кто оставил хотя бы 1 комментарий к отчету, если других комментариев не было (награждаем за лучший комментарий дня к отчету).

Хочу порадовать наших трех наиболее активных комментаторов. 
Вместо приза 500 рублей за лучший отчет дня, мы наградим их 1000 рублей за каждый победивший комментарий.
1 место таким образом забрал за последний месяц 13 тыс рублей
2 место 9 тыс рублей.
3 место 8 тыс рублей.
Остальным,… а остальных не так-то и много. Им тоже по 1000 дадим!

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

напомню, что для вашего удобства мы сделали форум в виде чата и приложения:

https://smart-lab.ru/chat/

https://play.google.com/store/apps/details?id=ru.smartlab.chat

Python. Делаем тестер стратегий и... зарабатываем на случайном блуждании.

    • 19 июня 2020, 16:32
    • |
    • 3Qu
  • Еще

Если вам кто нибудь скажет, что на случайном блуждании (СБ) нельзя зарабатывать, бросьте в него камень. Как говорил Паниковский — это жалкие ничтожные люди. На СБ можно зарабатывать с результатами не хуже, чем на реальном рынке. У СБ, по сравнению с реальным рынком, только один недостаток — за игры с СБ никто деньги платить не будет.
А если бы платили? Никто бы ничего не заметил. По прежнему 95% СБ-трейдеров сливало бы депозиты, а 5% регулярно выигрывало и считало бы себя Гуру. По прежнему на графики наносились бы каббалистические знаки и индикаторы, угадывались бы направления движения, каналы, и линии поддержки/сопротивления. Все так же начинающие трейдеры искали Учителя для обучения, а аналитики предсказывали будущее. И, ровным счетом, абсолютно ничего бы не поменялось. Может только АГ заметил бы подвох, но тоже не сразу, а только через несколько месяцев, а, может, и через год-другой. Но, легко сделать, чтобы и АГ остался в неведении.)

Однако, прежде чем играть на СБ, нам необходима стратегия и тестер. Ими мы и займемся.
Для начала стратегия: нам нужны три функции
— одна для пошагового слежения за рыночными котировками и определения момента входа в сделку — DealEntryAnalysis(i) и пусть на ее выходе будет: 0-если сделки нет, 1 — необходим вход в лонг, и -1 — необходим вход в шорт. i — номер отсчета массива котировок.
— вторая для сопровождения сделки лонг — DealControlL(i), отвечающая за контроль и закрытие сделки.
— и третья, для сопровождения сделки шорт — DealControlS(i).
Теперь у нас все готово для разработки тестера стратегий, а это всего лишь цикл while() последовательно перебирающий котировки.
Вот наша стратегия уже в тестере:

while i < Ie:
    deal_type = DealEntryAnalysis(i)
    if deal_type == 1:
        j, rep = DealControlL(i)
        deals_report.append(rep)
        i = j+1
        continue
    elif deal_type == -1:
        j, rep = DealControlS(i)
        deals_report.append(rep)
        i = j+1
        continue
    i = i+1


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

Уроки истории. Маленькая эпохальная книга

Уроки истории. Маленькая эпохальная книга
Вторая книга, которую я читаю книгу по совету Рэя Далио. Его цитата кстати есть на задней обложке книги. Как ни странно, у книги немало общего с книгой "Смысл существования человека", которую я прочел первой по совету Далио.

Авторы книги — муж и жена 40 лет писали «Историю цивилизации» в 11 томах, за что получили Пулицеровскую премию. Эта книга — выжимка из 13 глав-эссе, с короткими но ёмкими выводами. Это серьёзная книга. Хороший, богатый слог у автора. Книга написана в 1968 году. Автор книги умер аж 40 лет назад.

Книга мне понравилась, потому что она заставляет широко взглянуть на историю и контекст. Эта книга заставляет THINK BIG. До прочтения я думал, что основная идея книги — это то, что история постоянно повторяется. Отчасти так и есть, потому что природа людей меняется очень медленно. Я бы сказал, что книга — это некий философский очерк про историю как таковую.

Эту книгу, я считаю, должен обязательно прочесть любой политик. Даже лично у меня книга вызывала вопрос:
❓как построить государство и общество, где можно сделать счастливым низший класс? 

Один выводов, которые я себе написал на обложке:
👉мы еще не осознали, но в историческом контексте интернетизация и смартфонизация населения должна привести к одним из самых существенных нравственных сдвигов с истории человечества.


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

Газпром и газификация России

👉Текущая газификация = 70%. Выросла менее чем на 10% за 10 лет.
👉В 20 субъектах России газификация ниже 20%.
👉В 7 регионах газификация = 0.
👉Газпром берет с крестьян за подключение юнита 200-300 тысяч рублей
👉Газпром потратил на газификацию 37 млрд руб в 2018, это 2% капзатрат😁

Что произошло?
👉Путин смотрел-смотрел на это 15 лет, ему вдруг надоело, сказал резко ускорить газификацию за счет Газпрома. С «крестьян» денег не брать. Довести до 100% до конца 2020-х.
👉Общие затраты оцениваются в 1,7-2 трлн руб…

Раздаю КАЧАЙТЕ!!! HAMAHA. Бесплатно

[HAMAHA] Энциклопедия дна (2019)
Описание:

КАК ЛОВИТЬ ДНО НА МЕДВЕЖЬЕМ РЫНКЕ И КАКОЙ РЫНОК НАС ЖДЕТ НА ПУТИ К НОВЫМ ВЕРШИНАМ У BTC.
Чтобы создать этот учебный материал, я изучил графики всех 7500 акций на бирже NYSE NASDAQ за последние 10 лет.

Уже через месяц, после глубокого изучения моего материала, вы будете с закрытыми глазами, определять дно на любом рынке (криптовалюты/акции), а затем точку для выхода на вершине или близко к ней.

+ Бонус: 3 месяца ежедневных видеообзоров и сигналов по рынку криптовалют от Автора.


Программа курса:
Раздаю КАЧАЙТЕ!!! HAMAHA. Бесплатно

Уже через месяц, после глубокого изучения моего материала, вы будете с закрытыми глазами, определять дно на любом рынке (криптовалюты/акции), а затем точку для выхода на вершине или близко к ней.
Раздаю КАЧАЙТЕ!!! HAMAHA. Бесплатно

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

Как дивиденды повлияют на рубль? Разбор компаний: Сбербанк, Аэрофлот, Алроса, ФСК ЕЭС, Русгидро

 
❤️Донатнуть: www.donationalerts.com/r/timmartynov
🔈Звуковая дорожка: yadi.sk/d/JSkOCT1_Dx_ByQ
Ⓜ️Мой телеграм: ttttt.me/martynovtim

00:00 оглавление и новости каратина
07:00 что сказал Олег Клоченок?
10:00 что сказал Максим Орловский?
12:50 дивиденды за 2019 год
19:50 ситуация с аварией на ТЭЦ-3 и ГМК Норникель
22:30 отчет Сбербанка за май
27:00 Аэрофлот
36:00 Россети
42:00 ФСК ЕЭС
45:00 Алроса
54:00 Citi ждет нового экономического цикла
56:20 Русгидро
1:01:00 Про мою книгу
1:02:50 Про судостроительные компании
1:05:00 Ответил на пару вопросов

Алготрейдинг. Получение данных свечей средствами QLUA и запись их в .CSV

Алготрейдинг. Получение данных свечей средствами QLUA

Очень часто бывает необходимо получить данные последних N-свечей различного интервала инструмента торговли. К сожалению, в справке QLUA нет достаточно полных примеров кода работы получения данных. В скрипте приведён пример получения данных интервала М1 инструмента BRN0 в формате <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>. Данные пишутся в CSV формат.
Почему просто не выводить по DDE график и обрабатывать его в чём-нибудь более приятном? Есть простые вещи, для которых нет необходимости в таких конструкциях (проанализировать резкое изменение объема, найти определенную формацию/комбинацию свечей, а затем вывести в quik сообщение).
-------------------------------------------------------------------------------------------------------
--- Функция получения результатов свечей в .CSV в виде:
--- <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>
--- BRN0	1	20200605	200100	42.15	42.16	42.1	42.1	2150
-------------------------------------------------------------------------------------------------------
is_run=true

-- Параметры
tInstr="BRN0" --код инструмента/бумаги
classcode="SPBFUT" --код класса инструмента/бумаги, если нужен фондовый рынок - вводить TQBR вместо SPBFUT
iNterval=INTERVAL_M1 --таймфрейм
-- доступные таймфреймы указаны в справке Quik (qlua.chm в папке с quik) по поиску CreateDataSource
-- пример INTERVAL_H1
corrTime=3 --Время МСК. C сервера время приходит без корректировки.
pFile="w:\\temp" --путь, где будет создаваться файл
cBars=10 --сколько свечей надо вывести
--настройка параметров

function OnInit()
	out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	is_run=(out_file~=nil)
	ds=CreateDataSource(classcode, tInstr, iNterval ) --создаем источник данных
	ds:SetUpdateCallback(NewChartData) --обновление последних данных
end

function strText(int)
	local m=tostring(int)
	local mLen=string.len(int)

	if mLen==1 then
		Output="0" .. tostring(m)
	else Output=m
	end
	return Output
end

function main()
	while is_run do
	local Size=ds:Size() --Получение количества всех свечей в источнике данных

	if cBars>Size then
		cBars=Size-1
	end

	for i=Size-cBars, Size, 1 do
		local O=ds:O(i) -- Значение цена открытия свечи
		local H=ds:H(i) -- Значение High для свечи
		local L=ds:L(i) -- Значение Low для свечи
		local C=ds:C(i) -- Значение Close для свечи
		local V=ds:V(i) -- Значение Volume для свечи
		local T=ds:T(i) -- Значение Time для свечи

		sTime=os.time(T)
		datetime=os.date("!*t",sTime)

		--вывод в файл
		out_file:write(tInstr..";"..tostring(iNterval)..";"..tostring(datetime.year)..tostring(strText(datetime.month))..tostring(strText(datetime.day))..";"..tostring(strText(datetime.hour + corrTime))..tostring(strText(datetime.min))..tostring(strText(datetime.sec))..";"..tostring(O)..";"..tostring(H)..";"..tostring(L)..";"..tostring©..";"..tostring(V).."\n")
		out_file:flush() --запись данных
	end
		out_file:close()
		sleep(1000)   -- приостановка на 1 секунду
		out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	end
end
  • обсудить на форуме:
  • Quik Lua

США. Стата по безработице. Еще +1.87 млн.

Сегодня вышла статистика по безработице.
США. Стата по безработице. Еще +1.87 млн.
1.  За весь период «пандемии» в США (11 недель) уничтожено 42.6 миллионов рабочих мест.
2.  Это составляет 32.8% треть  от количества американцев работавших по полной ставке в феврале.
3. За весь 10-летний период «восстановления» экономики США после краха 2008 года было создано 22.13 миллионов рабочих мест, то есть почти в два раза меньше, чем уничтожено сейчас.
4. Вновь выросли выплаты пособий, говорит о том, что если сперва кто-то смог устроиться хотя бы на временную подработку теперь и таких вакансий не хватает.
США. Стата по безработице. Еще +1.87 млн.

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

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