Довольно интересный индикатор придумал Джон Мерфи, автор нескольких популярных книг по теханализу. Этот индикатор анализирует силу акции в группе других акций, относительную ее силу. То есть, можно, например, в каком нибудь индексе, например SP-500, выбрать десять самых сильных акций и десять самых слабых на данный момент. Индикатор учитывает движение цены на длинном периоде, на среднем и на коротком, причем, больший вес придается поведению цены на длинном периоде, потом на среднем и менее всего учитывается короткий период.
Полное описание индикатора SCTR можно почитать тут:
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:sctr
По мотивам этой инструкции сделал себе скринер для сортировки по SCTR для WealthLab:
А самая слабая, так:
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:sctr
По мотивам этой инструкции сделал себе скринер для сортировки по SCTR для WealthLab:
И если прогнать этот скрипт на индексе SP из 500 акций, и рассортировать их по величине индикатора, то можно определить группу самых сильных акций на текущий момент и группу самых слабых. Для примера, самая сильная акция выглядит так: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{protected override void Execute(){DataSeries ma1 = EMA.Series(Close, 200, WealthLab.Indicators.EMACalculation.Modern); DataSeries LT_EMA = 0.3 * 100 * (Close - ma1) / ma1;DataSeries roc1 = ROC.Series(Close, 125);DataSeries LT_ROC = roc1 * 0.3;DataSeries ma2 = EMA.Series(Close, 50, WealthLab.Indicators.EMACalculation.Modern); DataSeries MT_EMA = 0.15 * 100 * (Close - ma2) / ma2;DataSeries roc2 = ROC.Series(Close, 20);DataSeries MT_ROC = roc2 * 0.15;DataSeries ppo1 = PPO.Series(Close, 12, 26);DataSeries ppo_hist = ppo1 - EMA.Series(ppo1, 9, WealthLab.Indicators.EMACalculation.Modern); double Slope = 0;double ST_PPO = 0;DataSeries rsi1 = RSI.Series(Close, 14);DataSeries ST_RSI = rsi1 * 0.05;// double TR = 0;DataSeries stoch = StochK.Series(Bars, 5);DataSeries ma250 = EMA.Series(Close, 250, WealthLab.Indicators.EMACalculation.Modern); DataSeries TR = new DataSeries(Bars, "TR");// ChartPane Pane1 = CreatePane( 60, true, true );// PlotSeries(Pane1,LT_EMA,Color.Green,LineStyle.Solid,1); // ChartPane Pane2 = CreatePane( 60, true, true );// PlotSeries(Pane2,LT_ROC,Color.Green,LineStyle.Solid,1); // ChartPane Pane3 = CreatePane( 60, true, true );// PlotSeries(Pane3,MT_EMA,Color.Green,LineStyle.Solid,1); // ChartPane Pane4 = CreatePane( 60, true, true );// PlotSeries(Pane4,MT_ROC,Color.Green,LineStyle.Solid,1); // ChartPane Pane5 = CreatePane( 60, true, true );// PlotSeries(Pane5,ppo_hist,Color.Green,LineStyle.Histogram,1); // ChartPane Pane6 = CreatePane( 60, true, true );// PlotSeries(Pane6,ST_RSI,Color.Green,LineStyle.Solid,1); ChartPane Pane7 = CreatePane( 60, true, true );PlotSeries(Pane7,TR,Color.Green,LineStyle.Solid,1); for(int bar = 250; bar < Bars.Count; bar++){Slope = (ppo_hist[bar] - ppo_hist[bar-2]) / 3;ST_PPO = 0.5 * 10000 * Slope;// PrintDebug(ST_PPO );TR[bar] = LT_EMA[bar] + LT_ROC[bar] + MT_EMA[bar] + MT_ROC[bar] + ST_PPO + ST_RSI[bar] + 1000;{if (bar == Bars.Count-1)BuyAtMarket(bar+1, TR[bar].ToString("0000.00"));}}}}}
А самая слабая, так:
в блумберге есть примерно аналогичный "индикатор" Relative rotation graph (RRG)
ОтветитьУдалитьПозволяет сравнить с индексом бумаги и определить, какие на данный момент сильнее-слабее индекса, а также круговорот бумаги в цикле слабеет-слабая-растёт-сильная
А также есть в IBD (http://www.investors.com) индекс относительной силы RS. Наверняка есть и другие варианты.
Удалить