Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 817
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы объяснили, как готовить CPositionInfo. Хотя, я так и не понял, двух вещей:
1) Как этот рецепт следует из справки по классу CPositionInfo ?
2) Нафига нужен сам класс если больше одного объекта нормально использовать нельзя, ведь перед каждым доступом к свойству позиции нужно настраивать на позицию с помощью метода Select, а то вдруг мы в каком нибудь другом месте когда, использовали метод Select для другого объекта CPositionInfo.
Я не понимаю, в чем моя ошибка в использовании справки.
1) Мне понадобился объем позиции в программе.
2) Через поиск я нашел метод Volume из класса CPositionInfo.
3) В нем есть ссылка на использовании метода Select перед вызовом Volume.
4) В описании метода Select не каких ссылок нет. На всякий случай изучаю описание класса CPositionInfo.
5) Пишу код. Получаю результат не следующий из справки.
Где ошибка ?
Еще раз про выбор позиции, ордера, перед доступом к свойствам я знаю. Но эти знания и знания по CPositionInfo в справке не пересекаются.
Где ошибка ?
Если научитесь писать более подробно, вам будет виднее где ошибаетесь.
Попробуйте написать так :
Я не понимаю, в чем моя ошибка в использовании справки.
1) Мне понадобился объем позиции в программе.
2) Через поиск я нашел метод Volume из класса CPositionInfo.
3) В нем есть ссылка на использовании метода Select перед вызовом Volume.
4) В описании метода Select не каких ссылок нет. На всякий случай изучаю описание класса CPositionInfo.
5) Пишу код. Получаю результат не следующий из справки.
Где ошибка ?
Еще раз про выбор позиции, ордера, перед доступом к свойствам я знаю. Но эти знания и знания по CPositionInfo в справке не пересекаются.
Блок кода, который обходит все позиции и распечатывает информацию, аналогичную в терминале во вкладке "Торговля":
Алгоритм работы: сначала Выделяем позицию (берём банку с вареньем с полки супермаркета), потом обращаемся к свойствам выбранной позиции и распечатываем эти свойства (читаем этикетку на банке с Вареньем).
Получается, что никакого смысла в классе CPositionInfo нет т.к нормально, можно работать только с одним объектом этого класса.
Ivan Ivanov, Vladimir Karputov, fxsaber спасибо за помощью.
Получаю в эксперте данные из индикаторов. Сначала вычисляю хэндл, потом копирую несколько последних актуальных значений из буферов индикаторов.
Вопросы:
1. На какую глубину истории производятся вычисления в этих индикаторах?
2. Существует ли способ ограничить глубину вычислений?
В данном случае нужны всего несколько последних значений для определения перегиба или направления вверх/вниз.
Эксперт мультивалютный, индикаторов десятки, поэтому есть нужда не делать лишних вычислений.
Получаю в эксперте данные из индикаторов. Сначала вычисляю хэндл, потом копирую несколько последних актуальных значений из буферов индикаторов.
Вопросы:
1. На какую глубину истории производятся вычисления в этих индикаторах?
2. Существует ли способ ограничить глубину вычислений?
В данном случае нужны всего несколько последних значений для определения перегиба или направления вверх/вниз.
Эксперт мультивалютный, индикаторов десятки, поэтому есть нужда не делать лишних вычислений.
Надеюсь Вы хендлы индикатор создаёте ОДИН раз в OnInit()?
Глубина расчёта - всё зависит от самого индикатора. Редкие индикаторы принудительно ограничивают глубины - как правило все считают на всю историю. Поэтому Вам, возможно, пригодится такой вариант: в индикаторе ввести переменную отвечающую за глубину и затем в советнике, через iCustom, передавать этот параметр.
Надеюсь Вы хендлы индикатор создаёте ОДИН раз в OnInit()?
Глубина расчёта - всё зависит от самого индикатора. Редкие индикаторы принудительно ограничивают глубины - как правило все считают на всю историю. Поэтому Вам, возможно, пригодится такой вариант: в индикаторе ввести переменную отвечающую за глубину и затем в советнике, через iCustom, передавать этот параметр.
1. Да, я понимаю, что по-хорошему это делается один раз в ините. Но вопрос в том, что входные параметры индикаторов могут меняться. Например, в спектральном анализе вычисляются резонансные частоты, результатом расчётов является период используемой МА. И если запрашивать данные МА для новой размерности, то это - новый хэндл. Практически частоты меняются же не на каждом баре, поэтому достаточно долго (~ минуты) в расчётах используется один и тот же хэндл МА. Но всё равно наступает момент, когда хэндл меняется. И тогда мне нужно либо кучу хэндлов юзать, либо использовать один хэндл, но периодически его пересчитывать. Вот здесь-то и нужна экономия.
2. iCustom я освоил. Но как ограничить глубину расчётов в самом индикаторе? В технических - никак. Видимо, придётся понасоздавать кучу пользовательских клонов тех. индикаторов. Это противно, конечно, но должно быть эффективно. Спасибо за совет. Хорошая идея. Спасибо.
1. Да, я понимаю, что по-хорошему это делается один раз в ините. Но вопрос в том, что входные параметры индикаторов могут меняться.
Разработчики могут написать СБ, в которой с индикаторами можно без потери эффективности работать в MQL4-стиле. Т.е. все кеши и хендлы спрятаны в СБ.