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

Автор: yaad

#26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Jul 24 2010 01:43 PM

Привет всем,

Готов еще один интересный индикатор для TSLab – индикатор Ишимоку (Ichimoku).

Для версии программы 2.0 ЗДЕСЬ
Для версии программы 1.2 без ошибок Здесь
Стараниями jhgjrht




Ниже дано его описание, взятое с
http://www.forex-indicators.ru/description-indicator-ichimoku/

Индикатор Ишимоку определяет уровни поддержки и сопротивления, а также точный временной интервал входа в рынок при пробое уровней.

Также имеется толковая книга, описывающая работу с индикатором: «Индикатор Ишимоку как основа торговой системы», Терехов А.Ю. http://www.koob.ru/terehov_a_y/indikator_ishimoku_kak_osnova

Описание индикатора Ишимоку

Индикатор Ишимоку Кинко Хайо представляет из себя набор из пяти линий (Тенкан-сен, Кинджун-Спен, Сенкоу-Спен «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; }
}


Индикатор в редакторе



Где находится
Автор: profit

Re: Индикатор Ишимоку / Ичимоку / Ichimoku – код+dll - Tue Aug 17 2010 04:06 PM

Классная вещь.Вообще люблю японские технологии,машины,электроника всё это проверенно временем.Качество как правило выше крыши.Надо скрипт слепить попробовать японский.
Спасибо вам за труд!
Автор: 777

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Tue Aug 17 2010 08:22 PM

yaad, а линия Шимоку должна опережать на 25 минут? smile Я просто не в курсе...


Если компильнуть в таком коде:
Click to reveal..
Code:
using System.Collections.Generic;
using System.Linq;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;


namespace TSLab.Community.Ichimoku
{ 
	[HandlerCategory("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; }
    }

    	[HandlerCategory("Ichimoku")]
    public class TenkanSen : BaseSen, IBar2DoubleHandler, IContextUses
    {
        [HandlerParameter(true, "9", Min = "3", Max = "25", Step = "1")]
        public override int Period { get; set; }

    }
    	[HandlerCategory("Ichimoku")]

    public class KijunSen : BaseSen, IBar2DoubleHandler, IContextUses
    {
        [HandlerParameter(true, "26", Min = "5", Max = "52", Step = "1")]
        public override int Period { get; set; }
    }
	[HandlerCategory("Ichimoku")]
    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; }
    }
    	[HandlerCategory("Ichimoku")]

    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; }
    }
    	[HandlerCategory("Ichimoku")]

    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; }
    }
} 


То появится папочка Ишимоку, так мне кажется удобней пользовать большие индикаторы smile
Автор: 777

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Tue Aug 17 2010 08:31 PM

Да!, все красивые индикаторы имеют под собой (high[i]+low[i])/ 2, но такая средняя больше подходит к Форексу, там гэп-ов мало(зато если бывают, ого-го)

Предложение, пойти дальше чем япошки: (open[i]+low[i-1]+high[i-1]+close[i-1])/4
Тогда главная средняя будет учитывать открытие, что для русского рынка определяющее ...
Автор: 777

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Tue Aug 17 2010 08:37 PM

Хотя нет, так все загладим... можно просто (high[i]+low[i]+close[i]+open[i])/4

Кстати Вы взяли максим значения по периоду, наверно все же лучше брать все чистые значения по свече [i], потом сумма формулы по периоду
делить на период. Так и для компа быстрее и средняя красивее...
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Sep 01 2010 01:26 PM

SenkouA при включенном обновлении в реальном времени в лаборатории как то не понятно рисует вперёд.
Автор: Nektodron

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Sep 01 2010 01:32 PM

Code:

    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; }
    }


Не очень понятно, что делает этот код. На мой взгляд он не верный, т.к. выходная серия получается короче исходной, чего нельзя допускать.
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Sep 01 2010 01:37 PM

Что делать теперь?Редкий представитель страны восходящего солнца и не верный,басурманин.Надо его как то подправлять.Вдруг стрельнёт?
Хотя то что он рисует на реальную ситуацию не влияет.Просто вводит в заблуждение визуализация.

Кстати он и начинает отрисовывать тоже не совсем удобно с нуля несколько дней держит.
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Sep 01 2010 01:39 PM

Ещё бы знать это недостаток или преимущество.
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Sep 01 2010 01:48 PM

Он у меня уже лонг стратегический открыл и такая неадекватная ситуация.Реально куплены контракты.Что закрывать теперь что ли?
Автор: serg

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Nov 05 2010 01:19 AM

Доброго времени всем !
Спасибо за редкий индикатор !
Хочу обратиться с просьбой к автору:
1.Возможно ли провести штриховку облака ?
2.Учитывая слабые познания в области програмирования ( как мои лично, так и многих), обьединить данный индикатор в одну папку.
3. И что то там м-р Nektоkdron заметил......
Заранее спасибо.

Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 02:05 AM

Новогодний подарок! Бездвоздмездно, т.е. задаром!

Исправленная версия индикатора, плюс модификация о которой 777 говорил, плюс торговая система на C#, плюс ссылка на книжку.

Книжка на русском

Система рабочая, в будущее НЕ заглядывает.
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 11:06 AM

компилированна независимо?старую не снесёт?
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 11:09 AM

dll нет в папке.
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 02:52 PM

добавил в архив (в предыдущем сообщении) скомпилированную ДЛЛ

Имена классов те же, поэтому: либо старая версия, либо новая.
Исходники прилагаются, так что можете сделать все, что пожелаете.
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 03:00 PM

может цифру добавите к новой версии?старую сразу менять не хочется.
особенно рабочую.
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 03:31 PM

Пожалуйста. Специально для Вас. smile

Еще добавил "IchimokuCloud" - это, типа, заливка облака, доступными средствами.
Как все это сделать красиво, и в рамках одного индикатора объединить несколько линий и заливку - вопрос к разработчикам TSLab.

С уважением и наилучшими пожеланиями в НГ!
Автор: profit

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 04:12 PM

Спасибо.
Автор: 777

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Dec 27 2010 04:49 PM

Молодца! smile Спасибо!

С наступающим!
Автор: Sukhov

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Jan 07 2011 03:10 PM

Благодарю всех кто помогает smile А можно ли сделать сдвиг облака на N кол-во периодов, как это предусмотрено в квике? Ну оччч нужно :)))
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Jan 07 2011 05:00 PM

Можно.
В коде индикатора используйте что-то подобное:

var barsCount = source.Bars.Count;
var cloud = new double[ barsCount ];
int delta = -5;
int start = Math.Max(0, 0 - delta);
int finish = Math.Min(barsCount, barsCount - delta);
for (int i = start; i < finish; i++)
cloud[ i + delta ] = (i & 1) == 1 ? senkouA[ i ] : senkouB[ i ];

Здесь delta - это сдвиг результата на нужное кол-во шагов (периодов). Со знаком плюс - вперед, минус - назад.

Также, насколько я понимаю, должен помочь кубик "Сжать". У него есть параметр "Сдвиг" - это, похоже, то, что нужно. Но не помогает. smile
Если для кубика "Сжать" задать параметр "Интервал" в то же значение, что и в свойствах скрипта, а параметр "Сдвиг", например в 5, то, казалось бы он просто должен сдвинуть значения из источника на 5 шагов, но не сдвигает. Возможно - ошибка.

Со сдвигами надо быть внимательным: можно начать будущее предсказывать. smile
Автор: Sukhov

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 10 2011 10:32 PM

Благодарю вас, но я совсем не смыслю в C# и программировании. Может быть можно в выложенный индикатор добавить параметр сдвига какнить? smile Был бы очень признателен
Автор: backdoor_64

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Feb 12 2011 06:02 PM

хм, может подскажите, как и на чем тестируете.
прогонял по фьючу на газ - один слив
Автор: Sukhov

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Feb 14 2011 11:41 PM

Фьюч на РТС и обязательно нужен "горизонтальный сдвиг" как в quik'е. Торговля получается размеренная среднесрочная, не для маленьких депозитов...
Автор: Hukler

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Oct 06 2011 04:00 PM

Решил перенести из ветки ошибки

Уважаемый, jhgjrht. Хотел Вам задать вопрос, т.к. понял, что Вы один из разработчиков индикатора Ишимоку. Скажите, вот в блоке логическая формула стоит Чинкоу>закрытия. Скрипт будет сверять закрытие этого бара с точкой 26 баров назад или с тем, что сейчас Чинкоу=0? И как сделать так, чтобы скрипт все-таки сверял закрытие настоящего бара с точкой Чинкоу 26 баров назад?
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Oct 06 2011 08:17 PM

Originally Posted By: Hukler
Вы один из разработчиков индикатора Ишимоку.
Это не совсем так, моя роль скромнее, я лишь поправил ошибку в коде автора темы и выложил исправленную версию индикатора.

Originally Posted By: Hukler
Скажите, вот в блоке логическая формула стоит Чинкоу>закрытия. Скрипт будет сверять закрытие этого бара с точкой 26 баров назад или с тем, что сейчас Чинкоу=0?
Будет сравнивать с тем значением, что "сейчас".
При такой формуле на каждом шаге (свече) скрипт будет сравнивать текущее значение "Чинкоу" и текущее значение "закрытия", включая 26 последних свечей, где значение "Чинкоу"==0. Представьте вертикальную линию на графике. Она пересечет и значение цены и значение "Чинкоу", вот они в этой формуле и сравниваются.

Originally Posted By: Hukler
И как сделать так, чтобы скрипт все-таки сверял закрытие настоящего бара с точкой Чинкоу 26 баров назад?
Модифицировать формулу на что-то вроде:
Чинкоу[i-26]>закрытие[i-26]
Не забудьте задать параметр блока формулы "Начинать с" в 26.
Автор: Hukler

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Oct 06 2011 10:05 PM

Странно, но сделали как вы сказали, все результаты резко ухудшились......до этого все было в плюсе
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Oct 06 2011 10:37 PM

"Заглядывая в будущее" можно такие красивые картинки с результатами получать, ну просто загляденье. Выставив же такой скрипт на реальную торговлю результат будет случайным и скорее всего разочарующим.
Индикатор "Chinkou Span" - это цена сдвинутая в прошлое. Или другими словами текущее значение этого индикатора - это цена из будущего.
Автор: Hukler

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Oct 07 2011 07:30 AM

Получается с ваших слов что ишимоку "не работает" в жизни.....ведь Chinkou Span это составляющая ишимоку (по крайней мере так везде написано в литературе).
Не совсем понял, почему....может быть надо что-то править в логике скрипта, но вот так сразу рубить в плеча - какой тогда смысл было делать вообще этот индикатор для программы?
Автор: Valentine

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Wed Jun 13 2012 04:29 PM

Здравствуйте, уважаемые форумчане, подскажите а что значит trend и pos в данной торговой системе на графике? Скрин ниже
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Jun 16 2012 05:43 PM

Trend - результирующий сигнал торговой системы: 1 - нужно покупать; -1 - нужно продавать; 0 - нет сигнала.
Pos - (position) текущая открытая позиция: 1 - длинная; -1 - короткая; 0 - нет позиции.
Автор: Valentine

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sun Jun 17 2012 07:04 AM

Спасибо за ответ, это я так понимаю вшито в сам скрипт или выводит программа TSLab ?
Автор: Newbie

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Aug 03 2012 11:06 AM

Подскажите пожалуйста, что я не так делаю, у меня Чинкоу (Chinkou2) лежит на 0, если убираю его с графика то все корректно показывается. Период выставляю равный периоду Киджуну (Kijun).
Автор: chernikovd

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Dec 27 2014 03:53 AM

предлагаю заменить строки
var high = Context.GetData("Highest", new[] { Period.ToString() + source.Interval.ToString() },
() => Series.Highest(source.HighPrices, Period));
var low = Context.GetData("Lowest", new[] { Period.ToString() + source.Interval.ToString() },
() => Series.Lowest(source.LowPrices, Period));


на следующие

var high = Context.GetData("Highest" + source.Interval.ToString(), new[] { Period.ToString() + source.Interval.ToString() },
() => Series.Highest(source.HighPrices, Period));
var low = Context.GetData("Lowest" + source.Interval.ToString(), new[] { Period.ToString() + source.Interval.ToString() },
() => Series.Lowest(source.LowPrices, Period));


когда пользуешься сжатием, то не возможно получить графики на разных интервалах
Автор: Eugenio

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Nov 16 2015 01:09 PM

Originally Posted By: jhgjrht
Пожалуйста. Специально для Вас. smile

Еще добавил "IchimokuCloud" - это, типа, заливка облака, доступными средствами.
Как все это сделать красиво, и в рамках одного индикатора объединить несколько линий и заливку - вопрос к разработчикам TSLab.

С уважением и наилучшими пожеланиями в НГ!

Благодарю за великолепный индикатор.
Мне сейчас нужна помощь в корректной отладке так как тестирую на 5 минутном фрейме с периодами
12/288/2016
и не пойму как их правильно прописать веть есть 6 кубиков в которых присудствуют данные значения.
В стандартной раскладке транзака 3 значения http://prntscr.com/93btro

в днной конфигурации в каждом кубике есть разные значения
пробавал и так и так но в сути не получил повторение сходсво с транзаком. Где моя ошибка?

Заранее благодарен
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Tue Nov 17 2015 01:19 AM

Originally Posted By: Eugenio
Мне сейчас нужна помощь в корректной отладке так как тестирую на 5 минутном фрейме с периодами
12/288/2016
и не пойму как их правильно прописать веть есть 6 кубиков в которых присудствуют данные значения.
В стандартной раскладке транзака 3 значения http://prntscr.com/93btro

в днной конфигурации в каждом кубике есть разные значения
пробавал и так и так но в сути не получил повторение сходсво с транзаком. Где моя ошибка?

Заранее благодарен


Попробовал сделать, вот что получилось.




Вроде ничего не напутал, хотя упаришся эту паутину вязать.

Различия могут быть из-за данных. Если свечи разные, то и результат будет разным. Ну и не исключаю ошибки или различия в программной реализации индикаторов...
Автор: plugged

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 04 2016 09:20 PM

Вечер добрый!
подскажите пожалуйста как записать условие входа в сделку если есть 3 условия, два из которых описаны в логических формулах (нахождение цены/скользящих выше/ниже облака) а третье через обновляемое значение (интервал между пересечениями Тенкан и Киджун).
на вход ОЗ подал константу со значением "1".
получается все три условия на панели (картинка) имеют значение "1" когда мне нужно открыть позу, ну и закрыть по обратному условию.
Прошу прощения если вещь элементарная, я совсем недавно начал знакомство с ТсЛабом, да и рынок увидел не на много раньше, но индикатор Ишимоку как то запал в душу))), решил по экспериментировать.

Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 04 2016 10:27 PM

Объединить эти три условия, либо в одной логической формуле, либо с помощью кубика "И". Результат подать на соотв. вход блока открытия позиции, и.т.д.
Автор: plugged

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 04 2016 10:38 PM

Дело в том что третье условие (диапазон между пересечением снизу и пересечением сверху) я смог изобразить пока только через ОЗ, а ОЗ не присоединяется к блоку "И".
Когда пытаюсь подключить все три условия к отдельной формуле логической (чтоб ее потом подать на открытие позы) то все мои вариации с описанием логики в этом кубике не пропускает скрипт, ругаясь на не корректные символы или команды(((
Автор: plugged

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Tue Jan 05 2016 06:00 PM

Переработал третье условие из ОЗ в логическую формулы и получилось подать все три условия на блок "и". Вроде бы работает.
Автор: Seagull

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Oct 01 2016 10:39 PM

Вопрос к програмеру ичимоку версии ichimoku_v2... почему при закрытой торговой сессии чинкоу3 ложится на ноль значение равно нулю?? как этого избежать и может можно как то программно хранить последнее значение закрытия сессии??
Автор: rimusnic

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Jan 17 2019 12:41 PM

Добрый день!
Попробовал установить индикатор Ишимоку в TS Lab 2.0. Система выдала ошибку, в чем может быть причина.
Автор: ViL

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Thu Jan 17 2019 04:00 PM

Originally Posted By: rimusnic
Добрый день!
Попробовал установить индикатор Ишимоку в TS Lab 2.0. Система выдала ошибку, в чем может быть причина.

http://support.tslab.ru/index.php?/Knowl...12-v-versiyu-20
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=77649#Post77649
Автор: rimusnic

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Jan 18 2019 09:25 AM

Originally Posted By: ViL
Originally Posted By: rimusnic
Добрый день!
Попробовал установить индикатор Ишимоку в TS Lab 2.0. Система выдала ошибку, в чем может быть причина.

http://support.tslab.ru/index.php?/Knowl...12-v-versiyu-20
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=77649#Post77649


Пробую через SharpDevelop доработать, выдает след ошибки.
Что здесь нужно доработать?

Автор: ViL

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Fri Jan 18 2019 07:05 PM

1.2 TSlab.Script.Bar
2.0 TSLab.DataSource.DataBar
Автор: rimusnic

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sat Jan 19 2019 09:52 PM

Originally Posted By: ViL
1.2 TSlab.Script.Bar
2.0 TSLab.DataSource.DataBar

Где их взять и что с ними делать?
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Sun Jan 20 2019 01:36 PM

Originally Posted By: rimusnic

Попробовал установить индикатор Ишимоку в TS Lab 2.0. Система выдала ошибку, в чем может быть причина.

Перекомпилировал, вроде работает, но в детали не вникал.

Версия для TSLab 2.0
Автор: rimusnic

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 21 2019 10:44 AM

Originally Posted By: jhgjrht
Originally Posted By: rimusnic

Попробовал установить индикатор Ишимоку в TS Lab 2.0. Система выдала ошибку, в чем может быть причина.

Перекомпилировал, вроде работает, но в детали не вникал.

Версия для TSLab 2.0


Большое спасибо! Вроде работает!) Только Chinkou2 в конце графика падает в ноль - в чем может быть загвоздка?
Расскажите, пож-та, как вы перекомпилировали, возможно процесс и не сложный, но мне пока не известный((
Автор: jhgjrht

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 21 2019 11:20 AM

Chinkou2 - это цена закрытия свечи, сдвинутая влево на заданное периодом число свечей. В правой части графика значений Chinkou2 еще нет, взять их неоткуда. Указывайте тип линии "линия без нулей".

Сравните исходный код версий индикатора, увидите, что нужно было исправить. Детально расписывать это - это титанический труд.
Автор: rimusnic

Re: #26 Индикатор Ишимоку/Ичимоку/Ichimoku – код+dll - Mon Jan 21 2019 03:03 PM

Originally Posted By: jhgjrht
Chinkou2 - это цена закрытия свечи, сдвинутая влево на заданное периодом число свечей. В правой части графика значений Chinkou2 еще нет, взять их неоткуда. Указывайте тип линии "линия без нулей".

Сравните исходный код версий индикатора, увидите, что нужно было исправить. Детально расписывать это - это титанический труд.

Да и за эту работу вам большое спасибо!