я постоянно вижу этот код в таких индикаторах.
//+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[])
Если изменить
const long &tick_volume[],
на
const long &volume_real[]Ничего не изменяет. Что тут считает реальные объемы, а что тиковые?
Пожалуйста вставляйте код правильно: при редактировании сообщения нажмите кнопку и во всплывающее окно вставьте свой код (на первый раз я исправил вставку Вашего кода).
- www.mql5.com
я постоянно вижу этот код в таких индикаторах.
Изменение имени не приводит к изменению самой сущности. tick_volume - это просто имя. Само по себе ничего не означает. В OnCalculate нет реальных объемов. Их нужно специально запрашивать.
Здравствуйте
Прошу помочь переписать индикатор объемов с тикового на реальный. Разработчик это не заложил в код сразу.
Чтобы работать с реальными объёмами нужно найти символ по которому эти объёмы транслируются. Как правило такая трансляция идет по биржевым символам у брокеров которые обеспечивают подключение к бирже (ВНИМАНИЕ! Не путаем Биржу и всякие торговые организации ...)
Помочь можно с моей просьбой? Я не программист MQL. да и вообще далек от этого.
Насколько я понял за это отвечает вот это
//--- input parameters input ENUM_APPLIED_VOLUME APPLIED_VOLUME = VOLUME_TICK;
также вот это
int OnInit() PlotIndexSetString(0, PLOT_LABEL, EnumToString(APPLIED_VOLUME));
также нужно добавить (возможно) в каждую строку кода где используется
tick_volumedouble(APPLIED_VOLUME == VOLUME_TICK ? tick_volume[i] : volume[i]);
Или я не правильно понимаю?
Помочь можно с моей просьбой? Я не программист MQL. да и вообще далек от этого.
Насколько я понял за это отвечает вот это
также нужно добавить (возможно) в каждую строку кода где используется
tick_volumeИли я не правильно понимаю?
В том коде, который Вы прикрепили к первому сообщению, нет такого настроечного параметра. Возможно, прикреплен не тот код, который Вы сейчас обсуждаете.
В том коде, который Вы прикрепили к первому сообщению, нет такого настроечного параметра. Возможно, прикреплен не тот код, который Вы сейчас обсуждаете.
я постоянно вижу этот код в таких индикаторах.
Если изменить
на
Ничего не изменяет. Что тут считает реальные объемы, а что тиковые?double R = sign * tick_volume[i]; work[i][_vp] = (i==0) ? R : work[i-1][_vp]+alpha*(R -work[i-1][_vp]); work[i][_tv] = (i==0) ? (double)tick_volume[i] : work[i-1][_tv]+alpha*(tick_volume[i]-work[i-1][_tv]);
Попробуйте в трёх местах tick_volume заменить на volume. Если будете запускать индикатор на инструментах где есть реальные объёмы, то должно работать.
Благодарю, вроде работает только не везде. В одном случае есть результат, в другом нет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте
Прошу помочь переписать индикатор объемов с тикового на реальный. Разработчик это не заложил в код сразу.