Избранное трейдера Ajax
TICER = "SBER"; CLASS_CODE = "TQBR"; FilePath = getScriptPath() .. "\\export.txt";--путь к файлу save = false;--сохранять данные в файл если false нет, true да f = nil; stopped = false; t_id = nil H = -1; M = -1; VSELL = 0; VBUY = 0; CDelta = 0; CountTrans = 0; PriceTrans = 0.0; t = ""; function OnInit() CountTrans = 0; if save then f = io.open(FilePath,"w"); end CreateTable(); end function main() while not stopped do if IsWindowClosed(t_id) then stopped = true; end sleep(10); end end function CreateTable() t_id = AllocTable(); AddColumn(t_id, 0, "Время", true, QTABLE_STRING_TYPE, 10); AddColumn(t_id, 1, "BUY", true, QTABLE_INT_TYPE, 10); AddColumn(t_id, 2, "SELL", true, QTABLE_INT_TYPE, 10); AddColumn(t_id, 3, "Дельта V", true, QTABLE_INT_TYPE, 10); AddColumn(t_id, 4, "AVG Цена", true, QTABLE_DOUBLE_TYPE, 15); AddColumn(t_id, 5, "Накопленная Дельта", true, QTABLE_INT_TYPE, 15); AddColumn(t_id, 6, "Кол-во сделок", true, QTABLE_DOUBLE_TYPE, 12); tab = CreateWindow(t_id); local NAME = tostring(getParamEx(CLASS_CODE,TICER,"LONGNAME").param_image); SetWindowCaption(t_id, TICER.." ("..NAME..") Баланс покупок/продаж"); SetTableNotificationCallback(t_id, EventCallBack); end function Calc(alltrade) if bit.test(alltrade.flags, 0) then VSELL = VSELL+alltrade.qty; --Продажа else VBUY = VBUY+alltrade.qty; end CountTrans = CountTrans+1; PriceTrans = PriceTrans+alltrade.price; end function OnAllTrade(alltrade) if alltrade.sec_code == TICER then local Rows, Col = GetTableSize(t_id); if H==-1 or H~= alltrade.datetime.hour then H = alltrade.datetime.hour; M = alltrade.datetime.min; t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min); end if M==alltrade.datetime.min then Calc(alltrade); else M=alltrade.datetime.min; InsertRow(t_id, -1); local Delta = VBUY-VSELL; Price = PriceTrans/CountTrans; SetCell(t_id, Rows, 6, tostring(CountTrans)); SetCell(t_id, Rows, 0, t); SetCell(t_id, Rows, 1, tostring(VBUY)); SetCell(t_id, Rows, 2, tostring(VSELL)); SetCell(t_id, Rows, 3, tostring(Delta)); local SEC_SCALE = tostring(getParamEx(CLASS_CODE,TICER,"SEC_SCALE").param_value); SEC_SCALE = string.format("%.0f",SEC_SCALE); SetCell(t_id, Rows, 4, string.format("%."..SEC_SCALE.."f", tostring(Price))); if Rows>=2 then local OldPrice = tonumber(GetCell(t_id,Rows-1,4).image); if OldPrice>Price then Red(Rows,4); else Green(Rows,4); end CDelta = tonumber(GetCell(t_id,Rows-1,5).image); CDelta = CDelta + Delta; else CDelta = Delta; end SetCell(t_id, Rows, 5, tostring(CDelta)); if Delta<0 then Red(Rows,3); end if Delta>0 then Green(Rows,3); end if CDelta<0 then Red(Rows,5); end if CDelta>0 then Green(Rows,5); end if save then local Str = tostring(H)..";"..tostring(M)..";"..tostring(VBUY)..";"..tostring(VSELL)..";" ..tostring(Delta)..";"..tostring(Price)..";"..tostring(CDelta); Str=Str.."\n"; SaveFile(Str); end t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min); VBUY = 0;VSELL = 0; PriceTrans = 0; CountTrans = 0; Calc(alltrade); end end --if alltrade.sec_code == TICER then end function SaveFile(Str) if f ~= nil then f:write(Str); f:flush(); end end function Red(row,col) SetColor(t_id, row, col, RGB(255,0,0), RGB(0,0,0), RGB(255,0,0), RGB(0,0,0)); end function Yellow(row,col) SetColor(t_id, row, col, RGB(240,240,0), RGB(0,0,0), RGB(240,240,0), RGB(0,0,0)); end function Green(row,col) SetColor(t_id, row, col, RGB(0,200,0), RGB(0,0,0), RGB(0,200,0), RGB(0,0,0)); end function EventCallBack(t_id, msg, par1, par2) if msg==QTABLE_CLOSE then OnStop(); end; end function OnStop(s) if f ~= nil then f:close(); end if t_id ~= nil then DestroyTable (t_id); end; stopped = true; end
Утвержден Перечень из 646 системообразующих организаций, которых будут спасать.
Из того, что опубликовано, в него вошли:
12 ПАО «НОВАТЭК»
16 ПАО «Газпром нефть»
17 ПАО «Газпром»
18 ПАО «ЛУКОЙЛ»
19 ПАО «Нефтяная компания „Роснефть“
20 ПАО „Сургутнефтегаз“
21 ПАО „Татнефть“ имени В.Д.Шашина
38 ПАО „Мечел“
45 АО „Московская областная энергосетевая компания“
62 ПАО „Интер Рао“
63 ПАО „Квадра-генерирующая компания“
64 ПАО „Россети“
65 ПАО „Русгидро“
67 ПАО „ТГК-14“
68 ПАО „Территориальная генерирующая компания №2“
69 ПАО „Энел Россия“
70 ПАО „Юнипро“
72 ПАО „Транснефть“
94 ПАО „Трансконтейнер“
100 ПАО „Авиакомпания “ЮТэйр»
102 ПАО «Аэрофлот»
130 ПАО «Новороссийский морской торговый порт»
PS
Банки и страховые спасает ЦБ
Это мой первый кризис в рынке, так что не судите строго, если рассуждения покажутся наивными. А лучше подскажите по-существу в чем ошибаюсь или что можно дополнить.
1. Золото не защитный актив.
Оно падало с рынком в 2018, 2020. Как пишут знающие люди золото является товаром, падает вместе с рынком, но быстрее восстанавливается. Кроме того, неправильный заход в золото как в 2011-2012 может заморозить ваш капитал на десятилетие!
2. Облигации РФ (в тч евро) не защитный актив.
Было неприятно узнать на своем счете, что такие облигации тоже падают. Интересно какой срок восстановления еврооблигаций к цене 110% от номинала? Выходит облигации могут заморозить капитал взамен на небольшую доходность. Увидел и плюс: имеется задержка в падении облигаций после рынка и есть время для выхода, порезав прибыль.
3. Дивидендные акции не защитный актив.
Оказывается идея «пересидеть в дивидендах» может закончится тем, что акция сложится еще в 2 раза, а дивиденды отменят. Вообще дивидендные акции выглядят как-то слабовато в сравнении с акциями роста. Рассчитываем получить ~10% годовых против >30% роста на бычьем рынке. А можем получить падение больше акций роста на медвежьем рынке.
4. Казначейские облигации США похожи на защитный актив.
Но видимо как и с золотом надо определять макроэкономическую точку входа, чтобы не попасть на циклическое снижение. Кроме того, доходность на графиках облигаций США не впечатляет.
5. Рынок РФ как хвост мировой экономики виляет вслед за собакой. А рубль — талон на нефть.
Вообщем я знал, что экономика РФ сырьевая. Просто кризис 2020 это наглядно опять показал. Курс рубля с 2016 по 2019 создавал иллюзию стабильности, т.к. рубль впервые укрепился и ходил в боковике. На самом деле, думаю курс рубля изначально не рыночный, поэтому у ЦБ есть зазор, чтобы двигать курс по определенному диапазону в чьих-то интересах.
6. Долгосрочный инвестор отличается от внутридневного спекулянта лишь временем удержания позиции.
Действительно, какой смысл не продавать акции при окончании бычьего рынка? Тогда прибыль останется бумажной, кроме того её можно потерять в кризис. Лучшие биржевики продают наверху, а покупают на дне. Среднесрочные и краткосрочные биржевики, по-сути, делают тоже самое только внутри своих диапазонов (месяцы, дни и т.п.). Заниматься вероятно надо тем, что у вас лучше получается. Кроме того, не уверен, что дневная торговля руками актуальна, в наше время торговых роботов. Наиболее комфортна вероятно долгосрочная торговля, т.к. занимает меньше времени.
7. Психологию рынка нужно учитывать.
Видел как плохие по фундаменталу акции высоко отскакивали, просто потому, что были слишком перепроданы по мнению «толпы». Также как и хорошие акции чрезмерно падали на плохих новостях.
8.Совет всех времён не играть против тренда и ставить стопы — 100% работает. Проверено на себе. НО этот совет, по-сути, помогает ограничить убытки и НЕ помогает забрать деньги! Ведь окончание тренда — это подбор крох с барского стола!
9. Наторговать большие деньги можно против тренда (вернее при признаках разворота, когда новый тренд еще не известен, а ситуация неочевидна).
Я своими глазами видел по отрывкам информации на телеграмм-каналах, ютуб каналах и т.п. (осознавал это потом) как лучшие биржевики продавали акции наверху роста, как присоединялись к шортам в начале падения, как покупали акции на локальном дне. Как они это делали я не знаю.
10. Непрофессионалам на биржевом рынке делать нечего.
Из пунктов 8-9 вытекает, что добиться настоящего успеха можно будучи профессионалом. Т.е. человеком, профессия которого — торговля на бирже. Во всяком случае на моём уровне, вероятно эффективнее покупать услуги проффессиональных управляющих, чем заниматься этим самому. Есть также мнение, что личные финансы нельзя доверять никому. Что думаете?
Рассказываю о полезных инструментах, которые используют долгосрочные инвесторы. Эти инструменты дают дополнительную информацию и помогают прогнозировать рынок.
Purchasing Managers' Index (PMI)
PMI — это индекс деловой активности, который рассчитывается на основе опроса менеджеров по закупкам из различных компаний. Ежемесячно сотрудников снабжения спрашивают про экономическую ситуацию в стране, а ответы обрабатывают специальным алгоритмом.
Затем формируется «индекс оптимизма». Если большинство менеджеров считают, что все хорошо, и экономика улучшается, то индекс растет. Если они говорят, что все плохо, то индекс падает. При этом обычно формируются два индекса — один для сферы промышленности (основной), а другой — для сферы услуг (дополнительный).
Нейтральное значение индекса составляет 50 пунктов. Значения выше говорят о росте деловой активности. Значения ниже предупреждают о падении. Если индекс опускается ниже 40 пунктов, то наступает рецессия.
PMI опережает максимумы и минимумы деловой активности на 2-6 месяцев. Рыночные экстремумы он опережает не всегда, но тоже часто. В целом, PMI хорошо подходит, чтобы прогнозировать окончания крупных кризисов и рецессий.
Индикатор удобно смотреть на площадке TradingView. Для этого нужно:
server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');