Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Саймон,
"Ваш цикл while не нашел ни одного билета ... . ."
Он не "возможно" нашел индекс билета в пуле истории, он нашел его, иначе не были бы выполнены следующие функции :)
" индекс пула != номер билета, разве мы не проходили это раньше?"
Позвольте мне пояснить,
Номер билета ордера - это уникальный номер билета, присвоенный ордеру после отправки заявки.
Номер позиции ордера - это позиция ордера в индексепула ордеров(важно понимать), подобно массиву.
"Почему вы ожидаете, что закрытый ордер USDJPY окажется на той же позиции в совершенно другом пуле, пуле History ?"
Не должен, потому что это отдельный пул.
В коде, который я представил -
это, очевидно, выбор ордера из пула истории, верно? По крайней мере, это то, что я понял из документации. Также я недавно попробовал открыть около пяти ордеров на разных валютных парах, закрыл один, затем включил советника и он все равно выполнил все функции, включая Print(OrderCloseTime());.
Спасибо.
Саймон,
"Ваш цикл while не нашел ни одного билета ... . ."
Он не "возможно" нашел индекс билета в пуле истории, он нашел его, иначе следующие функции не были бы выполнены. :)
То, что вы выбираете из пула истории - это ордер в позиции индексаi. Как вы узнаете, что ордер, который вы только что закрыли, находится в позицииi? Ответ - вы не знаете. . вы знаете, что значениеi - это место, где ордер USDJPY находился в пуле ордеров... . пулы полностью разделены и не связаны друг с другом ни в какой форме.
Саймон,
"Ваш цикл while не находит билет, он находит индекс в пуле заказов".
Да, я полагаю, что понимаю это. Это не должно быть проблемой.
"Пулы полностью разделены и не связаны друг с другом ни в какой форме."
Это понятно, но блок кода функции OrderClose(), похоже, работает так, как задумано. Я скорректирую блок кода для сохранения значения номера билета заказа, чтобы продолжить то, что вы хотите рассмотреть. Согласны?
ВПЕРВЫЕ, я задам такой вопрос: Почему номер позиции заказа в историческом пуле не должен быть таким же, как номер позиции в текущем пуле? Я считаю, что этот номер должен быть одинаковым.
Спасибо.
Саймон,
"Ваш цикл while не находит билет, он находит индекс в пуле заказов".
Да, я полагаю, что понимаю это. Это не должно быть проблемой.
"Пулы полностью разделены и не связаны друг с другом ни в какой форме."
Это понятно, однако блок кода функции OrderClose(), похоже, работает так, как задумано.
Вызов OrderClose() не был изменен, поэтому он должен работать.
Однако это не работает так, как задумано, потому что концепция фатально ошибочна... пока вы не поймете, почему нет смысла продолжать...
ВПЕРВЫЕ, я задам следующий вопрос: Почему бы номер позиции в историческом пуле заказа не совпадал с номером позиции в текущем пуле? Я считаю, что номер должен быть одинаковым.
Зайдите на свой демо-счет, на котором вы тестировали... сколько у вас открытых ордеров? сколько ордеров у вас в истории на вкладке "История счета"?
Саймон,
'История счета' содержит пятьдесят шесть.
'Торговля' (открытые ордера) содержит три.
Я жду, когда вы напишете: "Похоже, это действительно работает WhooDoo. :)"
Продолжайте, я проверил номер тикета возвращаемой функции Print(), и она вернула другой номер тикета, чем ордер USDJPY.
Не работает. Подтверждаю. Но я рад, что попробовал, этот урок стоил обсуждения.
Спасибо.
Саймон,
'История счета' содержит пятьдесят шесть.
'Торговля' (открытые ордера) содержит три.
Саймон,
57.
Спасибо.
Саймон,
57.
Спасибо.
Саймон,
Не будет. Я недавно вновь открыл это для себя.
Спасибо.