compaq Posted November 10, 2010 Share Posted November 10, 2010 Всем привет. Наткнулся на описание этого индикатора на сайте и там написано. Расчет значения линии индикатора, происходит очень просто, если тренд восходящий(CCI(50)>0), то к максимуму свечи, прибавляется значение ATR(5), результат суммирования и есть значение индикатора. Если же тренд нисходящий(CCI(50)<0), то значение получается, путем вычитания ATR(5) из минимума свечи. У меня получился такой код protected override void Execute() { ATR atr = ATR.Series(Bars, 5); CCI cci = CCI.Series(Bars, 50); DataSeries superTrend = new DataSeries(Bars, "Super Trend"); for (int bar = 50; bar < Bars.Count; bar++) { if(cci[bar] > 0) { superTrend[bar] = High[bar] + atr[bar]; } else if(cci[bar] < 0) { superTrend[bar] = Low[bar] - atr[bar]; } } PlotSeries(PricePane, superTrend, Color.Blue, WealthLab.LineStyle.Solid, 1); } Но по моему это не совсем то что показывают на скринах с описанием супертренда. Может у кого то есть идеи где я накосячил? Link to comment Share on other sites More sharing options...
mischanik Posted November 10, 2010 Share Posted November 10, 2010 Всем привет. Может у кого то есть идеи где я накосячил? Привет! Просто описание неверно. Link to comment Share on other sites More sharing options...
compaq Posted November 10, 2010 Author Share Posted November 10, 2010 Привет! Просто описание неверно. А если не секрет где можно найти описание? А то не чего внятного нагуглить так и не получилось. Link to comment Share on other sites More sharing options...
mischanik Posted November 10, 2010 Share Posted November 10, 2010 А если не секрет где можно найти описание? А то не чего внятного нагуглить так и не получилось. А зачем Вам описание. :dntknw: Link to comment Share on other sites More sharing options...
compaq Posted November 10, 2010 Author Share Posted November 10, 2010 А зачем Вам описание. :dntknw: В wealth-lab developer среди встроенных индикаторов его нет. Так что остаётся писать самому. А без нормального описания это проблематично. Link to comment Share on other sites More sharing options...
mischanik Posted November 11, 2010 Share Posted November 11, 2010 В wealth-lab developer среди встроенных индикаторов его нет. Так что остаётся писать самому. А без нормального описания это проблематично. можно же посмотреть код супертренда. Вот тут можно спросить Link to comment Share on other sites More sharing options...
compaq Posted November 11, 2010 Author Share Posted November 11, 2010 можно же посмотреть код супертренда. Вот тут можно спросить На сколько я понял у них получилось тоже самое что и у меня вот их код namespace SuperTrend { public class SuperTrend:IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "50", Min = "5", Max = "100", Step = "1")] public int PeriodCCI { get; set; } [HandlerParameter(true, "1", Min = "1", Max = "30", Step = "1")] public int PeriodATR { get; set; } public IList<double> Execute(ISecurity source) { var h = source.HighPrices; var l = source.LowPrices; var c = source.ClosePrices; var atr = Series.EMA(Series.TrueRange(source.Bars), PeriodATR);// получаем atr var cci = Series.CCI(source.Bars, PeriodCCI); // получаем cci IList<double> list = new List<double>(c.Count); // делаем SuperTrend нужного размера for (int i = 0; i < c.Count; i++)// приходимся по барам { var cm = h[i] + atr[i];// считаем значение SuperTrend для нужного бара при cci[i]> 0 var cb = l[i] - atr[i];// считаем значение SuperTrend для нужного бара при cci[i]< 0 var st = cci[i]> 0 ? cb : cm; //смотрим какое сейчас значение cci list.Add(st);//сохраняем значение SuperTrend для бара } return list;//возвращаем готовенький SuperTrend } public IContext Context { get; set; } }} Но как я понял это не правильный код по тому что он будет скажем так пилообразный, а на скринах сепер тренда в инете он по большей части плоский Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.