Обсуждение статьи "Virtual Order Manager для управления ордерами в позициях терминала MetaTrader 5" - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Эта библиотека уже практически устарела, так как MT5 предоставляет счет хеджирования. Вы все еще можете использовать ее на неттинговом счете, но действительно ли она того стоит.
Моя ea - это расширяющаяся сетка, работающая на одном символе, поэтому мне нужно отслеживать каждую сделку или уровень сетки отдельно, чтобы знать, где открывать следующий уровень. В MT4 я делал это, просматривая список открытых сделок и используя их для расчета позиции, где мне нужно открыть следующую сделку в сетке. В MT5 я обнаружил, что он сбрасывает все сделки в одну большую позицию, что полностью убивает этот метод.Например, я не могу открыть две сделки на покупку в MT5, потому что он объединяет их в одну позицию. Как я могу рассчитать, где будет шестой уровень сетки на покупку, если я не знаю, где находятся уровни с первого по пятый? Надеюсь, вы понимаете, о чем я. Эта библиотека была единственным способом, который я нашел, чтобы обойти эту проблему. В MT4 я также использую уникальные магические номера на каждой сделке, чтобы идентифицировать каждый уровень сетки. В MT5 я обнаружил, что тоже не могу установить уникальные магические номера, поэтому собираюсь хранить их на диске. Если есть лучший способ управления уровнями сетки в MT5, я буду рад узнать.
Я потратил большую часть двух недель на то, чтобы заставить ее правильно компилироваться на MT5, и я уверен, что она будет работать нормально, как только я перейду на хранение магических чисел на диске, а не на сервере брокера.
Положительным моментом является то, что я узнал, как исправить ошибки в библиотеке VOM, так что, надеюсь, это кому-нибудь поможет. Используя версию 2 библиотеки, вам нужно изменить строку 855 файла virtualordermanager.mqh с :
MtRequest.type_filling=ORDER_FILLING_FOK;на
MtRequest.type_filling=SYMBOL_FILLING_FOK;после чего он будет открывать сделки правильно и без ошибок.
Моя ea представляет собой расширяющуюся сетку, работающую на одном символе, поэтому мне нужно отслеживать каждую сделку или уровень сетки по отдельности, чтобы знать, где открывать следующий уровень. В MT4 я делал это, просматривая список открытых сделок и используя их для расчета позиции, в которой мне нужно открыть следующую сделку в сетке. В MT5 я обнаружил, что он сбрасывает все сделки в одну большую позицию, что полностью убивает этот метод.Например, я не могу открыть две сделки на покупку в MT5, потому что он объединяет их в одну позицию. Как я могу рассчитать, где будет шестой уровень сетки на покупку, если я не знаю, где находятся уровни с первого по пятый? Надеюсь, вы понимаете, о чем я. Эта библиотека была единственным способом, который я нашел, чтобы обойти эту проблему. В MT4 я также использую уникальные магические номера на каждой сделке, чтобы идентифицировать каждый уровень сетки. В MT5 я обнаружил, что тоже не могу установить уникальные магические номера, поэтому собираюсь хранить их на диске. Если есть лучший способ управления уровнями сетки в MT5, я буду рад узнать.
Я потратил большую часть двух недель на то, чтобы заставить ее правильно компилироваться на MT5, и я уверен, что она будет работать нормально, как только я перейду на хранение магических чисел на диске, а не на сервере брокера.
Положительным моментом является то, что я узнал, как исправить ошибки в библиотеке VOM, так что, надеюсь, это кому-нибудь поможет. Используя версию 2 библиотеки, вам нужно изменить строку 855 в файле virtualordermanager.mqh с :
на
тогда он будет открывать сделки правильно и без ошибок.
Эта библиотека уже практически устарела, так как MT5 предоставляет счет хеджирования. Она все еще может понадобиться на неттинговом счете, но действительно ли она того стоит.
Да уж ) такое часто встречается при разработке ПО
Спасибо, Ален. Теперь я понял, что вы имеете в виду. Прошу прощения, что не обратил внимания на то, что вы сказали о хеджировании. Я сходил с ума, пытаясь заставить этот VOM работать, а также все остальные изменения, необходимые для работы моей ea под MT5. Думаю, я возьму паузу и вернусь, когда высплюсь.Я думаю, что мне нужно будет написать версию еа для MT5 с нуля. До сих пор я пытался сделать версию, которая работает под MT4 и MT5, используя условную компиляцию, но эта идея не работает так чисто, как мне хотелось бы. Еще раз спасибо, что указали мне правильное направление.