Алексей Тарабанов #:
Удивлю. В MQL5 не бывает открытых ордеров.
ок, открываем доки по методу orders_get() и читаем/просвещаемся:
Получает действующие ордеры с возможность фильтрации по символу или тикету. Существует 3 варианта вызова.
Вызов без параметров. Возвращает действующие ордеры по всем символам.
Да, я заменил слово действующие открытми и что? Суть от этого не изменилась, но вместо того, чтобы указать на решение, мы конечно же сошлемся на справку и статьи, которые не раз были прочитаны, но толку от этого 0, потому что результат как был таким так и остался
![Документация по MQL5: Python интеграция / orders_get Документация по MQL5: Python интеграция / orders_get](https://c.mql5.com/36/70/dokumentaciya-po-mql5-python-integraciya__1.png)
- www.mql5.com
Ордера - это отложенные. А рыночные - это позиции, и есть функция positions_get().
Рыночные ордера тоже существуют, но только в истории.
Ордера - это отложенные. А рыночные - это позиции, и есть функция positions_get().
Рыночные ордера тоже существуют, но только в истории.
Но как мне вытащить из истории эти ордера рыночные? метод history_orders_get() возвращает None почему-то..., а last_error() указывает на не правильные аргументы, но я не пойму в чем их неправильность? Все делал как в иструкциях
Но как мне вытащить из истории эти ордера рыночные? метод history_orders_get() возвращает None почему-то..., а last_error() указывает на не правильные аргументы, но я не пойму в чем их неправильность? Все делал как в иструкциях
https://www.mql5.com/ru/docs/python_metatrader5/mt5positionsget_py
https://www.mql5.com/ru/docs/python_metatrader5/mt5historyordersget_py![Документация по MQL5: Python интеграция / positions_get Документация по MQL5: Python интеграция / positions_get](https://c.mql5.com/36/71/dokumentaciya-po-mql5-python-integraciya.png)
- www.mql5.com
print(mt.history_orders_get(date_from=datetime(2023, 6, 14), date_to=datetime.now()))
Я не силён в питоне, но чисто логически так писать
print(mt.history_orders_get(date_from=datetime(2023, 6, 14), date_to=datetime.now()))
не совсем правильно.
Попробуйте завернуть в скобки присвоение значений переменным
print(mt.history_orders_get((date_from=datetime(2023, 6, 14)), (date_to=datetime.now())))
удалить переменные
print(mt.history_orders_get(datetime(2023, 6, 14), datetime.now()))
удалить переменные
спасибо, второй вариант сработал - вызов функции/метода с позиционными аргументами. Но это очень странно потому что вызов с ключевыми аргументами также должен работать и в этом никакой логической ошибки нет. По крайней мере до сих пор во всех других либах, что я использовал, всегда работали оба варианта
спасибо, второй вариант сработал - вызов функции/метода с позиционными аргументами. Но это очень странно потому что вызов с ключевыми аргументами также должен работать и в этом никакой логической ошибки нет. По крайней мере до сих пор во всех других либах, что я использовал, всегда работали оба варианта
У вас там не аргумент, а операция присваивания. Потому и Invalid arguments.
И первый вариант должен работать потому, что сначала переменной присваивается значение и это значение является аргументом. Приоритеты…
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь получить открытые ордера print(mt.orders_get()) возвращает пустой кортеж, хотя в данный момент есть открытые.
При попытке получить все одрера из истории, возвращается None. print(mt.history_orders_get(date_from=datetime(2023, 6, 14), date_to=datetime.now()))
Глянул через метод last_error(), в чем дело, получил (-2, 'Invalid arguments'). Подскажите как починить?
Весь код: