Стратегии и роботы > Линии ABC
Re: Линии ABC
Мое видение такое:
- индикатор должен быть универсальным не привязанным к какому либо инструменту. Изначально нет смысла задавать параметр равный 0. Отображение на графике будет не удобным, да и цена может не пробить такие низкие уровни. На мой взгляд целесообразным было бы присвоить самое первое значение например - Input.Low[0] или Input.Close[0] или Input.High[0], а уже потом рассчитывать другие уровни. -Спорным на мой взгляд плюсовать фиксированные значения, а не значения выраженные в процентах или коэффициентах к самому первому значению.
- необходимо учитывать значение волатильности, поскольку при маленьком значении параметра сетка будет очень мелкой и внутри одной свечи будет пробивать несколько уровней. Либо надо продумать автоматическое формирование коэффициента для расчета сетки с учетом волатильности.
- смысла в таком количестве линий нет. Максимальное значение 5.
Вы могли бы с учетом этих соображений описать алгоритм работы индикатора?
- индикатор должен быть универсальным не привязанным к какому либо инструменту. Изначально нет смысла задавать параметр равный 0. Отображение на графике будет не удобным, да и цена может не пробить такие низкие уровни. На мой взгляд целесообразным было бы присвоить самое первое значение например - Input.Low[0] или Input.Close[0] или Input.High[0], а уже потом рассчитывать другие уровни. -Спорным на мой взгляд плюсовать фиксированные значения, а не значения выраженные в процентах или коэффициентах к самому первому значению.
- необходимо учитывать значение волатильности, поскольку при маленьком значении параметра сетка будет очень мелкой и внутри одной свечи будет пробивать несколько уровней. Либо надо продумать автоматическое формирование коэффициента для расчета сетки с учетом волатильности.
- смысла в таком количестве линий нет. Максимальное значение 5.
Вы могли бы с учетом этих соображений описать алгоритм работы индикатора?
Re: Линии ABC
В том то и дело – что хотелось упростить методику расчета (поэтому целые числа и взяты для начала и т.д.)
Если делать универсальным – то шаг можно обозначить как 1%
Волатильнисть в данном случае не влияет – т.к. логика будет соблюдаться при любой длине свечи (будет пробиваться последовательно несколько уровней) – если цена развернулась и одной свечкой ушла далеко (то тут никак не подстрахуешься – т.к. анализ идет по закрытой предыдущей свече)
Отображать линии можно максимально прозрачно на поле.
Возможно много линий и не нужно – мне допустим удобнее смотреть видя линии – в противном случае автоматически меняется масштаб поля в котором при разном масштабе 1 руб будет равен 2 рублям зрительно
Если делать универсальным – то шаг можно обозначить как 1%
Волатильнисть в данном случае не влияет – т.к. логика будет соблюдаться при любой длине свечи (будет пробиваться последовательно несколько уровней) – если цена развернулась и одной свечкой ушла далеко (то тут никак не подстрахуешься – т.к. анализ идет по закрытой предыдущей свече)
Отображать линии можно максимально прозрачно на поле.
Возможно много линий и не нужно – мне допустим удобнее смотреть видя линии – в противном случае автоматически меняется масштаб поля в котором при разном масштабе 1 руб будет равен 2 рублям зрительно
Re: Линии ABC
Ясно. Немного начинает проясняться. С точки зрения создания алгоритма работы индикатора абсолютно все равно прибавлять 1.5 рубля или прибавлять 1%, умножая значение на 1.01 в этом как раз никакого упрощения нет. Вы сказали волатильность ни при чем. Тогда такой вопрос: если цена в одной свечке пробила несколько уровней и затем вернулась к прежнему значению (open = close), то какой уровень считать главным?
Re: Линии ABC
Я так понимаю речь идет - о "волчке" длинном?
В данном случае главным уровнем будет тот - который перебила цена закрытия (тень не учитываем)
если цена осталась там же - значит уровень тот же
В данном случае главным уровнем будет тот - который перебила цена закрытия (тень не учитываем)
если цена осталась там же - значит уровень тот же
Re: Линии ABC
Раньше описывал с тенью - но данный момент не учитывал.
Надо будет смотреть по истории - т.к. такой длинный хвост редкость - поэтому вариант с учетом хвостика не откидываю.
Надо будет смотреть по истории - т.к. такой длинный хвост редкость - поэтому вариант с учетом хвостика не откидываю.
Re: Линии ABC
Avialr писал(а):Я так понимаю речь идет - о "волчке" длинном?
В данном случае главным уровнем будет тот - который перебила цена закрытия (тень не учитываем)
если цена осталась там же - значит уровень тот же
Я признаться не понял. Если цена в момент пока еще свеча не закрыта пробила, предположим уровень вверх, а затем опустилась на прежний уровень открытия или опустилась ниже уровня открытия, то главным, мы посчитаем пробитый вверх уровень? Или не будем его пересчитывать и оставим его, таким как на предыдущей свече? Или такой вариант: если цена в момент пока еще свеча не закрыта пробила, предположим уровень вверх, а затем опустилась ниже открытия и пробила уровень вниз. Какой уровень считать?
Re: Линии ABC
Я признаться не понял. Если цена в момент пока еще свеча не закрыта пробила, предположим уровень вверх, а затем опустилась на прежний уровень открытия или опустилась ниже уровня открытия, то главным, мы посчитаем пробитый вверх уровень? Или не будем его пересчитывать и оставим его, таким как на предыдущей свече? Или такой вариант: если цена в момент пока еще свеча не закрыта пробила, предположим уровень вверх, а затем опустилась ниже открытия и пробила уровень вниз. Какой уровень считать?[/quote]
Ориентируемся на цену закрытия (возможно 3 варианта):
1. цена закрытия выше цены открытия (при этом прибит следующий уровень) - пробитый уровень становится главным
2. цена закрытия ниже цены открытия (при этом прибит следующий уровень) - пробитый уровень становится главным
3. цена закрытия выше/ниже цены открытия (при этом новый уровень не перебит) - старый уровень остается главным
хвостик не нужно учитывать
Мое понимание работы программы - когда свеча уже закрыта - данные берутся от предыдущей закрытой свечи (соответственно варианта - когда свеча еще не закрыта - быть не может)
Ориентируемся на цену закрытия (возможно 3 варианта):
1. цена закрытия выше цены открытия (при этом прибит следующий уровень) - пробитый уровень становится главным
2. цена закрытия ниже цены открытия (при этом прибит следующий уровень) - пробитый уровень становится главным
3. цена закрытия выше/ниже цены открытия (при этом новый уровень не перебит) - старый уровень остается главным
хвостик не нужно учитывать
Мое понимание работы программы - когда свеча уже закрыта - данные берутся от предыдущей закрытой свечи (соответственно варианта - когда свеча еще не закрыта - быть не может)
Re: Линии ABC
В первом приближении, что то на вроде этого:
[img]C:\Users\Gerig\OneDrive\Изображения\Снимки%20экрана\2016-03-06.png[/img]
Код: Выделить всё
function Initialize()
{
IndicatorName = "Main_Level";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("ML", DrawAs.Custom, Color.Blue);
AddSeries("MP", DrawAs.Custom, Color.Green);
AddSeries("MM", DrawAs.Custom, Color.Red);
AddGlobalVariable("Main_Plus", Types.Double, 0);
AddGlobalVariable("Main_L", Types.Double, 0);
AddGlobalVariable("Main_Minus", Types.Double, 0);
AddGlobalVariable("swich_bar", Types.Int, 0);
}
function Evaluate()
{
// AlfaDirect 2015.
// Indicator MAIN LEVEL
if (CurrentIndex < 2)
{
Main_L = Input.Close[0]; //Первое значение присваивается Главному уровню
Main_Plus = 1.01*Input.Close[0]; //Первое значение уровню плюс 1% от Главного
Main_Minus = 0.99*Input.Close[0]; //Первое значение уровню минус 1% от Главного
}
else
{
if(Input.Close[0] > Main_Plus)
{
Main_L = Input.Close[0];
Main_Plus = 1.01*Input.Close[0];
Main_Minus = 0.99*Input.Close[0];
swich_bar = CurrentIndex; // бар на котором произошло переключение
}
if(Input.Close[0] < Main_Minus)
{
Main_L = Input.Close[0];
Main_Plus = 1.01*Input.Close[0];
Main_Minus = 0.99*Input.Close[0];
swich_bar = CurrentIndex; // бар на котором произолшо переключение
}
ML = Main_L;
MM = Main_Minus;
MP = Main_Plus;
}
ML.DrawDash();
MM.DrawDash();
MP.DrawDash();
}
[img]C:\Users\Gerig\OneDrive\Изображения\Снимки%20экрана\2016-03-06.png[/img]
Re: Линии ABC
Во вложении вручную сделал - то что хотелось бы получить.
Стрелочками отметил моменты - когда направление цены не изменилось - но уровень поменялся
Уровни 0,25 и - 0,25 - нужны активными
Стрелочками отметил моменты - когда направление цены не изменилось - но уровень поменялся
Уровни 0,25 и - 0,25 - нужны активными
Вернуться в «Стратегии и роботы»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей