Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему 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, что проще. Другой костыль — брать АПИ фьюжина(можно демку) и качать историю куда-то. Тут уже нужно писать свой код.
Теперь о платных вариантах