Избранное трейдера Boris
Settings = { Name = "xPc5", period = 24, line= { { Name = "xPc5", Color = RGB(0, 128, 0), Type = TYPE_LINE, Width = 2 }, { Name = "xPc5", Color = RGB(255, 64, 64), Type = TYPET_BAR, Width = 3 }, { Name = "xPc5", Color = RGB(64, 64, 255), Type = TYPET_BAR, Width = 3 } } } ---------------------------------------------------------- function c_FF() return function(ind, _p) local period = _p local index = ind local MAX_ = 0 local MIN_ = 0 local MAX2_ = 0 local MIN2_ = 0 if index == 1 then MAX_ = C(index) MIN_ = C(index) MAX2_ = C(index) MIN2_ = C(index) return nil end ---------------------------------------------------------------------- period = _p if index < period then period = index end MAX_ = H(index) MIN_ = L(index) MAX2_ = 0 MIN2_ = 0 for i = 0, (period-1) do if MAX_ < H(index-i) then MAX_ = H(index-i) end if MIN_ > L(index-i) then MIN_ = L(index-i) end MAX2_ = MAX2_ + MAX_ MIN2_ = MIN2_ + MIN_ end MAX2_ = MAX2_/(period) MIN2_ = MIN2_/(period) return (MAX2_+MIN2_)/2, MAX2_, MIN2_ end end function Init() myFF = c_FF() return 3 end function OnCalculate(index) return myFF(index, Settings.period) end
Settings = { Name = "xLinReg", period = 128, deviation=2, line= { { Name = "xLinReg", Color = RGB(0, 0, 255), Type = TYPE_LINE, Width = 3 }, { Name = "xLinReg", Color = RGB(192, 0, 0), Type = TYPE_LINE, Width = 3 }, { Name = "xLinReg", Color = RGB(0, 128, 0), Type = TYPE_LINE, Width = 3 } } } ---------------------------------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- function c_FF() local AMA={} local CC={} return function(ind, _p,_ddd) local period = _p local index = ind local vol = 0 local sigma = 0 local sigma2 = 0 local aav = 0 local bb = 0 local ZZZ = 0 if index == 1 then AMA={} CC={} CC[index]=(C(index)+H(index)+L(index))/3 AMA[index]=(C(index)+O(index))/2 return nil end ------------------------------ AMA[index]=AMA[index-1] CC[index]=(C(index)+H(index)+L(index))/3 --------------------- if index < (_p) then return nil end ---------------------------------------------------- period =_p if index < period then period = index end --------------- sigma=0 sigma2=0 aav=0 ZZZ=0 for i = 0, period-1 do ZZZ=CC[index+i-period+1] aav=aav+ZZZ sigma=sigma+ZZZ*(-(period-1)/2+i) sigma2=sigma2+(-(period-1)/2+i)^2 end ------------------------ bb=sigma/sigma2 aav=aav/period AMA[index]=aav+bb*((period-1)/2) ---------линейная регрессия ------------------------------- sigma=0 sigma2=0 sigma3 = 0 for i = 0, period-1 do ZZZ=CC[index+i-period+1] sigma2=aav+bb*(-(period-1)/2+i) sigma=sigma+(ZZZ-sigma2)^2 end sigma=(sigma/period)^(1/2) for i = 1, period-1 do ZZZ=aav+bb*(-(period-1)/2+i) SetValue(index+i-period+1, 3, ZZZ) SetValue(index+i-period+1, 2, ZZZ+sigma*_ddd) SetValue(index+i-period+1, 1, ZZZ-sigma*_ddd) end SetValue(index+0-period+1, 3, nil) SetValue(index+0-period+1, 2, nil) SetValue(index+0-period+1, 1, nil) ---------------------------------- return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index] end end ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- ---------------------------- function Init() myFF = c_FF() return 3 end function OnCalculate(index) return myFF(index, Settings.period,Settings.deviation) end
Всех приветствую.
Представляю вашему вниманию торгового робота на основе индикатора Индекс относительной силы (Relative Strength Index, RSI). Данный торговый робот позволит вам торговать трендовую или контртрендовую стратегию на рынке ММВБ акциями или фьючерсами. Робот анализирует индикатор и принимает на основе этого торговые решения, позволяя тем самым автоматизировать торговлю. В этой статье расскажу, как запустить робота и опишу торговый алгоритм, реализованный в механической торговой системе (МТС).
По большому счету — это обычный трендовый индикатор, который своими точками указывает на момент разворота тренда, пусть и не всегда удачно, но идеальных индикаторов не существует. Для формирования торговых сигналов используется стандартный индикатор Larry Williams` Percent Range.
Параметр у данного индикатора всего один, но он очень важен, так как отвечает за частоту появления точек на графике. Этот параметр не может быть меньше «3», так как индикатор начинает работать нестабильно и часто неправильно. Но при увеличении значения не значит, что сделки будут появляться часто, как раз наоборот, фильтр становится жестче и сигналов становится меньше, что позволяет отлавливать более затяжные тренды.
Взято отсюда: http://findicators.com/indikator-asctrend
Settings={ Name = "Fractal_Chennal", period=5, line={ { Name = "Level_High", Type =TYPE_LINE,-- = LINE --линии = DASH -- тире = POINT -- точки Width = 1, Color = RGB(0,255, 0)--green }, { Name = "Level_Low", Type =TYPE_LINE, Width = 1, Color = RGB(255,0,0)--root }}} idx_prosl=0 function Init() return 2 end function OnCalculate(idx) if idx==1 then P = math.floor(Settings.period/2)*2+1 message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1) t_H,t_L={},{} end if idx~=nil and idx>P then if idx_prosl~=idx then local l=idx-P for l=l,idx-1 do t_H[l]=H(l) t_L[l]=L(l) end if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then H_ind_value=t_H[#t_H-(P-1)/2] end if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then L_ind_value=t_L[#t_L-(P-1)/2] end end else H_ind_value=nil L_ind_value=nil end idx_prosl=idx return H_ind_value, L_ind_value endКак пользоваться:
9. Работа на послеторговых сессиях.
Только наиболее ликвидные бумаги. Требование маржинальности и доступности в шорт.
Вход.
После окончания основных торгов, начиная с 18:40, ищем в «стаканах» крупную заявку, которая явно может сдвинуть результирующую цену послеторговой сессии в свою сторону. Цена должна сильно (на 0,8-1%) отличаться от Цены закрытия последней свечи основных торгов. Встаем перед ней ей в противоход.
Объем.
Без плечей, таким объемом, чтобы не сдвинуть «стакан».
Выход.
На предторговой сессии или на открытии основных торгов следующего дня.
Если мировые рынки, в первую очередь американский, пойдут против позиции, Цена чаще всего открывается близко к точке входа. В этом случае выход по безубытку или с небольшим убытком.
В противном случае цель — половина полученной разницы между ценой входа в позицию и ценой закрытия последней свечи основных торгов.
Стоп: отсутствует.
6. Свечные паттерны. Разворот
Рисунок 23
После сильной дневной свечи (от 2%) появляется свеча противоположного направления, также не менее 2%, и закрытие на макс/мин дня. Тень в направлении второй свечи не более 0,3%.
В позицию пока не входим, ждем третий день.
Если следующая свеча пробивает уровень первой и второй свечи гэпом по направлению второй свечи — входа нет.
Условие входа: открытие против второй, сигнальной свечи, или на уровне макс/мин сигнальной свечи.
Вход — стоп-приказом на уровне макс/мин второго дня (по его направлению).
Объем 2-3 плеча.
Стоп 0,3% от точки входа.
Цель — 0,5% для первых 50% позиции и 1% для вторых 50% позиции.
Если первые 50% позиции закрыты по цели 0,5%, стоп переносится на уровень цены входа в позицию.
Удержание позиции не более 30 минут.
Переноса позиции нет.
Направление позиции лонг/шорт.
4. Контртренд.
Работает для 30 наиболее ликвидных бумаг.
Точка входа ищется только в первые 2 часа торгов.
Не использовать, если по акции вышла новость, вызвавшая сильное движение цены (до недели тому назад) .
Вход только на свои, без плечей.
Направление позиции лонг/шорт.
При прочих равных, выбирается более «быстрая» бумага.
Желательно, чтобы бумага опережала рынок, или шла в против рынка.
Ищем бумагу, которая в первые 2 часа работы выросла на 2,5-3%. Рост отсчитывается от последней сделки вчерашнего дня, результаты послеторговой сессии не учитывается.
Вход против движения на 50% портфеля.
По-возможности ищется плотность котировок в стакане и заявка размещается перед ней (± 10 копеек).
Откуп позиции — 0,5% от точки входа.
Если после входа цена не откатывает и не продолжает движение, т.е. консолидируется, то выход через 30 минут.
Если рост продолжается до 3,5-4%, вход на оставшиеся 50% портфеля.
Стоп устанавливается на усмотрение трейдера — 4,3-4,5% роста бумаги.
При доливке позиции, средняя цена получается в районе 3—3,5% роста.
Цель устанавливается на 0,5% ниже средней цены позиции.
Есть выход по времени — макс. 30 минут после доливки.
За картинки сорри — принтскрин с PDF
Торговые стратегии трейдера ТАТАРИН30
Содержание
1.Предисловие.
2. Рост/падение 5 дней подряд.
3. Лидеры роста. 4,5%.
4. Контртренд.
5. Статистический арбитраж ФСК ЕЭС — Россети.
6. Свечные паттерны. Разворот
7. Свечные паттерны. Продолжение
8. Свечные паттерны. Треугольники
9. Работа на после торговых сессиях
10. Фьючерсы
11. Вход при пробое границы коридора.
1. Предисловие.
В настоящем обзоре приводятся стратегии успешного трейдера, ведущего свой блог на Смартлабе.
Основанием для написания послужило обучение, пройденное у него некоторое время назад. Обладая собственным значительным опытом торговли на фондовой бирже, должен отметить, что все предложенные стратегии являются рабочими. Однако возможность практической работы по ним несколько различается. Для некоторых стратегий возможна простая торговля «руками», для других предпочтительна небольшая «механизация» в виде вспомогательных программ и/или скриптов, реализацию третьих либо полу-, либо полностью автоматизировать.