2013-05-12

Идея внутридневной системы для акций из Наздак100

Если цена пробивает уровень, она во-первых задевает скопления стопов, так как их, обычно, ставят за уровнем. Во-вторых, сразу же вступают в игру пробойщики, которые покупают акции на пробой. В связи с этим, по идее, цена еще может по инерции пройти некоторое расстояние после пробоя. Если же цена возвращается обратно к уровню, который был пробит, там акцию подхватывают участники, которые не успели купить при пробое и ждали отката. Поэтому есть надежда на то что цена уже не уйдет ниже линии пробоя, так как по идее уровень сопротивления уже стал уровнем поддержки.

Проблема в том, что считать уровнями. Надо чтобы эти уровни видели все участники, чтобы они были очевидными для зрительного восприятия. Скорее всего этим качествам будут соответствовать уровни, проведенные от очевидного экстремума. Если экстремумом считать хай, до и после которого было по 2 бара (так называемый форексный фрактал), то это не всегда заметный экстремум. А вот если взять хай, до и после которого было по 7, например, баров, то это всегда заметный экстремум и его видят все. И уровень, проведенный от этого хая всегда очевиден.

Какие нужны инструменты для такой торговли -- конечно же ликвидные и с поддержкой институционалов и маркетмейкеров, которые не допустят беспредела и откровенных хаотичных колебаний. При этом они должны быть волатильными. Этим качествам лучше всего отвечают акции из индекса Наздак- 100.

Итак, будем покупать акции на пробое линии сопротивления. Закрывать позицию в конце дня.

Когда цена подойдет к линии сопротивления, она уже прошла какое-то расстояние. И если после пробития уровня сопротивления, пройдет, например, еще расстояние равное своему дневному диапазону, то, наверное, логично было бы зафиксировать прибыль, так как довольно часто после такого восходящего движения фиксация прибыли неминуема и цена начнет корректироваться. Поэтому примем условие фиксировать прибыль после прохождения 1*ATR после открытия позиции.


Это код для WealthLab-6

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators;

namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
StrategyParameter strategyParameter1;

public MyStrategy()
{
strategyParameter1 = CreateParameter("Fractals", 2, 1, 20, 1);
}

protected override void Execute()
{

DataSeries HH = SwingHi.Series(High, strategyParameter1.ValueInt, 0, strategyParameter1.ValueInt, 0, 1E-06, false, false, false, true);
DataSeries LL = SwingLo.Series(Low, strategyParameter1.ValueInt, 0, strategyParameter1.ValueInt, 0, 1E-06, false, false, false, true);
DataSeries TP = ATR.Series(Bars, 10);
PadBars( 10 );
PlotSeries(PricePane,HH + TP,Color.Blue,LineStyle.Dots,3);
PlotSeries(PricePane,HH,Color.Blue,LineStyle.Dots,4);


for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
SellAtLimit(bar, LastPosition, LastPosition.EntryPrice + ATR.Value(bar-1, Bars, 10), "limit");
SellAtClose(bar, LastPosition, "");

}
else
{
// if (SMA.Value(bar, Volume, 20) * SMA.Value(bar, Close, 20) > 10000000)
if (High[bar] < HH[bar])
if (HH[bar] > Highest.Value(bar, High, strategyParameter1.ValueInt))
{
BuyAtStop(bar+1, HH[bar], "");
RiskStopLevel = HH[bar] - ATR.Value(bar, Bars, 10);
}
}
}
}
}
}

Попробуем проверить на тесте, будем ли иметь статистическое преимущество в этом. Для этого необходимо задействовать все акции, чтобы не потерялось ни одной сделки. Выставим капитал 100 000, а на позицию выделим 1% от капитала. Так как имеем 100 акций, то денег хватит на все возможные сделки.

За последних четыре года имеем такую картину




Видно что преимущество есть. Недостатки -- слишком маленькая прибыль в средней сделке. Но это пока всего лишь только грубая проверка идеи.

Теперь надо рассматривать сделки и попробовать понять что объединяет убыточные сделки чтобы применив какие-то фильтры повысить качество отбора акций. Или еще как-то. Так как это пока что не система, а всего лишь идея

Комментариев нет:

Отправка комментария