Избранное трейдера klimvv


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
Биржевая торговля является предпринимательской профессией, которая требует, чтобы вы рисковали деньгами. Чтобы сделать деньги, стоит придерживаться рационального консервативного подхода по отношению к рынку. Ниже следуют некоторые советы для трейдеров, которые готовятся окунуться в торговлю с головой — причем основное внимание уделяется сохранению капитала и рассудка, а не тому, чтобы разбогатеть побыстрее.
1. Не спешите торговать
Рынок будет существовать завтра, на следующей неделе, в следующем году и в следующем десятилетии. Не беспокойтесь о том, что, пока торгуете на демо-счете без реальных денег, вы можете упустить движение, выпадающее раз в жизни. Возможности будут всегда — вы ничего не теряете, инвестируя свое время в образование и подготовку.
2. Не торгуйте без причины
Блог для трансляции Ваших прогнозов, мнений, событий и ожиданий.
Приветствуются: точки входа/закрытия позиций, их обоснование, оперативные новости.
Обстановка:
Четверг: чудеса продолжились — утренний рост — дневное снижение — и ракета на 36 с последующим возвратом под 30!
Пятница утро: плавно снижаемся, 28.3 на текущую минуту.

Время возможностей!
Мысли по долгосрочным инвестициям.
Сейчас, время скупать первоклассные активы в портфель.
К сожалению, российские рынки акций и облигаций не подходят для создания диверсифицированного портфеля инвестиций: очень мало эмитентов, многие отрасли практически не представлены, некоторых возможностей вообще нет. По тем же причинам, оперируя только на российском рынке очень сложно получить высокую долгосрочную доходность с приемлемыми рисками.
Поэтому одним из ключевых этапов формирования инвестиционного портфеля, является выбор стран, в которые они будут осуществляться.
К счастью, в современном мире очень легко инвестировать практически в любые торгуемые на бирже активы любых стран, достаточно иметь счет у иностранного брокера. Лично я пользуюсь брокером США Interactive Brokers.
Остается задача выбрать страны для инвестиций, чтобы снизить свои риски и повысить доходность, а для этого нужно учесть 3 желания инвестора:
Общеизвестно, что чем метод проще, тем он надежнее (в контексте предсказаний — точнее). Комментаторы смартлаба через один утверждают это, но сколько из них обосновывают свои утверждения?
Решил изучить этот вопрос подробнее. Ключевые ссылки нашел в ответах на вопрос https://stats.stackexchange.com/questions/124955/is-it-unusual-for-the-mean-to-outperform-arima (чувак спрашивает, нормально ли, что в его исследованиях лучше работают простые методы типа скользяшек). Помимо множества цитат авторитетов научного мира приведено любопытное исследование от 2015г (цифры округлены, т.к. немного гуляют даже в пределах публикации):
В отличие от некоторых дискуссий, по нашему определению сложность не является функцией от количества переменных. Сложность также не зависит от усилий, необходимых для разработки модели. Чтобы выяснить, прост ли метод прогнозирования, мы спрашивали его пользователей, понимают ли они его — и если да, то смогут ли объяснить, задействованные в модели математические методы, как эта модель представляет исходную информацию, как разные части модели связаны друг с другом и как прогноз модели поможет принять лучшее решение.

Кризис приятен тем, что даёт возможность потренировать разные позиции. Никому не интересно читать однотипные под копирку посты «продал стреддл — зафиксировал прибыль». Даже одиночный возглас "будь прокляты хуситы и охрана завода саудитов!" общей картины не менял. Хоть новоявленный опционный псевдогуреныш Г… ая Г… нь и считает, что «торговать мосбиржу западло» и «торговать в кризис дважды западло», но кто он такой, чтобы нам указывать? Поэтому караван идет и на пути ему попался Зигзаг Удачи.
Эта позиция считается базовой уважаемым Каленкович Алексей (enki) .
Низкий ему поклон за науку и за время, которые он мне уделил.
Давным-давно в уже далеком 2017 году эта позиция так и торговалась из месяца в месяц методично и довольно скучно (до февраля 2018 года примерно =) ) на боевом тестовом счете (размером около 100 тыр). Учитывая, что это были месячные опционы на РИ сейчас сам себе удивляюсь, насколько хватало смелости переносить это всё хозяйство через ночь и выходные. =) Nobless oblige