Избранное трейдера Дмитрий Думин



IsRun = true
class_code="TQBR"
function main()
-- Получает доступный id для создания
t_id = AllocTable()
-- добавить столбцы
AddColumn(t_id, 1, "Бумага", true, QTABLE_STRING_TYPE, 20)
AddColumn(t_id, 2, "Кол-во", true, QTABLE_INT_TYPE, 7)
AddColumn(t_id, 3, "Цена покупки", true, QTABLE_DOUBLE_TYPE, 14)
AddColumn(t_id, 4, "Цена текущая", true, QTABLE_DOUBLE_TYPE, 14)
AddColumn(t_id, 5, "Прибыль, р", true, QTABLE_DOUBLE_TYPE, 14)
AddColumn(t_id, 6, "Прибыль, %", true, QTABLE_DOUBLE_TYPE, 14)
t = CreateWindow(t_id)
for iRow=1, getNumberOf("depo_limits")-1, 1 do
rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"
qtyBoughtLots = tonumber(rowInPortfolioTable.currentbal)
limitKind = rowInPortfolioTable.limit_kind
if qtyBoughtLots>0 and limitKind<1 then
InsertRow(t_id, iRow)-- добавить новую строку вниз таблицы
end
end
local rows, columns = GetTableSize (t_id)
InsertRow(t_id, rows+1) -- добавить новую строку вниз таблицы для "Итого"
SetWindowCaption(t_id, "Портфель: прибыли и убытки © ramirzaev@mail.ru")
-- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы
while IsRun do
if IsWindowClosed(t_id)==true then
IsRun=false
end
local currentPrice=0
local qtyBoughtLots=0
local profitAbs = 0
local profitPerc = 0
local currentSecCode= ""
local fullNameOfInstrument = ""
local limitKind = 0
local rowInPortfolioTable = {} -- строка из таблицы "Лимиты по бумагам"
local tableInstrument = {} -- данные "Таблицы текущих торгов"
local iRowInOutTable = 1
local totalInvest = 0
local totalPortfolio = 0
local totalProfit = 0
local totalPercent = 0
for iRow=0, getNumberOf("depo_limits")-1, 1 do
rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"
qtyBoughtLots = tonumber(rowInPortfolioTable.currentbal)
limitKind = rowInPortfolioTable.limit_kind
if qtyBoughtLots>0 and limitKind<1 then -- если кол-во лотов >0 и тип лимита T0
currentSecCode = rowInPortfolioTable.sec_code
fullNameOfInstrument = tostring(getParamEx(class_code, currentSecCode, "SHORTNAME").param_image or "0") --"LONGNAME"
avgPrice = tonumber(rowInPortfolioTable.awg_position_price)
currentPrice = GetAskPrice(currentSecCode)
profitAbs = (currentPrice-avgPrice)*qtyBoughtLots
profitPerc = 100*currentPrice/avgPrice - 100
totalInvest = totalInvest + avgPrice*qtyBoughtLots
totalPortfolio = totalPortfolio + currentPrice*qtyBoughtLots
SetCell(t_id, iRowInOutTable, 1, fullNameOfInstrument) -- "Бумага"
SetCell(t_id, iRowInOutTable, 2, tostring(qtyBoughtLots)) -- "Кол-во"RemoveZero(tostring(qtyBoughtLots)))
SetCell(t_id, iRowInOutTable, 3, tostring( math_round(avgPrice, 3) )) -- tostring(avgPrice)) -- "Цена покупки"
SetCell(t_id, iRowInOutTable, 4, RemoveZero(tostring(currentPrice))) -- "Цена текущая"
SetCell(t_id, iRowInOutTable, 5, tostring( math_round( profitAbs, 0)) ) -- "Прибыль, р"
SetCell(t_id, iRowInOutTable, 6, tostring(math_round(profitPerc, 1)) .."%") -- "Прибыль, %"
if profitPerc >5 then -- окрашиваем
ColourRowInGreen(iRowInOutTable)
elseif profitPerc<-5 then
ColourRowInRed(iRowInOutTable)
else
ColourRowInYellow(iRowInOutTable)
end
iRowInOutTable = iRowInOutTable+1
end
end
totalProfit = totalPortfolio - totalInvest
totalPercent = 100*totalProfit/totalInvest
SetCell(t_id, iRowInOutTable, 1, "Итого")
SetCell(t_id, iRowInOutTable, 3, tostring( math_round(totalInvest, 0) ))
SetCell(t_id, iRowInOutTable, 4, tostring( math_round(totalPortfolio, 0)))
SetCell(t_id, iRowInOutTable, 5, tostring( math_round( totalProfit, 0)) )
SetCell(t_id, iRowInOutTable, 6, tostring(math_round(totalPercent, 1)) .."%")
if profitPerc >5 then -- окрашиваем
ColourRowInGreen(iRowInOutTable)
elseif profitPerc<-5 then
ColourRowInRed(iRowInOutTable)
else
ColourRowInYellow(iRowInOutTable)
end
iRowInOutTable = iRowInOutTable+1
sleep(5000) -- пауза 5 сек.
end
--message("script table portfolio finished")
end
function ColourRowInRed(num_row)
SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,150,150), RGB(0,0,0), RGB(255,150,150), RGB(0,0,0))
end
function ColourRowInYellow(num_row)
SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,255,200), RGB(0,0,0), RGB(255,255,200), RGB(0,0,0))
end
function ColourRowInGreen(num_row)
SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(150,255,150), RGB(0,0,0), RGB(150,255,150), RGB(0,0,0))
end
function GetAskPrice(inp_Sec_Code )
local ask = tostring(getParamEx(class_code, inp_Sec_Code, "OFFER").param_value or 0)
return ask
end
-- Округляет число до указанной точности
function math_round (num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
-- удаление точки и нулей после нее
function RemoveZero(str)
while (string.sub(str,-1) == "0" and str ~= "0") do
str = string.sub(str,1,-2)
end
if (string.sub(str,-1) == ".") then
str = string.sub(str,1,-2)
end
return str
end
function OnStop()
DestroyTable(t_id)
IsRun = false
endПо итогам второго квартала 3326 компаний признали себя неплатежеспособными и покинули рынок. Это рекордное количество как минимум за 10 лет — по сравнению с прошлым годом показатель вырос на 5,4%, если сравнивать с 2012 годом — на треть, уровень 2007-го года при этом превышен втрое, следует изданных ЦМАКП.
Рост количества банкроств продолжается третий квартал подряд — ровно столько, сколько, согласно официальной статистике, находится в фазе восстановления российский ВВП.
Волна банкротств накрыла практически все сектора экономики и обошла стороной лишь сегмент финансовых услуг.
Прочитал книгу Мелани Свона «Блокчейн. Схема новой экономики». Если в двух словах, то блочейн это общая сверяемая база данных, хранящаяся на всех компьютерах, в том числе в главном реестре.
Иными словами это:
-децентрализованная сеть, цифровой распределенный журнал транзакций (записи), система реестров, место хранения документов;
-глобальная книга, в которой математическими средствами описаны основные правила хранения и распределения информации, исключая к ней доступ извне даже на уровне зарегистрированных клиентов или администраторов. При этом два владельца не могут одновременно изменить запись, а доказательством существования владельца являются пароли (закрытые и открытые) и предыдущие контракты с другими владельцами. Разрушить или изменить данные сети очень сложно, поскольку это требует использования гигантской вычислительной мощности, чтобы подменить информацию во всей сети в целом. Но гипотетически, если одновременно (внезапно) заразить все компьютеры вирусом, то мне кажется мощности должно хватить.
Блокчейны платформы можно применять в областях где требуется ваше присутствие для вашего волеизъявления (то есть это подпись, а вместе с ней могут быть ваши персональные данные и деньги), требуется оформление бумаг и доступность к посреднику:
— банковская деятельность;
-автоматизация продаж ценных бумаг;
-децентрализация такси (как uber) и поставщиков электроэнергии;
— оформление отчетности (бухгалтерской, статистической, налоговой);
— избавит многих нотариусов от нотариальной рутины, в том числе заверение сделок и доверенностей;
-голосование (по вопросам изменения законодательства и при выборе народных представителей) и опросы всех мастей;
— различные госуслуги, в том числе регистрация прав автора и права собственности на недвижимое имущество, а также оформление таможенных документов на товары;
-совершение повседневных покупок в интернете, в магазине и через банкомат, в том числе оплата ЖКХ услуг и продуктов питания;
-регистрация сделок, брака и практически всего, что требует письменного контракта, а также регистрация всего, что имеет ценность денежную или не денежную, например, репутацию (доверие к вам);
-поводом для исполнения с помощью программирования является какое-либо условие, прямо обозначенное в контракте (например, при достижении определенного возраста перечислить деньги в подарок).
-любой потребитель с помощью #blockchain технологии может самостоятельно проверить качество покупаемого товара путем отслеживания всей цепочки производства и поставок, чтобы убедиться в том, что покупка действительно соответствует указанным стандартам и кто первичный продавец (производитель), у которого можно купить дешевле всех.
Таким образом, при внедрении #блокчейн технологий у многих людей высвободиться масса времени, которое они смогут использовать для занятия творчеством и много времени можно будет посвящать познанию нового и вообще любым занятиям, например, философией как Диоген.

Пусть не самые знаменитые в мире, зато крупные для своих регионов: суммарная капитализация компаний на турецкой бирже превышает $200B* (371 компания), Мексиканской — $400B (140 компаний). Мексиканская биржа занимает второе место в Латинской Америке, уступая только бразильской Bovespa. Во всей Америке — пятое место.
Для начала добавили в терминал по 30-40 крупнейших компаний для каждой биржи. Это несколько банков — Turkiye Garanti Bankasi, Finansbank, Santander Mexico, телекоммуникационные гиганты Turk Telekomunikasyon, Turkcell Iletisim Hizmetleri, America Movil и др. Большинство из них — крупные компании не только по национальным, но и по мировым меркам — с капитализациями в миллиарды и десятки миллиардов долларов США.


Сегодня Минфин разместил очередные ОФЗ: ОФЗ 26222 (7 лет) и ОФЗ 26221 (16 лет) в объеме 25 млрд руб. и 15 млрд руб. соответственно. В последние дни наблюдается коррекция длинных доходностей вверх, так что высокий спрос на размещаемые гособлигации может сдержать этот рост. В свою очередь, доходности коротких госбондов снижаются из-за сохраняющего избытка ликвидности у банков. В итоге кривая доходности ОФЗ стремится к нормальному виду на текущей неделе, но данный процесс может замедлиться по итогам сегодняшних аукционов.
Новости о накаливании ситуации между КНДР и США сократили риск-аппетит многих инвесторов, отправляя их в «тихие гавани» типа американских бондов и золота. Эскалация конфликта может отпугнуть некоторых инвесторов от вложения в развивающиеся рынки. Такое развитие ситуации способно поднять «длинный» хвост кривой доходности ОФЗ, в котором сидит значительная часть нерезидентов. Накалённые отношения между КНДР и США могут потянуть курс