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

--[[
параметры:
Procent - процент зигзага
--]]
Settings={
Name="ZIGZAGPROF",
Procent=1,
line=
{
{
Name = "cur1",
Type =TYPE_LINE,
Width = 2,
Color = RGB(0,0, 0)
},
{
Name = "cur2",
Type =TYPE_LINE,
Width = 2,
Color = RGB(0,0, 255)
}
}
}
function Init()
y1 = nil
y2 = nil
x1 = 1
x2 = 1
return 1
end
function OnCalculate(index)
de = Settings.Procent
delt = 0.01
vl = C(index)
if index == 1 then
y1 = vl
y2 = vl
else
if C(index) > y1*(1+de/100) and y1 < y2 then
x2 = x1
y2 = y1
x1 = index
y1 = C(index)
end
if C(index) > y1 and C(index) > y2 then
x1 = index
y1 = C(index)
end
if C(index) < y1*(1-de/100) and y1 > y2 then
x2 = x1
y2 = y1
x1 = index
y1 = C(index)
end
if C(index) < y1 and C(index) < y2 then
x1 = index
y1 = C(index)
end
end
if x1 ~= index then
curfrom = x1
curto = index
else
curfrom = x2
curto = x1
end
--[[
if curto ~= curfrom and curfrom ~= nil and curto ~= nil then
if C(curto) ~= nil and C(curfrom) ~= nil then
k = (C(curto)- C(curfrom))/(curto- curfrom)
for i = curfrom, index do
curv = i*k + C(curto) - curto*k
SetValue(i, 1, curv)
end
end
end
--]]
lev = nil
if x1 ~= x2 then
k = (C(x1)- C(x2))/(x1- x2)
maxd = 0
for i = x2, x1 do
lev = i*k + C(x1) - x1*k
if C(x2) > C(x1) and lev <= H(i)
then
if maxd < H(i) - lev then
maxd = H(i) - lev
end
--maxd = 0.5
end
if C(x2) < C(x1) and lev >= L(i)
then
if maxd > L(i) - lev then
maxd = L(i) - lev
end
--maxd = -0.5
end
end
lev = nil
--[[if x1 < index
and
(
C(x2) > C(x1) and C(x1) < C(index)
or
C(x2) < C(x1) and C(x1) > C(index)
)
then --]]
lev =
index*k + C(x1) - x1*k +
maxd
--end
--[[
map = 10
lev = 0
if index-map+1 > 0 then
for i = index-map+1, index do
lev = lev + C(i)
end
lev = lev/map
ma = lev
end
map = 30
lev2 = 0
if index-map+1 > 0 then
for i = index-map+1, index do
lev2 = lev2 + C(i)
end
lev2 = lev2/map
ma2 = lev2
end
if
C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev and C(index) - C(x1) > C(index)*delt
or
C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev2
then
lev = C(x1)--*(1-delt)
prev = lev
else
if
C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev and C(x1) - C(index) > C(index)*delt
or
C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev2
then
lev = C(x1)--*(1+delt)
prev = lev
else
lev = lev2
end
end
if
C(x1) > C(x2) and ( lev < C(index) or prev == C(x2) )
then
lev = C(x2)--*(1+delt)
prev = lev
end
if
C(x1) < C(x2) and ( lev > C(index) or prev == C(x2) )
then
lev = C(x2)--*(1-delt)
prev = lev
end
if C(x1) < C(x2) and ( lev < C(index) or prev == C(x1) )
then
lev = C(x1)
prev = lev
end
if C(x1) > C(x2) and ( lev > C(index) or prev == C(x1) )
then
lev = C(x1)
prev = lev
end
--]]
end
return lev
endЗдравствуйте, дамы и господа!
Наверное, все слышали исполняемую многими хорошими певцами песню на популярную мелодию Шолома Секунды «В Кейптаунском порту, с пробоиной в борту, “Жанетта” исправляла такелаж…». Меня всегда удивляло, почему люди повторяют когда-то искаженные слова этой песни, не задумываясь о том, что если у судна пробоина в корпусе, то надо чинить пробоину, а не «исправлять такелаж».
Вот примерно также обстоят дела и с так называемым «управлением рисками». Число авторов, включивших главу об этом в свои книги и статьи о биржевой торговле, огромно. И большинство из них ошибаются!
Как говорил один мой знакомый математик, любая достаточно сложная задача имеет простое, логичное, очевидное для всех неверное решение. Таким решением, по мнению незадачливых авторов, является выдерживание бОльшим единицы отношения расстояния от цены открытия позиции до уровня тейк-профита к расстоянию от нее же до уровня стоп-лосса, то есть отношения потенциальной прибыли к потенциальному убытку в сделке (далее по тексту для краткости — ТП/СЛ), чем, якобы, обеспечивается положительное математическое ожидание прибыли. Чаще всего встречается рекомендация, что это отношение должно быть не менее чем 2:1.
Сделал квази-онлайн вывод цен в скрит на языке R, без использования dll. R позволяет проводить разнообразный анализ ценовых рядов, проверять доходность стратегий, строить необходимые графики. На 1мин графике фьючерса на Сбербанк, первые 30 значений. Кроме цены клоз на картинке показаны линии 5-ти кластеров, параллельных оси времени и коричневая линия тренда и наклонными линиями канала, отстоящими на 1 и 2 стандартных отклонения. Ширина этих каналов изменяется с учетом волатильности. Наклонными синими линиями, отмечен канал 0,5 SD без учета волы.
«Полигон для новичка» отдыхает до сентября, а я продолжаю пополнять «сундучок» полезных мелочей, просматривая старые, прошедшие ранее Полигоны.
В «Полигоне для новичка №3» принимала участие ТС «Скальпер», которая по итогам этого полигона заняла первое место с хорошим результатом.
Автор данной ТС задал мне вопрос, как можно в его ТС улучшить показатель «Средний П/У%»? На такой вопрос есть всегда один общий ответ. Для увеличения нормы прибыли надо принять на себя больший риск.
В этом видео я даю два предложения по улучшению этой ТС. Первое мое предложение, как раз увеличивает принимаемый риск, а второе – несколько упорядочивает открытие позиций.
Что такое «Полезные мелочи» можно посмотреть здесь https://smart-lab.ru/blog/473161.php

Settings={
Name="GVOL",
period=200,
maxline=20,
width=4,
count=50,
xshift=0,
vlm=1,
line={}
}
--[[
описание свойств:
xshift - сдвиг по горизонтали
count - количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline - количество баров для максимальной черточки
width - толщина черточки
vlm - 1-c учетом оъема 0-просто распределение без объема,
--]]
function Init()
n=Settings.count
vol={}
for j = 1, n do
vol[j]=0
Settings.line[j] = {Color=RGB(192,192,192),Type=TYPE_LINE,Width=Settings.width}
--for i=Size()-Settings.xshift-Settings.maxline, Size()-Settings.xshift do
for i=1, Size() do
SetValue(i, j, nil)
end
end
return Settings.count
end
function OnCalculate(index)
if (index < Size()-Settings.xshift)or(index > Size()-Settings.xshift) then
return nil
else
n=Settings.count
maxv=0
maxc=0
minc=9999
for i=Size()-Settings.xshift-Settings.period, Size()-Settings.xshift do
if C(i) ~= nil then
if maxc < C(i) then
maxc = C(i)
end
if minc > C(i) then
minc = C(i)
end
end
end
delta = (maxc - minc)/n
for i=Size()-Settings.xshift-Settings.period, Size()-Settings.xshift do
for j = 1, n do
if C(i) ~= nil then
if (C(i) > minc + (j-1)*delta) and (C(i) <= minc + j*delta) then
if Settings.vlm == 1 then
if V(i) ~= nil then
vol[j]=vol[j]+V(i)
end
else
vol[j]=vol[j]+1
end
end
end
end
end
for j = 1, n do
vol[j] = math.floor(vol[j]+0.5)
if maxv < vol[j] then
maxv = vol[j]
end
end
k = 0
for i=Size()-Settings.xshift-Settings.maxline+1, Size()-Settings.xshift do
k = k + 1
for j = 1, n do
if vol[j] >= (Settings.maxline - k)*maxv/Settings.maxline then
SetValue(i, j, minc + j*delta)
else
SetValue(i, j, nil)
end
end
end
end
end

«Полигон для новичка» отдыхает до сентября, а я продолжаю пополнять «сундучок» полезных мелочей. Для этого я просматриваю старые, прошедшие ранее Полигоны и на их основе делаю видео.
В данном видео я продолжаю искать способы повысить эффективность ТС «ММ», которая участвовала в «Полигоне для новичка №2». Если в предыдущем видео я пытался внести такие изменения в скрипт этой ТС, которые бы вывели убыточные сделки в «плюс», то теперь объектом моих предложений стали положительные сделки, которые я пытаюсь улучшить.
Что такое «Полезные мелочи» можно посмотреть здесь https://smart-lab.ru/blog/473161.php
Часто меня спрашивают использую ли я как-то фундаментальный анализ, может быть учитываю дивидендную политику компании, акции которой торгую? Скорее нет, чем да, однако стараюсь быть немного в курсе дел! Самое главное график — наилучший показатель любых фундаментальных параметров, причем очень часто это самыйнаилучший индикатор предстоящих фундаментальных изменений, поскольку большая часть крупных участников работает на ожидания, а эти ожидания нигде не написаны и не учтены, их сложно угадать и предсказать, если у тебя нет пары десятков друзей в банках и фондах. Однако если смотреть на график, там эти ожидания прочитать можно!
Только что частично закрыл сделку, закрыл больше половины, вторая часть на более длинные цели с трейлинг стопом, эта сделка хорошо показывает важность теханализа как отражения ожиданий! Несколько дней назад взглянув на акции АФК Система, я увидел интересный момент развития тренда, причем он был связан с классическим тестом консолидации, я принял решение, что это тот самый момент, поскольку я сначала года слежу за этой акцией, начал следить за ней, я еще в сентябре прошлого года :) наибольшие надежды на нее возложил уже в 2019 году, о чем упомянул тут - https://smart-lab.ru/blog/516902.php