Избранное трейдера Капитан Очевидность
Погода такая, что самое время придаться графомании. Изыскав возможность, и вняв рекомендациям Тимофея, пишу.
Не является индивидуальной инвестиционной рекомендацией! мухаха!
Таки на фондовом рынке я только год и «ничертанепонимаю», но в физкультуре у меня стаж около 20 лет, а если школу
брать, то и все 30.
мОзги постоянно проводят аналогии, не знаю зачем им это, но и между фондой и физрой они легко обнаружили одинаковость.
Поэтому выложу все как есть, а то их распирает. Опять же Тимофей рекомендовал – излагать мыслЮ в блоХ.
1. Тело – наше АО, вот оно прошло айпио (спасибо родителям) и мы появляемся на свет – начальные котировки и будущие
перспективы у всех разные, тута много от чего зависит, но буду за физику вещать без социалки.
Главное что в теле? Его физически эффективный функционал, адаптационные свойства. График функционала будет – рост,
развитие, выход на пик, некое плато и сползание вниз. мОлодеж, запомните – возрастная динамика это, сука, вначале вверх,
а потом строго на юг (это на биржевом сленге вниз, как я понимаю)! Откройте график котировок своей жизни с годовым (а шо такой в квике есть?) таймфреймом и прикиньте где вы, какая цена и скока вам еще примерно трепыхаться.
«Никогда не теряйте в сделке 1-3% от своего капитала. Так как
Серьезный минус психологически сложно закрывать.»
«Стоп — это ваша тормозная система.»
«При внутредневной торговле, деньги можно поднимать с утра,
в первые два часа. И в последние полтора-два часа торгов.»
«Заработал 10 рублей, это же не проигрыш? Да, это очень мало, но это плюс!
Успокойтесь, завтра будет день и будет пища.»
«Главное учиться и не пропускать удары против себя, особенно серьезные.»
Не секрет, что на Смартлаб пришло много новичков (это очевидно и видно), да и статистика по свежим открытым брокерским счетам говорит о том, что пошёл наплыв страждущих. Казалось бы, стоит порадоваться свежему мясу, прибывшему на убой, но не таков наш Тимофей. Он честен, неподкупен и всегда вступает в бой с открытым забралом… Даже написал книгу про трейдинг, где всех предостерёг…
Но своим недавним постом Тимофей очень сильно напугал всех, кто пришёл на биржу в поисках заработка. Сразу видно, накатил рюмаху… В смысле, стал раздавать советы… Вот тут - 5 советов новичкам
Мне понравились все советы, но особо совет №5:
"5. Валите отсюда поскорее. Я серьезно. Я вижу даже как самые опытные профи регулярно обсираются на бирже. Причем по полной. Тут бешеная конкуренция. Гораздо проще вам будет освоить индексное инвестирование, ну или на худой конец инвестиции в акции и облигации, чем активно торговать самому. Нереальная конкуренция за деньги".
Автор — известный в трейдерской среде mehanizator. Создатель сайта для алгоритмических трейдеров long-short.pro
Книга является квинтэссенцией многолетнего опыта автора в области исследований свойств рынка и разработки механических торговых систем.
Являясь практическим руководством к действию, книга глава за главой проводит читателя в мир систематизированной торговли, правил, алгоритма принятия решений и проверки тех или иных гипотез.
Состоит из 4 последовательно связанных глав. Внимание следует уделить всем главам, даже несмотря на то, что кажется что в начале книги автор льет воду. На самом деле воды в книги нет, описательные разделы поведения рыночных участников и свойств рынка необходимы в начале книги, чтобы в последующем читатель смог формировать рабочие гипотезы и, проверив их затем на тестах, выйти на устойчивую алгоримическую (системную) торговлю.
Рекомендую к прочтению всем, кто хочет отойти от импровизации и перейти на системный трейдинг — позволит сэкономить кучу времени и избежать иллюзий простоты этого вида деятельности.
Любой тренинг типа «психологии игры на бирже», если речь о психологии игрока, а не тех, кого он будет обыгрывать – в общем-то, пустая трата денег и времени. Все содержание правильного тренинга умещается в одну фразу: «никакой психологии там быть не должно». Везде, где это появляется, это мешает. Действуйте как робот, и будет счастье. Например, базовая ловушка…
Проигрыш и выигрыш воспринимаются ассиметрично. Не считай эмоции, считай деньги.
Если придавать значение эмоциям, будет плохо и с эмоциями, и с деньгами. Эмоции как-то посчитал Даниэль Канеман. Потеря переживается в 2.5 раз сильнее, чем выигрыш той же суммы. Теперь представьте профессионального игрока с низким профит-фактором, например, 1.5. Это значит, что мы, делая ставки, на каждый проигранный рубль выигрываем полтора. Если честно, так себе профит-фактор, на грани. Некоторые считают, что с ним вообще нельзя заработать. Я считаю, что можно (по крайней мере, несколько лет такие системы стояли в строю, и ничего). Не будем углубляться, там специальный вопрос.
Settings= { Name = "Zigzag5", -- название индикатора delta=2, -- параметр индикатора deltaY=1, -- параметр индикатора linedeltaY=0.75, -- параметр индикатора line= { { Name = "zigzagline3", Type =TYPE_LINE, Width = 2, Color = RGB(0,255, 0) }, { Name = "upline", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "lowline", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 255) }, { Name = "declineline", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "upline2", Type =TYPE_LINE, Width = 1, Color = RGB(255,0, 0) }, { Name = "lowline2", Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 255) }, { Name = "declineline2", Type =TYPE_LINE, Width = 1, Color = RGB(255,0, 0) } } } function getradius(x, y) return math.sqrt(Settings.deltaY*y*y+x*x) end function koef(val) return 1 - 1/(1-1/val) end function Init() vMin = 0 vMax = 0 vMinindex = 0 vMaxindex = 0 voldMinindex = 0 voldMaxindex = 0 upval = 0 lowval = 0 upindex = 1 lowindex = 1 veu = nil vel = nil curfrom = 1 curto = 1 return 7 end function OnCalculate(index) local printz = 0 vsize = Size() ve = nil veu = nil vel = nil curv = nil veu2 = nil vel2 = nil curv2 = nil 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 if (C(vMinindex) > C(vsize)) and (upval > koef(getradius(vsize - vMinindex, C(vMinindex) - C(vsize)))) then upval = koef(getradius(vsize - vMinindex, C(vMinindex) - C(vsize))) upindex = vMinindex end if (C(vMinindex) < C(vsize)) and (lowval > koef(getradius(vsize - vMinindex, C(vMinindex) - C(vsize)))) then lowval = koef(getradius(vsize - vMinindex, C(vMinindex) - C(vsize))) lowindex = vMinindex end curfrom = voldMaxindex curto = voldMinindex else if vMin > C(index) then vMin = C(index) vMinindex = index vFrom = voldMaxindex vTo = index printz = 0 curto = index else vFrom = vMinindex vTo = index printz = 0 end curfrom = voldMaxindex 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 if (C(vMaxindex) > C(vsize)) and (upval > koef(getradius(vsize - vMaxindex, C(vMaxindex) - C(vsize)))) then upval = koef(getradius(vsize - vMaxindex, C(vMaxindex) - C(vsize))) upindex = vMaxindex end if (C(vMaxindex) < C(vsize)) and (lowval > koef(getradius(vsize - vMaxindex, C(vMaxindex) - C(vsize)))) then lowval = koef(getradius(vsize - vMaxindex, C(vMaxindex) - C(vsize))) lowindex = vMaxindex end curfrom = voldMinindex curto = voldMaxindex else if vMax < C(index) then vMax = C(index) vMaxindex = index vFrom = voldMinindex vTo = index printz = 0 curto = index else vFrom = vMaxindex vTo = index printz = 0 end curfrom = voldMinindex 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 -- up level line if upindex ~= nil then if C(upindex) > C(index) then for i = upindex, index do SetValue(i, 2, C(upindex)) SetValue(i, 5, C(upindex)-Settings.linedeltaY*C(vsize)/100) end veu = C(upindex) end end -- low level line if lowindex ~= nil then if C(lowindex) < C(index) then for i = lowindex, index do SetValue(i, 3, C(lowindex)) SetValue(i, 6, C(lowindex)+Settings.linedeltaY*C(vsize)/100) end vel = C(lowindex) end end if voldMaxindex >= voldMinindex then vsign = -1 if curfrom == voldMinindex then vsign = -1 end if curfrom == voldMaxindex then vsign = 1 end -- inclined line if curto- curfrom > 0 then maxcurv = 0 k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, curto do curv = i*k + C(curto) - curto*k if vsign == -1 then if L(i) < curv then if maxcurv < curv - L(i) then maxcurv = curv - L(i) end end else if H(i) > curv then if maxcurv < H(i) - curv then maxcurv = H(i) - curv end end end end for i = curfrom, index do curv = i*k + C(curto) - curto*k + vsign*maxcurv SetValue(i, 4,curv) curv2 = curv+ vsign*Settings.linedeltaY*C(vsize)/100 SetValue(i, 7,curv2) end end curv = nil end if voldMaxindex <= voldMinindex then vsign = -1 if curfrom == voldMaxindex then vsign = 1 end if curfrom == voldMinindex then vsign = -1 end -- inclined line if curto- curfrom > 0 then maxcurv = 0 k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, curto do curv = i*k + C(curto) - curto*k if vsign == -1 then if L(i) < curv then if maxcurv < curv - L(i) then maxcurv = curv - L(i) end end else if H(i) > curv then if maxcurv < H(i) - curv then maxcurv = H(i) - curv end end end end for i = curfrom, index do k = (C(curto)- C(curfrom))/(curto- curfrom) curv = i*k + C(curto) - curto*k + vsign*maxcurv SetValue(i, 4,curv) curv2 = curv+ vsign*Settings.linedeltaY*C(vsize)/100 SetValue(i, 7,curv2) end end curv = nil end end end end return ve, veu, vel, curv, veu2, vel2, curv2 end