Избранное трейдера Astronomer
В пятницу, 13 января 2023 года, Росстат опубликовал данные по декабрьской инфляции, из которых стало ясно, что динамика цен по-прежнему продолжает снижаться, причем уже восьмой месяц подряд.
С одной стороны снижение уровня инфляции — это, конечно, хорошо. По крайне мере для большинства рядовых граждан.
Однако если посмотреть на текущую ситуацию с точки зрения экономической теории - сразу возникает ряд несоответствии, которые и порождают, в свою очередь, множество вопросов. Причем вопросов — без ответов.
Но, давайте, все по порядку. Итак, начну с денежного агрегата M2.
ДЕНЕЖНЫЙ АГРЕГАТ М2
Сборник стратегий состоящий из 11 трендовых роботов которые я сам торгую на Крипте прямо сейчас.
За 2022 год: + 50% прибыли в реале.
Максимальная просадка в районе 15%. Происходит прямо сейчас, на 4вёртом месяце боковика.
В видео и статьях ниже Вы найдёте:
1) Логика работы робота.
2) Индикатор на котором робот написан.
3) Результаты тестирования робота в виде: Инструмент для тестов, график эквити
1 ZZ Channel smart-lab.ru/blog/795395.php
2 Карта стратегий здорового алготрейдера smart-lab.ru/blog/796883.php
3 Revers Adaptive Price Channel smart-lab.ru/blog/797301.php
4 Parabolic Envelop smart-lab.ru/blog/797708.php
5 Parabolic Bollinger smart-lab.ru/blog/801691.php
6 Parabolic SAR smart-lab.ru/blog/802737.php
7 Break Linear Regression. smart-lab.ru/blog/813059.php
8 Линейнай регрессия 2. Модификации smart-lab.ru/blog/813690.php
9 Break ATR. smart-lab.ru/blog/814655.php
10 Impulse SMA LR smart-lab.ru/blog/817127.php
11 Impulse HMA smart-lab.ru/blog/818538.php
12 Impulse Two Sma smart-lab.ru/blog/819763.php
13 охоться за слабым игроком smart-lab.ru/blog/839564.php
Привет, в этот раз будет общий пост про полезные источники в сети, где можно бесплатно взять данные, примеры кода и другие полезные вещи.
Более направленные подборки по идеям можно посмотреть здесь https://smart-lab.ru/blog/628709.php, а по книгам здесь https://smart-lab.ru/blog/681121.php
Биржевые данные:
Биржевые:
Всем привет!
Сегодняшнюю тему «Бэнкинг не-по-Русски» я бы хотел посвятить разбору потенциальных рисков и возможных проблем которые получает или может получить Россиянин, налоговый и валютный резидент РФ, открывая и активно торгуя через иностранного брокера.
У отдельной категории смартлабовчан почему-то сложилось, спорное на мой взгляд, мнение, что брокерский счет нужно открывать исключительно за рубежом, а в России все плохо/все брокеры отстой/все кухни и банки всех кинут. Ну и так далее в зависимости от глубины «Россиянофобства».
Давайте же объективно разберем плюсы и минусы использования зарубежного брокерского счета.
Начнем с того, что для того чтоб его открыть нужно пройти нехилый такой компленс у брокера, заполнить кучу форм и анкет, указав там в т.ч. и источники доходов и место работы (ниже поясню в чем тут подвох)
Допустим прошли Вы этот этап успешно, зачет — и прислали Вам кипу бумаг на подпись и реквизиты для пополнения своего нового брокерского счета.
тут маленькая ремарка — существуют два принципиально разных типа представления таких реквизитов — один в виде отдельного IBAN
Открывая депозит в дилинговом центре в долларах США или в другой валюте мало кто знает, что в 2020 году будет пересчитывать весь свой доход или убытки в рубли за каждый день.
Вот Вам мой НАРРАТИВ ПО ДАТАМ — ПАМЯТКА по этому случаю! Сохраняйте, точно пригодится:)
Перевел тут (в автоматическом режиме) питонячий китайский фреймворк для алготрейдинга.
Что он может:
1) Тестить и пускать в лайв страты (а-ля plug and play)
2) Есть коннекторы к крипте, каким-то китайским брокерам, IB, Alpaca
3) UI на pyQT5
4) Качать/хранить котировки
в общем все что надо для базового (и не только) алготрейдинга. все это бесплатно и под MIT лицензией
Перевод пока так себе, но лучше чем китайский оригинал. Теперь хоть что-то можно понять в интерфейсе. Запустил пару предустановленных страт, загрузил данные, написал простенькую стратегию — все работает, багов не нашел пока. Постепенно улучшаю перевод в ручном режиме.
vnpy — лучшее из python open source для трейдинга что я видел. Понятная и логичная структура, ожидаемая архитектура, хорошо написанный UI. Часть логики коннекторов написана на C++ (поэтому гитхаб и говорит что оно С++, но это не так)
--[[ параметры: Procent - процент зигзага --]] Settings={ Name="ZIGZAGPROF", Procent=1, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 0) }, { Name = "cur2", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 255) } } } function Init() y1 = nil y2 = nil x1 = 1 x2 = 1 return 1 end function OnCalculate(index) de = Settings.Procent delt = 0.01 vl = C(index) if index == 1 then y1 = vl y2 = vl else if C(index) > y1*(1+de/100) and y1 < y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) > y1 and C(index) > y2 then x1 = index y1 = C(index) end if C(index) < y1*(1-de/100) and y1 > y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) < y1 and C(index) < y2 then x1 = index y1 = C(index) end end if x1 ~= index then curfrom = x1 curto = index else curfrom = x2 curto = x1 end --[[ if curto ~= curfrom and curfrom ~= nil and curto ~= nil then if C(curto) ~= nil and C(curfrom) ~= nil then k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, index do curv = i*k + C(curto) - curto*k SetValue(i, 1, curv) end end end --]] lev = nil if x1 ~= x2 then k = (C(x1)- C(x2))/(x1- x2) maxd = 0 for i = x2, x1 do lev = i*k + C(x1) - x1*k if C(x2) > C(x1) and lev <= H(i) then if maxd < H(i) - lev then maxd = H(i) - lev end --maxd = 0.5 end if C(x2) < C(x1) and lev >= L(i) then if maxd > L(i) - lev then maxd = L(i) - lev end --maxd = -0.5 end end lev = nil --[[if x1 < index and ( C(x2) > C(x1) and C(x1) < C(index) or C(x2) < C(x1) and C(x1) > C(index) ) then --]] lev = index*k + C(x1) - x1*k + maxd --end --[[ map = 10 lev = 0 if index-map+1 > 0 then for i = index-map+1, index do lev = lev + C(i) end lev = lev/map ma = lev end map = 30 lev2 = 0 if index-map+1 > 0 then for i = index-map+1, index do lev2 = lev2 + C(i) end lev2 = lev2/map ma2 = lev2 end if C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev and C(index) - C(x1) > C(index)*delt or C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev2 then lev = C(x1)--*(1-delt) prev = lev else if C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev and C(x1) - C(index) > C(index)*delt or C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev2 then lev = C(x1)--*(1+delt) prev = lev else lev = lev2 end end if C(x1) > C(x2) and ( lev < C(index) or prev == C(x2) ) then lev = C(x2)--*(1+delt) prev = lev end if C(x1) < C(x2) and ( lev > C(index) or prev == C(x2) ) then lev = C(x2)--*(1-delt) prev = lev end if C(x1) < C(x2) and ( lev < C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end if C(x1) > C(x2) and ( lev > C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end --]] end return lev end