Избранное трейдера 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