Избранное трейдера klimvv
Приветствую!
В предыдущей статье писал, о целях поиска локального боковика с помощью алгоритма. Расскажу с какими сложностями при этом приходится сталкиваться.
1 Что есть боковик? почему в одном случае мы считаем что это боковик, а в другом похожем случае это не является боковиком?
2 Размер боковика! Локальный боковик может быть как 0.1% от цены так и несколько процентов от цены.
Так же можно описать множество пунктов, но они все смежные будут с выделенными двумя пунктами.
Как определить, что рынок возле той или иной цены остановится и пойдет обратно? только не постфактум, а именно онлайн. Да, мы рисуем уровни руками, или же смотрим на объемы и тд, но изначально никто не знает где и почему цена остановилась. Мы всегда наблюдаем уже постфактум, либо это синусоида цены, либо накопление объемов на уровне и тд. А значит мы с определением боковика всегда будем опаздывать от реального рынка.
Второй же пункт, это границы бокового движения. Пример сбера, последние две три недели он гулял в большом диапазоне от 20300 до 21000 грубо говоря, но при этом были и локальные уровни остановки цены в пределах 100-200р канала. В таком ракурсе получается, что при движении от нижнего канала к верхнему с учетом остановок, можно получать 300-400р с движения если отталкиваться от того, что цена вышла из маленького боковика и движется к большому.
Именно эти сложности приходится преодолевать при алгоритмизации. Ведь алгоритм должен сам определить боковое это движение или вялотекущее направленное.
Пока что не придумал ничего толкового. Есть идея, которую наполовину реализовал
1 проверяю выше закрытие предыдущего или нет, и строю верхний канал по большему значению
2 аналогично для нижнего канала, проверяю ниже мы предыдущего закрытия или нет.
3 слежу за ситуациями при которых верхнее значение канала как и нижнее значение не менялось более 60минут (это уже параметр, можно и без него конечно, через счетчик получив просто силу канала, например что мы 5 часов не вышли за границы, или же например сколько раз «кололи» канал но вернулись в его границы и тд)
4 канал считается не действительным при резком закреплении цены выше его границ, допустим большой минутной свечой закрылись выше/ниже границ
5 границы канала должны меняться после направленного движения и новой остановки
6 размах от верхнего к нижнему значению, не должен превышать Х% от цены
Какие минусы
1 Процент размаха дает возможность смотреть маленький ли канал в данный момент или большой, но это является параметром, а значит может привести к «лудоманству». Каких либо других возможностей поиска локального боковика пока что, не видится возможным, потому остановился на этом
2 Я всегда опаздываю за ценой. Если действовать сразу и брать с первых же баров определение боковика, то будет очень большое количество ложных определений, и соответственно, множество не правильных входов
3 Любые остановы движения цены, ломают логику и идет поиск очередного боковика, обычно это преждевременно получается.
4 Ложное расширение боковика, которое можно определить только постфактумом и нужно перерисовывать границы.
Ниже примеры в картинках
Ложный выход из боковика
Обсуждая философию трейдинга, мы отмечали неизбежность убыточных сделок. Возможность потери является неотъемлемой характеристикой торговли. Обычная же реакция на потенциальную потерю – это тревога, эмоциональное переживание, в основе которого лежит страх [2].
Страх способен оказывать очень сильное влияние на человека. Основное влияние страха на мышление заключается в сужении внимания и его концентрации на опасности. Чем сильнее страх, тем существеннее ограничение восприятия и мышления, тем больше человек движим одним лишь стремлением устранить угрозу, избежать опасности [2]. Ограничения мышления, вызванные страхом, создают идеальные условия для возникновения у трейдера иррациональных стремлений (напр., выйти из сделки раньше цели; пропустить сделку, чтобы не рисковать дневной прибылью и т.д.). По замечанию Дугласа, страх является источником 95% ошибок на рынке [8].
В связи с этим трейдеру важно серьезно подойти к вопросу управления своей тревогой. Для начала необходимо четко понять её причины: детально определить все риски, и понять, какие из них являются наиболее значимыми. Определив причины тревоги, нужно предпринять действия, направленные на её уменьшение.
Settings=
{
Name = "Zigzag2", -- название индикатора
delta=2, -- параметр индикатора
line=
{
{
Name = "zigzagline2",
Type =TYPE_LINE,
Width = 2,
Color = RGB(120,90, 140)
}
}
}
function Init()
vMin = 0
vMax = 0
vMinindex = 0
vMaxindex = 0
voldMinindex = 0
voldMaxindex = 0
return 1
end
function OnCalculate(index)
local printz = 0
if index == 1 then
vMin = C(index)
vMax = C(index)
vMinindex = index
vMaxindex = index
voldMinindex = index
voldMaxindex = index
ve = C(index)
else
if voldMaxindex >= voldMinindex then
if C(index) > (1 + Settings.delta/100)*vMin then
vMin = C(index)
vMax = C(index)
vMaxindex = index
voldMinindex = vMinindex
vFrom = voldMaxindex
vTo = vMinindex
printz = 1
else
if vMin > C(index) then
vMin = C(index)
vMinindex = index
vFrom = voldMaxindex
vTo = index
printz = 0
else
vFrom = vMinindex
vTo = index
printz = 0
end
end
else
if voldMaxindex <= voldMinindex then
if C(index) < (1 - Settings.delta/100)*vMax then
vMax = C(index)
vMin = C(index)
vMinindex = index
voldMaxindex = vMaxindex
vFrom = voldMinindex
vTo = vMaxindex
printz = 1
else
if vMax < C(index) then
vMax = C(index)
vMaxindex = index
vFrom = voldMinindex
vTo = index
printz = 0
else
vFrom = vMaxindex
vTo = index
printz = 0
end
end
end
end
if (printz == 1) or (Size() == index) then
for i = vFrom, vTo do
k = (C(vTo)- C(vFrom))/(vTo- vFrom);
v = i*k + C(vTo) - vTo*k
SetValue(i, 1, v)
ve = v
end
if (Size() == index) then
ve = C(index)
if voldMaxindex >= voldMinindex then
vFrom = voldMaxindex
vTo = vMinindex
end
if voldMaxindex <= voldMinindex then
vFrom = voldMinindex
vTo = vMaxindex
end
for i = vFrom, vTo do
k = (C(vTo)- C(vFrom))/(vTo- vFrom);
v = i*k + C(vTo) - vTo*k
SetValue(i, 1, v)
end
end
end
end
return ve
end
Достаточно часто, в последнее время, всплывает тема надвигающегося кризиса. Тема эта всплывает фрагментально: тут про кривую доходности, там про процентные ставки. При этом, полной картины или чуть более объемной информации не дает никто. Я решил собрать воедино, на мой взгляд, ключевые индикаторы и создать из них общую картину, подтверждающую факт приближения мирового финансового кризиса. Как поется в песне известного исполнителя, у меня на это 5 причин.
И так, начать хотел бы с того, что ничего сверхъестественного в кризисе нет. Это лишь очередной экономический цикл, когда мировой экономике требуется немного «отдохнуть» и найти новые пути развития, новые точки для дальнейшего роста. Я ориентируюсь на экономику США, как на крупнейшую и ведущую экономику мира. Свою аналитическую модель я строю в рамках экономических циклов Жюгляра, с характерным периодом 7-11 лет, которые включают в себя 4 фазы: Подъем (восстановление) – Пик – Снижение (рецессия) – Дно (кризис).
Предыдущее мое произведение про продажу крайних опционов было отмечено плюсиками более 50 человек. Меня это удивило и обрадовало, поскольку я не предполагал, что такое большое количество людей на смартлабе не просто интересуются опционами, но и разбираются в некоторых особенностях торговли этим инструментом. До этого у меня было впечатление, что опционами на смартлабе торгуют чуть больше десяти человек.
В продолжение прошлой темы, хочу предложить вам на рассмотрение некоторые рассуждения о том, какие опционы выгоднее продавать.
Определимся с терминами и понятиями, которые будем рассматривать:
[Тэта] - потеря стоимости опциона за определенный промежуток времени [t]
У нас есть текущая волатильность базового актива. Исходя из этой волатильности, мы можем посчитать ожидаемый средний путь, который пройдет цена базового актива за время [t]. Этот путь назовем
Settings=
{
Name = "Zigzag", -- название индикатора
delta=3, -- параметр индикатора
line=
{
{
Name = "zigzagline",
Type =TYPE_LINE,
Width = 1,
Color = RGB(120,90, 140)
}
}
}
function Init()
vMin = 0
vMax = 0
vMinindex = 0
vMaxindex = 0
voldMinindex = 0
voldMaxindex = 0
return 1
end
function OnCalculate(index)
if index == 1 then
vMin = C(index)
vMax = C(index)
vMinindex = index
vMaxindex = index
voldMinindex = index
voldMaxindex = index
v = C(index)
else
if voldMaxindex >= voldMinindex then
if C(index) > (1 + Settings.delta/100)*vMin then
vMin = C(index)
vMax = C(index)
vMaxindex = index
voldMinindex = vMinindex
vFrom = vMinindex
else
if vMin > C(index) then
vMin = C(index)
vMinindex = index
vFrom = voldMaxindex
else
vFrom = vMinindex
end
end
else
if voldMaxindex <= voldMinindex then
if C(index) < (1 - Settings.delta/100)*vMax then
vMax = C(index)
vMin = C(index)
vMinindex = index
voldMaxindex = vMaxindex
vFrom = vMaxindex
else
if vMax < C(index) then
vMax = C(index)
vMaxindex = index
vFrom = voldMinindex
else
vFrom = vMaxindex
end
end
end
end
for i = vFrom, index do
k = (C(index)- C(vFrom))/(index- vFrom);
v = i*k + C(index) - index*k
SetValue(i, 1, v)
end
end
end
Мысль следует по маршруту «Биржа — Кёрлинг — Биржа»
Однако, в нашем нефтекоролевстве (Брент) что-то явно не так. Коза Лось бы, ну не может простоять цена на месте пять недель. А она — смогла.
Я искренне сочувствую тем «покупалкиным опционным», кто пытался «высочить» из брента хоть какое-то вразумительное движение. Ребятки, играйте не за стол, а за крупье! А крупье — в этой серии явно раздухарился. Сыграл так, что мало никому из «покупашек» не. Супер-Папа-Кукл. Карабас-Барабас, однозначно!
Действительно, с 20 февраля нефть Брент отложила 1 (ОДИН!) полуторадолларовый кирпичик (с учётом пересчёта этих выходных, разумеется), проболтавшись 5 (ПЯТЬ!) недель вокруг страйка 67.
Да, такое, продав время,