Математические функции
Вы хотите сделать зигзаг по суточным барам?
Если нет то обьясните подробней.
Вот ваш индикатор
В вашей функции ошибка в условии, так как ХАЙ всегда больше ОПЕН , может надо ОПЕН и КЛОСЕ Но исправите сами. Можно просто без условия avDay+= ( h-o )
А функция для вычисления абсолютного значения называется MathAbs(ваше число)
{
int C_time;
int Bar_Shift;
int counted_bars=IndicatorCounted(); // все индикаторы
for(int i=0;i<Bars-5;i++)
{
C_time=Time[i];
Bar_Shift=iBarShift(NULL,PERIOD_D1,C_time,false);
ExtMapBuffer1[i]= OpenAndMax(Bar_Shift);
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+
double OpenAndMax(int b)
{
double avDay= 0;
double h, o;
for(int i=b+1;i<b+4;i++)
{
h = iHigh(Symbol(),PERIOD_D1,i);
o = iOpen(Symbol(),PERIOD_D1,i);
if(h<o){ avDay+= ( o-h ); }
else { avDay+= ( h-o ); }
}
avDay = iOpen(Symbol(),PERIOD_D1,b)+avDay/4;
return(avDay);
}
Вы хотите сделать зигзаг по суточным барам?
Если нет то обьясните подробней.
Не совсем. Зигзаг получается только по периоду D1, а по меньшим периодам нет. Потому что точка кривой для D1 должна быть горизонтальной линией для H4, H1 и т.д.
Т.е. все точки кривой расчитываются только из данных D1. Думаю может нужно делать несколько буферов для вывода на различных периодах?
я дал вам код, работает на всех периодах
Заинтриговали может раскажете что пытаетесь сотворить вместе оформим
Я сразу не заметил изменения. Индикатор работает. Я еще его посмотрю подробней.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пишу индикатор. Он берет данные с периода D1. И это вычисляемое одно значение принадлежит всему дню, но так как на этом периоде просмотреть детали графика трудно, лучше переключиться на меньшие периоды -H4, H1
Но на них показывает неправильный график. Хорошо было бы, если это одно значение дня рисовалось горизонтальной линией для всего дня на периодах H4, H1. Как это сделать?
Кстати, для вычитания из большего числа меньшее я использую if , я не нашел как вычисляется абсолютное значение - это правильно?