Избранное трейдера chuikapridi
Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему Larry Connors. Стратегия построена на простом RSI с периодом 2.
Суть ее в следующем:
покупаем индексный ETF, когда значение меньше 15 на закрытии дня (да, это можно сделать без проблем и проскальзываний на всех ликвидных ETF) и продаем, когда клоуз текущего дня выше хая предыдущего (можете придумать свои выходы, стратегия не очень-то чувствительна к выходам).
В общем MR в чистом виде. И в принципе это должно работать на большинстве ETF развитых рынков.
Тестил на Multicharts.Net, код ниже.
using System; using System.Drawing; using System.Linq; using PowerLanguage.Function; using ATCenterProxy.interop; namespace PowerLanguage.Strategy { public class rsi_2_spy : SignalObject { public rsi_2_spy(object _ctx):base(_ctx){} private IOrderMarket buy_order; private IOrderMarket sell_order; private RSI m_RSI; private VariableSeries<Double> m_myrsi; private ISeries<double> Price { get; set; } protected override void Create() { // create variable objects, function objects, order objects etc. buy_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy)); sell_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell)); m_RSI = new RSI(this); m_myrsi = new VariableSeries<Double>(this); } protected override void StartCalc() { // assign inputs Price = Bars.Close; m_RSI.price = Price; m_RSI.length = 2; } protected override void CalcBar(){ // strategy logic m_myrsi.Value = m_RSI[0]; if (Bars.Close[0]>Bars.High[1]){ sell_order.Send(); return; } if (m_RSI[0]<15){ buy_order.Send(); } } } }
Продолжение. Начало здесь.
2.3. Расчет показателей
Для каждой пары мы рассчитываем пять показателей в тренировочном и проверочном периодах, а именно годовую прибыль, коэффициент Шарпа, среднее время сделки, приведенную к году частоту сделок, и прибыль за сделку.
Дневную прибыль рассчитаем следующим образом:
Воины-победители сначала побеждают и только затем вступают в бой, те же, кто терпят поражение, сначала вступают в битву, и только затем пытаются победить.
Уговорили меня продать моего робота.
Того самого что идет на трансляции с июня прошло года — трансляция. Которую вы могли наблюдать почти в реальном времени. Полтора года не собирался, но так совпало что на фонде появилась более перспективная идея, поэтому эту систему я продам. Я продолжу сам ей пользоваться в своей торговле, но видоизменю.
Писал о данной системе я тут, тут, тут, тут, тут, тут, тут, тут, тут, тут, тут, тут,
О данном алгоритме:
1. Дата создания первой вариации – конец 2014, начало первой эксплуатации 01.2015, начало трансляции которая идет по сегодняшний день – 06.2015. Перевод под версию программы 2.0 – 05.2016.