Избранное трейдера Свин Копилкин (Дмитрий)
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
24 августа СД РУСАЛ рассмотрит возможность выплаты промежуточных дивидендов
В рамках внеочередного собрания акционеров компании «Роснефть» будет рассмотрен вопрос размера дивидендов по результатам первого полугодия 2017 года, а также вопросы срока и формы выплат. Решение о включении данных вопросов в повестку дня собрания акционеров было принято советом директоров «Роснефти», следует из сообщения компании.
В решении отмечается, что внеочередное собрание акционеров пройдет 29 сентября 2017 года в Санкт-Петербурге.
Добрый день!
Данный пост не является попыткой кого-либо унизить, оскорбить или т.п., данный пост не стоит рассматривать как какую-то догму, это просто мое, личное высказывание в эпоху популизма Волнового Принципа Эллиотта (EWP), и желания объять необъятное, на основе своего собственного, многолетнего опыта. Он нацелен на попытку раскрыть глаза начинающих на реальность и неимоверную сложность данного принципа.
Основных причин, порождающих ошибки новичков, очень много, они в принципе все основные, и выделять каждую нет смысла, так как рано или поздно, желающий познать EWP, сможет понять их сам. Но, на мой взгляд, одной из самых распространенных причин, является простая человеческая лень, то есть в пылу жажды объять необъятное, человек за деревом, может не увидеть леса, и именно по причине того, что лень не позволит ему, возможно неосознанно, построить базу для изучения EWP. То есть основная часть новичков считают, что прочитав пару уроков, в переводе таких шарлатанов как Возный, Борисенко и т.п., они стали, чуть ли не богами EWP.
Судя по набранным лайкам мне надо меньше писать про опционы, а больше про простую торговлю. Что я и хочу сделать в рамках опционной теории. Так вот о простой торговле. Глядя на статистику и содержание топиков на СЛ меня мучает постоянный вопрос. Как люди пытаются выработать в себе навыки трейдера думая, что это навыки сверх человека. Дисциплина, психотерапевт, тильт, прогнозирование по звездам и линиям горизонта, экстрасенсорика. В то же время я знаю и понимаю, что биржа это индустрия, такой глобальный завод, куда принимают людей с улицы и по объявлениям. То есть, где то в Пенсильвании в пенсионный фонд приходит молодой чертила трейдер, который закончил профтехучилище по специальности трейдер-махинатор и начинает работать. И с учетом того что он не дисциплинированный, психованный, очень азартный и суеверный человек и даже не может предсказать когда будет обед, у него все получается и экви фонда растет, а простые бабушки получают пенсию. По каким таким торговым системам он работает? Более того, если он заболеет или забухает, то на его место с легкость можно посадить Аню Маркидонову и ничего. Давайте рассмотрим их методы торговли.
Все, кого я знаю, торгуют опционами, только этого не знают. Поэтому мы о них, об опционах, не будем. Просто я давно хотел это сделать, но что то мешало. Не было подходящего случая, какой ни будь конференции, где я, нате вам всем и все в аутеJ)). Но, начали выплывать фрагменты, по которым можно было построить догадки. Первым в этом деле был Фома Фомич http://smart-lab.ru/blog/372475.php Но то ли ты не дочитал, то ли там этого не было, то ли английский не твой родной. Короче направление было правильное. Но тут прямо из города Лондона приехал Кирилл Ильинский и в каком то Питерском подвале собрал всех всех трейдеров и все им выложил https://www.lektorium.tv/lecture/29577 Стало понятно, что я опоздал и что бы как то забить место на поляне выкладываю.
Это самая тупая стратегия, которую я знаю. Вернее, эта стратегия для самых тупых, которых я знал. Если в инвесткомпанию приходил молодой трейдер с дипломом пединститута по специальности физрук, но с рекомендацией папы, который являлся одновременно инвестором, то его сажали работать именно по этой стратегии. Думаю, ни чего не изменилось. Самый продвинутый брокер IB в USR;)), вмонтировал эту стратегию в свой терминал TWS. И в каждом приличном колледже ее преподают на уроках информатики. Возможно поэтому ее, стратегию, ни кто и не знает. Но к делу.
Итак, вы все давно знаете, что на смартлабе есть график нефти Brent онлайн. Там же есть данные по запасам нефти США. Тот график, который есть у нас, позволяет делать много чего, но не всё. Я тут попросил парней из графиков Tradingview допилить до ума индикатор «percent change», который показывает % изменение каждой свечи на графике. Раньше я всегда использовал такой индикатор в терминалах Bloomberg и Reuters Eikon, и больше такого не было нигде. Индикатор показывает изменение свечи, о чем я уже рассказывал.
Но теперь этот индикатор можно применять не только к одному бару, но и к любому количеству последовательных баров. Например, за последние два дня нефть сильно упала. Я выбираю этот индикатор на дневном графике нефти и ставлю параметр «Look back»=2 дня. Получаем такой график:
Что я вижу по индикатору? Что за 2 дня нефть упала на 5,7%. Последний раз такое сильное падение было в начале ноября и в начале сентября. То есть примерно раз в 2 месяца, ну и дальше смотрю, как ситуация развивалась в прошлом после таких падений... Я тут выделил два случая в прошлом для наглядности, — другие вы можете самостоятельно посмотреть на сайте tradingview.
Как найти этот индюк? А вот как: