Страница 4 из 6

Re: Линии ABC

Добавлено: 06 мар 2016, 21:22
Avialr
Розовая линия на ценовом поле - это как раз уровни с шагом 1,5 рубля.
Желтые линии - это отклонения в 25% в каждую сторону
График изображен - ценовой линией , а не свечами (для большей наглядности)

Снизу гистограмма (которую я вручную нарисовал) - она имеет диапазон -100% - 0 - +100%
Линия со значением "0" - это текущая главная линия (если движение цены не меняется (например вверх) - утрированно каждый шаг по 1% - то гистограмма растет до 100%, и когда пересекает новую линию (которая становится главной) - значение гистограммы становится 1-2-3-4-и т.д.). В обратную сторону соответственно.
Стрелочками отобразил именно эти моменты.

Рисовать проще было с куска графика - поэтому с ним и работал (идеальной наглядности из-за этого не получилось)

По поводу -0,25 и +0,25 - нужно чтобы к этим линиям как то можно было привязаться - поэтому также - они отображены на гистограмме.

С линиями на ценовом поле пробовали несколько вариантов - и все они в полной мере не реализуют задачу. Гистограмма которую сам изобразил - то что нужно.

Re: Линии ABC

Добавлено: 07 мар 2016, 09:32
Gerig
Честно говоря, теперь я окончательно запутался. Вы ранее приводили скрипт индикатора, где на график цены выводятся уровни. Теперь вы говорите, что это все не то, нужна гистограмма. Я не понял правила формирования гистограммы. Нужны четко изложенные правила. И потом вы говорили об уровнях в 1% (1.5 рубля), теперь появились еще одни уровни в 0.25%. Какие по ним правила?

Re: Линии ABC

Добавлено: 07 мар 2016, 12:11
Avialr
Все верно!
Началом темы был именно скрипт с линиями на ценовом поле (там везде изображены -25% и +25%) - но потом в процессе темы появилось понимание - что на гистограмме все это будет легче изобразить и реализовать.
1% и 1,5 руб. - мы ранее с Вами тоже определились - что это одно и то же.
-25% и + 25% - это уровни - типа стопа - при пересечении их при развороте цены - требуется выход из позиции.
Правила точно такие же как и для ценового поля - я на участке изобразил какой должен быть результат.

Если этого недостаточно - тогда я боюсь не смогу объяснить.

Re: Линии ABC

Добавлено: 07 мар 2016, 13:47
Gerig
Avialr писал(а):Все верно!
Началом темы был именно скрипт с линиями на ценовом поле (там везде изображены -25% и +25%) - но потом в процессе темы появилось понимание - что на гистограмме все это будет легче изобразить и реализовать.
1% и 1,5 руб. - мы ранее с Вами тоже определились - что это одно и то же.
-25% и + 25% - это уровни - типа стопа - при пересечении их при развороте цены - требуется выход из позиции.
Правила точно такие же как и для ценового поля - я на участке изобразил какой должен быть результат.

Если этого недостаточно - тогда я боюсь не смогу объяснить.


Да... Я не думаю, что на гистограмме это будет лучше видно. По крайне мере наглядность теряется сразу. Я так понимаю, что нужно задать две "сетки", которые будут привязаны к индикатору, и уровни которых не будут меняться в зависимости от цены закрытия свечей, а будут только переключаться цветовые подсветки уровней этих сеток. Надо понимать как формировать эти сетки и к какому параметру их изначально привязать. Уровень стопа -25% и +25% простите от чего? От нуля до текущего значения? Как вы его рассчитываете? Если вас утомили мои вопросы, то думаю вам следует самому продолжить начатое. Я только хотел вам помочь, ничего в замен мне не надо.

Re: Линии ABC

Добавлено: 07 мар 2016, 14:06
Avialr
Я ценю Вашу помощь - все таки надеюсь что вы мне поможете (Сам не могу этого сделать - т.к. не хватает знаний в программировании)

Линии (изначально планировал шаг в 1,5 рубля) - они постоянно находятся на своих значениях и ни к чему не привязаны, +25; и -25% - если брать числовое значение - это +0,375 и -0,375 от линий.
Допустим ценовое поле пустое и на нем присутствует много линий (1-ый тип - шаг 1,5 рубля и второй тип линий - с отклонениями от каждой +0,375 и - 0,375)
Поле гистограммы соответственно имеет нулевую линию и диапазон +100% и -100% (если в числовом эквиваленте - то это будет +1,5 и -1,5) + 2 линии со значениями +25%(+0,375) и -25%(-0,375)

Появился ценовой график - для простоты берем его линией (т.е. цена по которой закрылся временной интервал)

в зависимости от нахождения цены - линии находящиеся в ценовом поле - определяются как главные. (значения +25% и -25% никак в процессе приоритетов не участвуют, они просто привязаны к своей линии - которая может стать главной)
На гистограмме это будет отображаться следующим образом (стрелка на гистограмме - не нужна - я таким образом показал где происходит смена главной линии)

Re: Линии ABC

Добавлено: 08 мар 2016, 08:30
Gerig
Внимательно смотрел, на ваш рисунок. Что увидел: 1. Сетка с шагом 1% (в вашем случае 1,5 руб) и внутри этой сетки вторая, более мелкая. Так что интервалы внутри не 25% как вы утверждаете, а 1.25% и 0.75%. В этом путаница. Когда вы говорите о процентах, то нужно указывать величину с которой идет сравнение. 2. Загадка для меня почему линии сетки 1% проходят именно через эти уровни? Я так понимаю, вы взяли 0 и просто рядами прибавляли 1,5 руб? А где универсальность? Считаю, что если вы хотите получить ценовые уровни, то нет смысла искать их через гистограмму. Лучше их сразу выводить на ценовой график. Иначе как вы потом будете по нему делать робота? Уверен это совсем не лучший вариант. Посмотрите сделаный мой скрипт. В нем синем показывается главный уровень, зеленым плюс 1%, красным минус 1%. Да в нем нет жесткой сетки, которую можно легко накинуть (только следует учесть универсальность), в нем пока уровни опираются на уровень закрытия предыдущей свечи. Уровни жесткой сетки можно не выводить на график цены, а просто подсвечивать разными цветами в случае выполнения условий по главному уровню и т.д. В чем необходимость гистограммы?

Re: Линии ABC

Добавлено: 09 мар 2016, 12:20
Avialr
Спасибо за помощь!
Буду пробовать адаптироваться под данный скрипт.

Re: Линии ABC

Добавлено: 12 мар 2016, 22:10
Avialr
Помогите отобразить данный индикатор в гистограмме.
Возможно ли всегда видеть всю линейку значений? -1,5 - +1.5 и чтобы нулевая линия отображалась?

Код: Выделить всё

function Initialize()
{
 IndicatorName = "1.50XXX";
 PriceStudy = false;
 AddInput("Input", Inputs.Price);
 AddParameter("CurLevel", 70); //
 AddParameter("Delta", 1.50); //
 AddSeries("RoundPrice", DrawAs.Line, Color.Yellow);
}

function Evaluate()
{

 if ( Input[0] > CurLevel + Delta )
 {
 double a = Input[0] - CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel + a * Delta;
 }
 if ( Input[0] < CurLevel - Delta )
 {
 double a = -Input[0] + CurLevel;
 a = Math.Truncate(a / Delta);
 CurLevel = CurLevel - a * Delta;
 }
RoundPrice = (Input[0] - CurLevel);
}

Re: Линии ABC

Добавлено: 13 мар 2016, 14:37
Avialr
Пробую стратегию создать - вот такая ошибка выскакивает - "не задано ни одного входного ряда at 0" - не подскажите почему так?

Код: Выделить всё

/**

Hash code 00C480060512BF0E3882F561EF5D8384
**/
function Initialize()
{
   StrategyName = "XXX";
   LongLimit = 0;
   ShortLimit = 0;
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (MY.XXX(, 100, 1.5).GetValue("RoundPrice", 0) > 0) && (MY.XXX(, 100, 1.5).GetValue("RoundPrice", 1) < 0) )
   {
      EnterLong();
   }

}

Re: Линии ABC

Добавлено: 13 мар 2016, 15:11
evge
Не называйте индикатор 1.50XXX, Вы не сможете его использовать в стратегиях!

Называйте латиницей и без спец знаков типа ".", с цифры начинаться не должно!

Стратегия просто не сможет вызывать код типа MY.1.50XXX(), т.к. точкой разделяются методы.