Избранное трейдера Двоечник
Автор:
Ральф Винс, эксперт по вопросам управления рисками и управления капиталом.
О чем:
Ральф Винс в начале 1990-х годов адаптировал формулу контроля риска, первоначально предназначенную для карточных игр, таких как блек-джек. Ранее по этой формуле рассчитывали, сколько ставить, чтобы максимизировать ожидаемое значение вашей ставки.
Применительно к инвестициям по этой формуле можно рассчитать точное оптимальное количество акций, размер лота фьючерса и т. д. для позиции, благодаря чему получите максимальную прибыль.
То есть вопрос не в том, чтобы побеждать в каждой сделке, а в том, какую долю счета задействовать, чтобы на долгом отрезке получать максимальный эффект от торговли. Это потрясающее свойство управления капиталом.
Торговые установки профиля объема
Теперь я покажу вам торговые установки, которые я использую в своей повседневной торговле. Это основные, основные установки, которые я использую. Я никогда не вступаю в сделку, если нет ни одной из этих установок.
Все установки можно использовать с любым таймфреймом. Я предпочитаю 30-минутные графики для внутридневной торговли, 240-минутные или дневные графики для свинговой торговли и дневные и месячные графики для планирования долгосрочных инвестиций.
Установка профиля объема №1: Установка накопления объема
Как я уже говорил ранее в этой книге, крупные институты, которые перемещают рынок и манипулируют им, создают свои огромные торговые позиции в боковых каналах ценового действия (областях вращения).
После того, как они накопят достаточно объемов, то есть после того, как они полностью войдут в свои позиции, они начнут сильную и агрессивную активность по покупке или продаже, чтобы сдвинуть цену. Они стремятся сдвинуть цену в направлении своих вновь накопленных позиций. Исходя из этого, мы знаем, что, если существовал боковой ценовой канал, за которым следовал значительный восходящий тренд, сильные покупатели накапливали свои покупательские позиции в ценовом канале. Если, с другой стороны, был боковой канал, за которым последовала сильная распродажа, то мы знаем, что сильные продавцы были ввод своих позиций на продажу в канале.

Одна из хороших мотивационных книг на 4+, где читатель может получить не только новую порцию для пинка себя в нужном направлении, но и для выбора правильного направления и усилия.
Автор рассказывает о важности постановки правильной (а не промежуточной) цели. Но одна цель не поможет получению результата, пока мы не начнём идти к этой цели. В данном случае, я хотел бы обратить ваше внимание на слово “идти”.
Я и сам, порой, бегал вокруг да около и ошибался, отдавая в моменте много сил, пока запасы энергии не иссякали и руки опускались от изнеможения. Накопительный эффект действует, но для этого нужен не спринт, а марафон.
Попробуйте, например, начать заниматься спортом 5 раз в неделю и вскоре отторгните занятия. Пробуйте отдавать каждую минуту чтению и вскоре возненавидите книги.
Возможно, стоит сравнить все начинания с прогулкой по лесу. Если мы побежим, то высока вероятность того, что мы оступимся, споткнёмся и упадём. Ещё хуже, если напоремся на сук и это может оказаться фатальным. Но таких
В поисках инструментов финансирования все больше компаний обращают внимание на сегмент ВДО, который с каждым годом показывает активные темпы роста: в 2020 году объем размещений высокодоходных облигаций составил 56,5 млрд руб., что на 56,8% выше объема 2019-го. Кроме количественного роста выпусков облигационных займов, параллельно идет и качественный: сегмент ВДО постепенно охватывает все новые отрасли, которые исторически не пользовались биржевыми инструментами. Накануне нового размещения «Нафтатранс плюс» Boomin подготовил аналитический обзор эмитентов рынка нефтетрейдинга.

В начале 2019 года дебютный выпуск биржевых облигаций разместил независимый нефтетрейдер ООО «ТК Нафтатранс плюс», что продемонстрировало коллегам по отрасли тот факт, что биржевые облигации — это рабочий инструмент, который можно использовать как альтернативу банковскому финансированию.
Добрый день, друзья!
Мой пост об отчетах 10-K, 10-Q и 8-K американских эмитентов (https://smart-lab.ru/blog/677043.php) вызвал достаточно большой отклик среди Смарт-Лабовцев (68 ⭐️ + 326 ❤️). Поэтому выполняю своё обещание и рассказываю о методике анализа отчетов 8-К, которая в прошлом году принесла мне 50% годовых в долларах США (https://smart-lab.ru/blog/668157.php).
Внимание: лонгрид. Если у Вас в данный момент нет возможности на 15 минут сосредоточиться на изучении достаточно сложной информации – лучше добавить пост в избранное и вернуться к его прочтению позже.
В прошлый раз мы пришли к выводу о том, что отчеты 10-K содержат только прошлые данные, в силу чего информация, отражённая в них, уже заложена в текущие котировки акций. А с учётом того, что изучение формы 10-K является достаточно трудоёмким процессом, то для частного инвестора эта форма теряет всякий смысл.
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