Избранное трейдера 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