Избранное трейдера Самый лучший трейдер смартлаба
Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему 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();
}
}
}
}
Индикатор MACD широко известен среди трейдеров. Мне его сигналы помогают находить развороты и предупреждения о коррекциях. Много написано, как использовать его сигналы для открытия позиций, а мы сегодня рассмотрим прикладное применение в алготрейдинге.
Все будет тестироваться на Quantopian (см. сюда), писать код будем на Python. Рассмотрим следующие стратегии:

В серии следующих постов я расскажу о том, как проводить бэктестинг с помощью Python. Для тестирования торговых стратегий я использую сайт Quantopian. Почему именно его? Потому что он: а) простой и наглядный; б) дает доступ к бесплатным историческим данным; в) имеет богатый функционал.
Где скачать тики срочного рынка?
Есть Финам и МФД, оба источника в последнее время дают качественные данные.
Но у Финама есть ограничения по времени скачивания и объему одного файла.
МФД подвисает при подкачке за много дней.
Оказывается, есть еще один интересный источник данных для фьючерсов.
Данные предоставляет Церих: ftp://athistory.zerich.com/.
Данные совпадают с Финамом и МФД, проверено несколько дней.
Причем там хранятся не только тики, но и заявки, и можно собрать стакан.
Данные хранятся в формате qsh от Qscalp (http://www.qscalp.ru/),
который нужно еще разархивировать.
На www.qscalp.ru/ можно найти некоторые утилиты для обработки данных и торговый привод.
Но мне этого показалось недостаточно, пришлось дорабатывать.
Ниже результат, интерфейс в виде красивых окошек сделать поленился, но и так все понятно.
Сначала программа скачивает данные в формате qsh, потом их конвертирует.
Имейте в виду, некоторые фьючерсы необходимо домножить на число.
Например, фьючерс РТС нормирован на число 10, фьючерс MIX — на 25.
Для работы программы нужен .NET Framework 4.0.
Регистрация по ссылке необязательна, можно так скачать.
Пользуйтесь!
www.dropbox.com/s/flz70pnf325405f/qsh_example.exe?dl=0
Я конечно же не стану сейчас первооткрывателем, но как я уже говорил, трейдинг не то место, где можно придумать что-то новое! Тренд и флет!
Многие трейдеры, начинающие и не только не знают глобальную и важнейшую вещь. У рынка существует всего 2 фазы: это трендовая фаза движения или импульсная фаза и вторая фаза — это фаза консолидации или фаза баланса(флета).
Почему важно понимать, что есть эти фазы? Потому что в каждой из фаз рынка нужно действовать по разному!