day0markets.ru
day0markets.ru личный блог
12 августа 2016, 21:06

Buy High стратегия

Тест стратегии из поста http://smart-lab.ru/blog/343965.php 

Формализовал стратегию так, как я ее понял. 

1. Входа на следующий день, после обновления исторического хая. Тут есть неточности — историю брал с 2005 года. Не факт, что all time high был на этом промежутке. 
2. Предыдущее обновление хая было больше 90 дней назад и менее чем 200 дней назад. 
3. Примерно 500 ликвидных бумаг с NYSE/NASDAQ/AMEX. Без учета делистинга, без учета комиссий, без учета платы за плечо. Вроде бы без дивидендов (не уверен), дейли дата взята с Google Finance. 

4. Стоп в примере — 3%. Тейк — 90%. Можно взять больше стоп, результаты не критично меняются. 
5. Вход фиксированным BP на позицию. (взял 1000 на позу)

Код Multicharts.Net 

using System;
using System.Drawing;
using System.Linq;
using PowerLanguage.Function;
using ATCenterProxy.interop;

namespace PowerLanguage.Strategy {
        public class _INTEST_by_high_daily : SignalObject {
                public _INTEST_by_high_daily(object _ctx):base(_ctx){}
                private IOrderMarket buy_order;
                private IOrderMarket sell_order;
                double previous_high;
                double previous_high_low_range;
                double all_time_high;
                protected override void Create() 
                {
                        // create variable objects, function objects, order objects etc.
                        buy_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy));
                        sell_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell));
                }
                protected override void StartCalc() {
                        all_time_high =0;
                }
                protected override void CalcBar()
                {
                        // strategy logic 
                        if (Bars.High[0]>previous_high && previous_high_low_range<previous_high && previous_high == all_time_high)
                        {
                            buy_order.Send();
                        }
                        
                        if (StrategyInfo.MarketPosition>0 && Bars.Close[0]>StrategyInfo.AvgEntryPrice*1.9)
                                sell_order.Send();
                        
                        previous_high = Bars.High.Highest(200);
                        previous_high_low_range = Bars.High.Highest(90);
                        if (Bars.High[0]> all_time_high) all_time_high = Bars.High[0];
                        
                }
        }
}


Эквити и остальные результаты:

Buy High стратегия
Buy High стратегия
Buy High стратегия
Buy High стратегия


Мои выводы:
В таком виде это, конечно, торговать нельзя. Возможно, другие параметры дали бы лучшее количество прибыльных сделок. Возможно, если брать только grow stocks или акции с высокой бетой или специфические сектора, то результаты будут лучше. 

Желающие могут поковырять:)

16 Комментариев
  • SMA
    12 августа 2016, 21:50

    +++

    даже прогу узнаб -мультичартс нэт:)

  • михаил алексеев
    12 августа 2016, 21:57
    лихо ты ево закодировал
  • Johnny Tapia
    12 августа 2016, 22:06
    а ты попробуй без стопов, закрытие в конце сессии
  • baron_samedi
    12 августа 2016, 22:08
    Спасибо автор и хвала!
    За такими статьями сюда и хожу.
  • Антон Денисков (Fry)
    12 августа 2016, 22:22
    А помните Тимофей занялся первый раз алготрейдингом?
    Было это года три назад. Ща найду...
    smart-lab.ru/blog/100449.php
    • Johnny Tapia
      12 августа 2016, 23:19
      Fry (Антон), а это не блог ли JC?
      • Антон Денисков (Fry)
        12 августа 2016, 23:24
        Novi, точно! =))) Значит не Тима это был.
        • Johnny Tapia
          12 августа 2016, 23:32
          Fry (Антон), это jC
        • Johnny Tapia
          12 августа 2016, 23:46
          Fry (Антон), НУ ТЫ ДАЕШЬ, ПАМЯТЬ… СПРОС ТИМА…
  • PABLO ESCOBAR
    13 августа 2016, 00:27
    Код Java? Что за сайт Multicharts.Net?
  • Jeka-Original
    13 августа 2016, 00:59
    теперь бы еще дожить до этих пробитий хаев/лоев
  • Jeka-Original
    13 августа 2016, 01:00
     по фунту скоро обновим вот и проверим
  • Антон Ш
    13 августа 2016, 14:27
    Дейли дата взята с Google Finance
    Каким образом, засовывались исторические данные в multicharts? При помощи  ASCII файлов, или специальной программой?
  • Виталий Шандуров
    18 сентября 2016, 19:12
    Сам MultiCharts взять можно здесь, если нужен кому интереса ради: http://getanyplatform.com

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн