Избранное трейдера АлексейФ
Общаюсь с одним знакомым. Молодой студент, скальпинг любит, впрочем, как и многие нетерпеливые трейдеры. Сразу оговорюсь, что скальпинг — очень тяжелый вид спекуляций. Но торгует он не часто, 3-5 дней в месяц, этого хватает, чтобы выглядеть не как выжатый лимон и снимать деньги с рынка.
Трейдером его назвать язык не повернется, но уже второй год все еще снимает сливки с рынка. Вчера мне прислал свою работу по Доллар-Рублю, на что ожидал наверное услышать от меня признания, что он крут.
привет!
у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
квик обновился до 8 и камарилла пропала.
это не исправить?
-- Camarilla.lua Settings={ Name = "Camarilla", period = 'D', line = { {Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2}, {Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2}, {Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2}, {Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2}, {Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2}, {Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2}, {Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2}, } } local math_floor = math.floor local levels = 0 local ydH, ydL, ydC, ydO = {},{},{},{} local PP, R3, R4, R5 = 0,0,0,0 local S3, S4, S5 = 0,0,0 local delta = 0 local cl = 0 local predThisDay=0 local function dTs(t) return 100*(100*t.year+t.month)+t.day; end local OldDay = '' -- для выделения начала торгового дня function Init () local t=getDataSourceInfo() local tt = t.interval if tt == -3 then message('Месячный график не обрабатывается.',1) return end return 7 end function OnCalculate (index) local time tt=T(index); ---время из свечи --local ThisDay=dTs(tt) -- дата в формате yyyyMMdd local tDay=dTs(tt) -- дата в формате yyyyMMdd local ThisDay = tDay if Settings.period == 'W' then ThisDay=tt.week_day -- номер недели end if index == 1 then --message('First ThisDay = '..tostring(ThisDay),1) local t=getDataSourceInfo() --7.2.5 Функция предназначена для получения информации об источнике данных для индикатора. local scale = getSecurityInfo(t.class_code, t.sec_code).scale -- NUMBER, Количество значащих цифр после запятой mul = 10^scale -- возведение в степень local tt = t.interval if tt == -3 then tt = 'месяц' elseif tt == -2 then tt = 'неделя' elseif tt == -1 then tt = 'день' else tt = tt..' мин.' end --message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1) levels = levels + 1 if ThisDay ~= OldDay then OldDay = ThisDay end predThisDay = ThisDay -- delta = H(index) - L(index) cl = C(index) R5 = (H(index) / L(index))*cl calcLevels(index) local per = 'daily' if Settings.period == 'W' then per = 'weekly' end message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1) return end if Settings.period == 'W' then if ThisDay < OldDay then -- для неделек OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end elseif Settings.period == 'D' then if ThisDay ~= OldDay then -- для дневок OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end elseif Settings.period == 'H4' then if ThisDay ~= OldDay then -- для дневок OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end end return S5, S4, S3, cl, R3, R4, R5 end function round(value) return math_floor(value*mul + 0.5) / mul end function ThisDayF(index) ydC[levels] = C(index) if H(index) > ydH[levels] then ydH[levels] = H(index) end if L(index) < ydL[levels] then ydL[levels] = L(index) end end function calcLevels(index) ydO[levels] = O(index) ydH[levels] = H(index) ydL[levels] = L(index) ydC[levels] = C(index) -- R3 = cl + delta * 1.1/4 R4 = cl + delta * 1.1/2 -- S3 = cl - delta * 1.1/4 S4 = cl - delta * 1.1/2 S5 = cl - (R5-cl) -- R5 = round(R5) R4 = round(R4) R3 = round(R3) S3 = round(S3) S4 = round(S4) S5 = round(S5) end
Устойчивые долгосрочные модели
В предыдущих частях (часть 1, часть 2) мы рассмотрели построение композитных систем оценок ценных бумаг, построенных при помощи распространённых средств машинного обучения (Bag/Boost методы). Однако, такой подход, несмотря на все свои преимущества (скорость, точность) имеет ряд больших недостатков – отсутствие универсальности моделей в результате проблем «переобучения» (точной настройки на определённые типы рынков и временные интервалы) и сложность интерпретации полученных композиций.
В результате решения этих проблем мы разработали базовую модель на основе наших представлений о стохастических дифференциальных уравнениях с квантовыми скачками, образующих улыбку волатильности. Эта макромодель получила в наших исследованиях наиболее полную микроскопическую интерпретацию.
В прошлом посте я предположил, что снижение ставки ФРС подтвердило переключение рынка из стадии пика в стадию рецессии.
В этом попробую выбрать подходящие инвестиционные инструменты для различных её типов.
Вероятные сценарии развития экономики можно представить в виде вот такой матрицы:
Международный банк прогнозирует замедление экономики. А это и называется рецессией.
Есть два типа рецессии:
Добрый день!
С 1 января 2020 года каждый инвестор, который имеет брокерский счет у зарубежного брокера, обязан будет сдавать Отчет о движении денежных средств. Правильно называется такой документ – «Отчет о движении средств физического лица – резидента по счету (вкладу) в банке за пределами территории Российской Федерации».
Все дело в том, что в Федеральный закон «О валютном регулировании и валютном контроле» были внесены изменения, которые вступают в силу с нового года (изменения вносятся Федеральным законом от 02.08.2019 г. № 265-ФЗ).
В частности, изменения коснулись статьи 12 указанного закона. Посмотрите ниже на фото, как изменилось название статьи…
Здравствуйте, дамы и господа!
Наверное, все слышали исполняемую многими хорошими певцами песню на популярную мелодию Шолома Секунды «В Кейптаунском порту, с пробоиной в борту, “Жанетта” исправляла такелаж…». Меня всегда удивляло, почему люди повторяют когда-то искаженные слова этой песни, не задумываясь о том, что если у судна пробоина в корпусе, то надо чинить пробоину, а не «исправлять такелаж».
Вот примерно также обстоят дела и с так называемым «управлением рисками». Число авторов, включивших главу об этом в свои книги и статьи о биржевой торговле, огромно. И большинство из них ошибаются!
Как говорил один мой знакомый математик, любая достаточно сложная задача имеет простое, логичное, очевидное для всех неверное решение. Таким решением, по мнению незадачливых авторов, является выдерживание бОльшим единицы отношения расстояния от цены открытия позиции до уровня тейк-профита к расстоянию от нее же до уровня стоп-лосса, то есть отношения потенциальной прибыли к потенциальному убытку в сделке (далее по тексту для краткости — ТП/СЛ), чем, якобы, обеспечивается положительное математическое ожидание прибыли. Чаще всего встречается рекомендация, что это отношение должно быть не менее чем 2:1.
А вот и табличка по S&P500!
https://docs.google.com/spreadsheets/d/11epplwQPMo2cLZSFLD_G7dXBuV6eX01-66TJZpK4dBA/edit?usp=sharing
Первым делом, делаем свою собственную копию: «Файл» -> «Создать копию».
1. Это лайт-версия: аналогично на странице Main – в зеленое поле вписывается целевая сумма в $.
Чуть ниже вносятся только тикеры и только количество купленных уже акций. Данные можно скопировать из каких-то своих таблиц, будь то Excel или Google-таблица (можно скачать брокерский отчет в личном кабинете брокера в формате Excel), а можно просто вбить вручную.
2. На вкладке “S&P500” автоматически проверяется соответствие вбитых вами тикеров с существующими, и расставляются купленные акции в правильные поля. Если какая-то компания становится в индексе выше или ниже (такое происходит почти каждый день, особенно на дне индекса), цифры автоматически следуют за тикером, ничего корректировать не надо. Поля В, С, D, E загружаются автоматически и обновляются каждый день. Поля G, H, I, J, AB загружаются автоматически и обновляются каждые 20-30 минут. Поля K, O, P, Q от того, какую сумму вы вбили в «Цель (капитал)». Поля R, S, T зависят от того, какие тикеры вы вбили и сколько купленных акций вписали. Поля U, V, W, X несут информацию о дивидендах и обновляются 1-2 раза в неделю. Поле «Кризис-радар» вставлено просто так, в развлекательных целях, читайте пометку (наведите на черный уголок над надписью «Кризис-радар»). На этой вкладке вообще ничего редактировать не нужно.