Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему 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(); } } } }
Писал коментарий к посту http://smart-lab.ru/blog/262419.php, но он получается очень объемным. Решил немного расширить и оформить отдельным постом. Возможно, кому-то будет полезным.
Опишу немного нестандартные способы автоматизации трейдинга, фильтрации акций и геренации сигналов для частного трейдинга и неглубокой разработки. В моем понимании из одной задачи вытекают другие.
АПИ платформ, TOS и платные программы описывать не буду. Информации и так очень много в свободном доступе. Кто захочет-найдет.
Первый вопрос — где брать маркет дату. Историческую и в удобном формате.
Совсем бесплатно проблематично найти что то стоящее. Никто не дает маркет дату бесплатно. риал тайм можно брать с яху финанс, через их апи и получать, например, в эксель, но история доступна в дневках только. Риал тайм, без истории в тот же эксель можно тянуть из стерлинга через АПИ или через RTD add in, что проще. Другой костыль — брать АПИ фьюжина(можно демку) и качать историю куда-то. Тут уже нужно писать свой код.
Теперь о платных вариантах