[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 192
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите, плз. Что-то не врубаюсь почему не работает MathMax.
Упрощённая версия кода (проще не бывает) и та не работает. Переменную GBPUSD_High не считает ни в какую :-( Хотя с GBPUSD_Low всё нормально.
P.S. интересуют только значения на барах с момента подгрузки индикатора.
//+-------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Black
#property indicator_color2 Gray
#property indicator_color3 Gray
//--------------------------------------------------------------------
double GBPUSD[], GBPUSD_High[], GBPUSD_Low[];
//--------------------------------------------------------------------
int init()
{
//--------------------------------------------------------------------
SetIndexBuffer(0,GBPUSD);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1,GBPUSD_High);
SetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);
SetIndexBuffer(2,GBPUSD_Low);
SetIndexStyle (2,DRAW_LINE,STYLE_DOT,1);
//--------------------------------------------------------------------
return;
}
//--------------------------------------------------------------------
int start()
{
int Counted_bars, i;
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
while (i>=0)
{
GBPUSD[i]=Close[i];
if (GBPUSD_Low[i]==0) GBPUSD_Low[i]=GBPUSD[i];
GBPUSD_High[i]=MathMax(GBPUSD_High[i],GBPUSD[i]);
GBPUSD_Low[i]=MathMin(GBPUSD_Low[i],GBPUSD[i]);
i--;
}
//--------------------------------------------------------------------
return;
}
//--------------------------------------------------------------------
Подгружать, естественно, к GBPUSD.
Подскажите, плз. Что-то не врубаюсь почему не работает MathMax.
Упрощённая версия кода (проще не бывает) и та не работает. Переменную GBPUSD_High не считает ни в какую :-( Хотя с GBPUSD_Low всё нормально.
P.S. интересуют только значения на барах с момента подгрузки индикатора.
Подгружать, естественно, к GBPUSD.
MathMax ни причем. откуда переменные данные берут? Вариант:
MathMax ни причем. ..
Именно! Итак ясно, что High всегда больше или равен Close, MathMin - тоже самое ;)
Именно! Итак ясно, что High всегда больше или равен Close, MathMin - тоже самое ;)
В качестве примера специально привёл расчёт и так известных значений. В оргинале ищу максимум и минимум на баре совсем другой переменной. При отображении индикатора кривая переменной, ясное дело, перерисовывается в течении формирования бара. Ищу граничные точки.
Я не понимаю почему не работает сама функция MathMax. MathMin ведь работает нормально, кривая GBPUSD_Low ведь прорисовывается ...
С точки зрения граматики программирования замечания есть?
Установите индикатор, скажите, что здесь не так, почему не расчитывается значение GBPUSD_High.
В качестве примера специально привёл расчёт и так известных значений. В оргинале ищу максимум и минимум на баре совсем другой переменной. При отображении индикатора кривая переменной, ясное дело, перерисовывается в течении формирования бара. Ищу граничные точки.
Я не понимаю почему не работает сама функция MathMax.
С точки зрения граматики программирования замечания есть?
Установите индикатор и скажите, что здесь не так, почему не расчитывается значение GBPUSD_High.
Не дурите голову. вставляете в понравившееся место кода это:
и будет вам прозрение во вкладке "эксперты".Не дурите голову. вставляете в понравившееся место кода это:
и будет вам прозрение во вкладке "эксперты".Ну и что...
Нет прозрения. Print печатает только два значения, так же как и отображает индикатор. Что с третьим??
Вы хоть сами попробовали сделать то, что советуете?
Следующий вопрос, пожалуйста :)
Очень умно.
Спасибо за "помощь".
Очень умно.
Спасибо за "помощь".
Вам уже дали ответ выше. Причина - использование неприсвоенного значения в правой части оператора присваивания. Чему равно GBPUSD_High[i] в строке
вам и вариант исправления ситуации показали. Оставьте иронию.
Причина - использование неприсвоенного значения в правой части оператора присваивания.
Значит обьявление индикаторных буферов вовсе не означает, что значения ячеек равны нулю. Правильно?
Следовательно, MathMax не расчитывается так как одна из сравниваемых величин (а именно GBPUSD_High) не имеет значения (вообще ни какого, даже нуля).
Понятно. Спасибо OneDepo.
Прошу прощения, что спутал всех своим упрощением (каламбур). Как я уже упоминал меня не интерисует значение High котровки, меня интересует максимальное значение на баре своей собственной функции, кривую которой индикатор мне благополучно рисует и перерисовывает в течении формирования бара. Вот этот диапазон перерисовки индикатора в течении бара меня и интересовал.
Буду думать.
P.S. но почему же MathMin считается без вопросов, условия ведь равные и обьявленны одинаково?
P.S.S. Где-то сильно туплю. Не получается. Помогите, пожалуйста.