Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Действительно, здесь есть какая-то путаница. Разберемся, спасибо за сообщение.
Спасибо:)
Действительно, здесь есть какая-то путаница. Разберемся, спасибо за сообщение.
Если в обоих случаях приводить 0 к типу datetime, то копирование с помощьюCopyBuffer() работает. Таким образом, не имеет значение в каком порядке передаются дата начала и дата конца при использовании третьего варианта вызова.
Спасибо:)
2. В описании третьего варианта четко указано - первая дата стартовая. По логике вещей всегда меньше (об обратном в справке ни слова!).
Тем не менее, оба вариант работают. Не забывайте явно приводить второй параметр к типу datetime - тогда будет использоваться именно третья форма вызова.
В общем, ошибки нет по CopyBuffer(). Используйте явное приведение типов для правильного вызова нужного вариант функции CopyBuffer().
Вопрос в том как теперь это и на все остальное распространить, чтобы и в остальных CopyXXX не вылазили ошибки...
Если делаете проверку ошибок и защиту (а мне кажется что это оно и есть в КопиБуфер) так делайте тогда везде.
В общем, ошибки нет по CopyBuffer().
По CopyBuffer() нет ошибки, по всем остальным функциям Copy - есть что-то не то.
Они работают при таком порядке параметров определяющих диапазон:
а при таком - нет:
Что мне кажется неправильным, поскольку работающий вариант не соответствует справке. По справке первый параметр (из параметров определяющих диапазон) указывает правый край копируемых данных (если смотрет на график), а в случае
получается, что он указывает левый край. Еще с универсальностью не очень, если захочу определить размер диапазона в барах, а не по времени, надо менять оба параметра, 0 менять на TimeCurrent() и указывать количество баров, что еще раз дает повод думать, что правильным является вариант
но он не работает у всех функций кроме CopyBuffer().
Вопрос в том как теперь это и на все остальное распространить, чтобы и в остальных CopyXXX не вылазили ошибки...
Если делаете проверку ошибок и защиту (а мне кажется что это оно и есть в КопиБуфер) так делайте тогда везде.
Везде работает одинаково. Вот смотрите, если запросить правильно - 1 значение со стартовой позиции равной TimeCurrent(), то все работает правильно.
Результат:
Если же указать вместо единицы 0, то ничего не получите. Логично ведь?
Везде работает одинаково. Вот смотрите, если запросить правильно - 1 значение со стартовой позиции равной TimeCurrent(), то все работает правильно.
Результат:
Если же указать вместо единицы 0, то ничего не получите. Логично ведь?
Если же четвертый параметр функции является типом datetime, то применяется третий вариант вызова
Для нее не важен порядок указания начала и конца интервала, компилятор понимает оба варианта.
Результат:
Должен признаться, в какой-то момент я и сам запутался из-за пропущенного приведения типов..
Rosh:
Должен признаться, в какой-то момент я и сам запутался из-за пропущенного приведения типов..