Избранное трейдера Vitastic
Алгоритм данной торговли был описан уважаемым Гном (https://smart-lab.ru/blog/499606.php) и, поскольку я являюсь любителем различных теорий Мартингейла и усреднения, написал робота по этой стратегии.
Подробно на алгоритме останавливаться не буду — читайте по ссылке у Гнома, там очень хорошо всё расписано.
Здесь — немного измененная реализация. Отличие в том, что позиции открываются не через равные промежутки цены, а чуть шире: еще должно прийти хотя бы минимальное подтверждение, что дальше не полетит (в данном случае использован вход обратно в канал Боллинджера, но это несложно поменять на что угодно).
Если полетит против нас вертикально, мы хотя бы не будет бессмысленно открывать кучу сделок на мгновенной длинной вертикальной палке.
Итак, представляю: «Судак-Тудак» Универсальный (одновременно для акций и фьючерсов).

Если хотите добавить инструменты (а они добавляются в массив aTickerList), не забудьте вписать их данные в массивы:
DTI Algorithmic — финансовый советник на платформе Interactive Brokers (IB). За 10 лет на рынке мы успели поработать со многими российскими и иностранными брокерами, и в 2013 г. осознанно сделали выбор в пользу IB.
#справка Interactive Brokers LLC — американский онлайн—брокер. Материнская компания IB работает с 1978 года, ее номер в Комиссии по ценным бумагам и биржам США (SEC) — 0001381197. Данные о компании:

Settings={
Name="STATDIVPROF",
period=30,
showprof=0,
line=
{
{
Name="curve",
Color=RGB(0,0,255),
Type=TYPE_LINE,
Width=1
},
{
Name="line",
Color=RGB(255,0,0),
Type=TYPE_LINE,
Width=1
}
}
}
function Init()
prof=0
bp=0
prevval=0
return 2
end
function OnCalculate(index)
local sum1=0
local sum2=0
local j=0
local dprof=0
if index < Settings.period then
return nil, nil
else
for i=index-Settings.period+1, index do
j = j + 1
if C(i) > O(i) then
sum1 = sum1 + (C(i) - O(i))*V(i)*j
sum2 = sum2 + (C(i) - O(i))*V(i)*j
else
sum2 = sum2 + (O(i) - C(i))*V(i)*j
end
end
sum1 = sum1/sum2
end
if index > Settings.period+1 then
if prevval < 0.5 and sum1 >= 0.5 then
bp=C(index)
end
if prevval > 0.5 and sum1 <= 0.5 then
if bp ~= 0 then
prof=prof+C(index)-bp
bp=0
end
end
if bp ~= 0 then
dprof = C(index) - bp
else
dprof = 0
end
end
prevval=sum1
if Settings.showprof == 0 then
return sum1, 0.5
end
if Settings.showprof == 1 then
return prof+dprof, nil
end
end#практика
На днях опубликовал пост о том, что можно купить ряд облигаций в режиме первичного размещения, а затем, в т.ч. день в день, продать их дороже на основных (вторичных) торгах. И получил многочисленные и ожидаемы замечания, что написано красиво, только купить на облигации на первичных торгах не получается.
Поэтому привожу т.н. скрипты, пользуясь которыми Вы можете купить облигации в режиме первичного размещения. Как через голосового брокера, так в ряде случаев, и через терминал.

На данный момент без явного торможения принимают заявки на первичном рынке:
• ВТБ
• БКС
• Сбербанк
• ЦЕРИХ
В принципе, принимают заявки: Открытие, ФИНАМ, ПСБ, Ай Ти Ай Капитал. Наверно, это не весь список.
Пробуйте!) Экономьте там, где это позволяют возможности и доступы.
@AndreyHohrin

Settings=
{
Name = "Zigzag", -- название индикатора
delta=3, -- параметр индикатора
line=
{
{
Name = "zigzagline",
Type =TYPE_LINE,
Width = 1,
Color = RGB(120,90, 140)
}
}
}
function Init()
vMin = 0
vMax = 0
vMinindex = 0
vMaxindex = 0
voldMinindex = 0
voldMaxindex = 0
return 1
end
function OnCalculate(index)
if index == 1 then
vMin = C(index)
vMax = C(index)
vMinindex = index
vMaxindex = index
voldMinindex = index
voldMaxindex = index
v = C(index)
else
if voldMaxindex >= voldMinindex then
if C(index) > (1 + Settings.delta/100)*vMin then
vMin = C(index)
vMax = C(index)
vMaxindex = index
voldMinindex = vMinindex
vFrom = vMinindex
else
if vMin > C(index) then
vMin = C(index)
vMinindex = index
vFrom = voldMaxindex
else
vFrom = vMinindex
end
end
else
if voldMaxindex <= voldMinindex then
if C(index) < (1 - Settings.delta/100)*vMax then
vMax = C(index)
vMin = C(index)
vMinindex = index
voldMaxindex = vMaxindex
vFrom = vMaxindex
else
if vMax < C(index) then
vMax = C(index)
vMaxindex = index
vFrom = voldMinindex
else
vFrom = vMaxindex
end
end
end
end
for i = vFrom, index do
k = (C(index)- C(vFrom))/(index- vFrom);
v = i*k + C(index) - index*k
SetValue(i, 1, v)
end
end
end
| Названия строк | Колич | Profit % | ± |
| >0.3 | 359 | 0,95 | 0,61 |
| <0,3 |
В условиях роста санкционных рисков многие инвесторы в российские акции ищут защитные активы, которые были бы не так сильно подвержены зависимости от внешних геополитических факторов.
Один из возможных вариантов защиты от подобных событий – составление консервативного портфеля из дивидендных бумаг. Высокая дивидендная доходность позволяет частично нивелировать негативные шоки. Статистически подобные портфели являются наиболее надежным инструментом на рынке акций во время просадок, поскольку привлекательная доходность не дает бумагам сильно просесть.
Ранее мы опубликовали обзор с прогнозами дивидендов на 2019 г. по акциям российского рынка. Данные расчеты мы взяли за основу нашего дивидендного портфеля. В итоге мы отобрали 10 наиболее привлекательных бумаг из разных отраслей, обладающих различной ликвидностью, что позволяет максимально диверсифицировать риски.
В портфель вошли бумаги следующих эмитентов: Сбербанк-ап, Татнефть-ап, Северсталь, АЛРОСА, ФСК ЕЭС, Сургутнефтегаз-ап, Башнефть-ап, Детский мир, ЛСР, Мечел-ап.

