четверг, 7 февраля 2013 г.

сдвинуть индикатор назад tslab

Edited by andy (Tue Aug 17 2010 07:26 PM)

(3222 downloads) (3155 downloads) (3255 downloads) (283 downloads) (284 downloads) (223 downloads)

Привет всем,Готов еще один интересный индикатор для TSLab индикатор Ишимоку (Ichimoku). Ниже дано его описание, взятое с Индикатор Ишимоку определяет уровни поддержки и сопротивления, а также точный временной интервал входа в рынок при пробое уровней.Также имеется толковая книга, описывающая работу с индикатором: «Индикатор Ишимоку как основа торговой системы», Терехов А.Ю. Описание индикатора ИшимокуИндикатор Ишимоку Кинко Хайо представляет из себя набор из пяти линий (Тенкан-сен, Кинджун-Спен, Сенкоу-Спен «B», Чикоу-Спен). Он довольно эффективно работает при начале начинающейся новой тенденции, т.е четко выялвяет начало, направление и точки входа в рынок.Опишем кратко линии индикатора и какую функцию они выполняют.1. Тенкан-Сен (разворотная линич) (красная линия) определяет краткосрочную линию тенденции, сигнализирующая начало «быстрой» тенденции. Показывает направление текущей краткосрочной тенденции и являясь средним значением за первый промежуток времени (high +low)/2 (high, low максимум, минимум). Если линия Тенкан-Сен находится в восходящей направлении, то на рынке присутствует повышательная тенденция, если же линия направлена вниз- то на рынке присутствует нисходящий тренд. Если же линия параллельна оси времени то на рынке затишься.2. Киджун сен (основная линия) (синяя линия) долгосрочная линия тенденции. Показывает тренд более старшего временного промежутка, его направление. Т.е если линия киджун сен идет вверх- то рынок бычий, если же направлена вниз- то рынок медвежий.3. Сенкоу-Спен «А» - (опережающая линия) определяется как середина торгового диапазона линий тенкан-сен и Кинжун-сен и сдвинутого вперед на величину второго временного промежутка. Линия сенкоу-спен является верхней границей «облака», а также сопротивлением и поддержкей.Сенкоу-Спен «В» - (опережающая линия) определяется как середина максимума и минимума за длинный (третий) временной интервал и сдвинутый вперед на величину второго временного промежутка Сенкоу Спен «В». Также является нижней границе облака Ишимоку.4 . Чикоу-Спен (запаздывающая линия) это график цен закрытия, сдвинутый на некоторый временной промежуток. Обычно составляет 5, 9, 26, 34Облако ишимоку.Облаком Ишимоку является промежуток между линиями Сенкоу-А и Сенкоу В и обычно штрихуется в другой цвет.Параметры индикатора ишимоку Параметрами по-умолчанию индикатора Ишимоку является:Тенкан-Сен: 9Киджун-Сен: 26Сенкон-Спен В: 52Важная особенность индикатора состоит в том, что если цена располагается выше, так называемого, «облака, то на рынке повышательная тенденция. Если же цена располагается ниже «облака», то рынок медвежий. А если цена располагается внутри самого «облака», то это боковая тенденция и стоит находиться вне рынка.Исходный кодКод индикатора приведен ниже. Просьба спецов по .Net и по TSLab прокомментировать, где можно улучшить код-производительность и т.д. Планирую еще выкладывать индикаторы, хочется писать сразу хорошо.using System.Collections.Generic;using System.Linq;using TSLab.Script;using TSLab.Script.Handlers;using TSLab.Script.Helpers;namespace TSLab.Community.Ichimoku{ public abstract class BaseSen { public virtual int Period { get; set; } public IList<double> Execute(ISecurity source) { // for cacheing purpose using Context.GetData var high = Context.GetData("Highest", new[] { Period.ToString() }, () => Series.Highest(source.HighPrices, Period)); var low = Context.GetData("Lowest", new[] { Period.ToString() }, () => Series.Lowest(source.LowPrices, Period)); IList<double> list = new List<double>(high.Count); for (int i = 0; i < high.Count; i++) { var avg = (high[i] + low[i]) / 2; list.Add(avg); } return list; } public IContext Context { get; set; } } public class TenkanSen : BaseSen, IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "9", Min = "3", Max = "25", Step = "1")] public override int Period { get; set; } } public class KijunSen : BaseSen, IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "26", Min = "5", Max = "52", Step = "1")] public override int Period { get; set; } } public class SenkouA : IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "9", Min = "3", Max = "25", Step = "1")] public int TenkanPeriod { get; set; } [HandlerParameter(true, "26", Min = "5", Max = "52", Step = "1")] public int KijunPeriod { get; set; } public IList<double> Execute(ISecurity source) { var tenkan = new TenkanSen { Period = TenkanPeriod, Context = Context }.Execute(source); var kijun = new KijunSen { Period = KijunPeriod, Context = Context }.Execute(source); var count = source.HighPrices.Count + KijunPeriod; var result = new double[count]; for (int i = 0; i < source.HighPrices.Count; i++) { var middle = kijun[i] + (tenkan[i] - kijun[i]) / 2; result[i+KijunPeriod] = middle; } return result; } public IContext Context { get; set; } } public class SenkouB : IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "52", Min = "25", Max = "255", Step = "1")] public int Period { get; set; } [HandlerParameter(true, "26", Min = "5", Max = "52", Step = "1")] public int KijunPeriod { get; set; } public IList<double> Execute(ISecurity source) { var avg = new TenkanSen { Period = Period, Context = Context }.Execute(source); var count = source.HighPrices.Count + KijunPeriod; var result = new double[count]; for (int i = 0; i < source.HighPrices.Count; i++) { result[i + KijunPeriod] = avg[i]; } return result; } public IContext Context { get; set; } } public class Chinkou : IBar2DoubleHandler, IContextUses { [HandlerParameter(true, "26", Min = "5", Max = "52", Step = "1")] public int KijunPeriod { get; set; } public IList<double> Execute(ISecurity source) { var close = source.ClosePrices; var result = new double[close.Count-KijunPeriod]; for (int i = 0; i < result.Count(); i++) { result[i] = close[i + KijunPeriod]; } return result; } public IContext Context { get; set; } }Индикатор в редакторе Где находится

#26 Индикатор Ишимоку/Ичимоку/Ichimoku код+dll

#8882 - Sat Jul 24 2010 01:43 PM

» » »       » » #26 Индикатор Ишимоку/Ичимоку/Ichimoku код+dll

У вас не стоит Flash Player

#26 Индикатор Ишимоку/Ичимоку/Ichimoku код+dll - TSLab.ru

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

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