Я написал скрипт для закрытия открытых ордеров.
Это хорошо работает. Но он закрывается очень медленно. Для закрытия одной сделки требуется почти 1 секунда. Где я открыл 10 сделок. Означает, что для закрытия сделки потребуется 10 секунд.
Но я хочу закрыть их быстро или, по крайней мере, отправить асинхронный или основанный на потоках запрос на закрытие.
Но я ничего не вижу в MQL4 для этого.
Пожалуйста, кто-нибудь направит меня. Я заканчиваю в потере из-за этого эффекта.
В mql4 нет асинхронного закрытия\открытия позиций и не будет.
Я написал скрипт для закрытия открытых ордеров.
Это хорошо работает. Но он закрывается очень медленно. Для закрытия одной сделки требуется почти 1 секунда. Где я открыл 10 сделок. Означает, что для закрытия сделки потребуется 10 секунд.
Но я хочу закрыть их быстро или, по крайней мере, отправить асинхронный или основанный на потоках запрос на закрытие.
Но я ничего не вижу в MQL4 для этого.
Пожалуйста, кто-нибудь направит меня. Я заканчиваю в потере из-за этого эффекта.
- Посчитайте неттинговую позицию - в какую сторону направлена,
- Откройте противоположную позицию с равнозначный объёмом (залокируйте все существующие позиции).
- И уже теперь, начиная от самой убыточной пары "покупка-продажа" закрывайте попарно (покупка-продажа) по одной.
- Посчитайте неттинговую позицию - в какую сторону направлена,
- Откройте противоположную позицию с равнозначный объёмом (залокируйте все существующие позиции).
- И уже теперь, начиная от самой убыточной пары "покупка-продажа" закрывайте попарно (покупка-продажа) по одной.
Спасибо за помощь. Но я не понял, так как я являюсь разработчиком MQL5 и хочу знать о MQL4. Не могли бы вы показать мне, как я могу это сделать?
Если сделок много и происходит сильное движение цены, ордера будут оставаться открытыми.
Если сделок много и происходит сильное движение цены, ордера будут оставаться открытыми.
Что это за проскальзывание, которое вы хотите поставить от 100-300? Я обязательно сделаю эту проверку. Но решает ли это мою проблему и ускоряет ли закрытие? Пожалуйста, дайте мне знать об этом.
- Посчитайте неттинговую позицию - в какую сторону направлена,
- Откройте противоположную позицию с равнозначный объёмом (залокируйте все существующие позиции).
- И уже теперь, начиная от самой убыточной пары "покупка-продажа" закрывайте попарно (покупка-продажа) по одной.
@ Артём Тришкин, мой друг, пожалуйста, дайте мне знать, как это делается, потому что я думаю, что это принесет мне больше потерь, если я открою два разных типа сделок. Пожалуйста, дайте мне знать, как это делается?
@ Артём Тришкин, мой друг, пожалуйста, дайте мне знать, как это делается, потому что я думаю, что это принесет мне больше потерь, если я открою два разных типа сделок. Пожалуйста, дайте мне знать, как это делается?
Это возможно только в том случае, если ДЦ разрешает встречное закрытие ордеров. К сожалению, в последнее время все чаще сталкиваюсь с тем, что такую возможность ДЦ не предоставляет. Для проверки откройте на демо-счете ордера Buy и Sell на одном символе с одинаковым объемом. А потом выберите закрытие одного из ордеров. В окне
нужно выбрать "Встречное закрытие" (Close by). Тогда появится список с выбором ордера, который необходимо использовать в качестве закрывающего. При таком закрытии получаем минус один спред, будто закрыли один ордер, а не два.
При программном закрытии нужно использовать функцию OrderCloseBy().
Это возможно только в том случае, если ДЦ разрешает встречное закрытие ордеров. К сожалению, в последнее время все чаще сталкиваюсь с тем, что такую возможность ДЦ не предоставляет. Для проверки откройте на демо-счете ордера Buy и Sell на одном символе с одинаковым объемом. А потом выберите закрытие одного из ордеров. В окне
нужно выбрать "Встречное закрытие" (Close by). Тогда появится список с выбором ордера, который необходимо использовать в качестве закрывающего. При таком закрытии получаем минус один спред, будто закрыли один ордер, а не два.
При программном закрытии нужно использовать функцию OrderCloseBy().
Нужно ли повторять открытые позиции для противоположной сделки с одинаковым размером лота? Есть ли простой способ сделать это? OrderCloseBy () использует два билета. Один я знаю, но как получить другой? Есть ли автоматический способ?
Нужно ли повторять открытые позиции для противоположной сделки с одинаковым размером лота? Есть ли простой способ сделать это? OrderCloseBy () использует два билета. Один я знаю, но как получить другой? Есть ли автоматический способ?
Пример:
Имеем пять открытых позиций BUY и не важно по каким ценам.
- тикет 2 лот 0.3
- тикет 4 лот 0.5
- тикет 7 лот 0.1
- тикет 8 лот 0.6
- тикет 9 лот 1.8
Чтобы закрыть их все сразу, открываем позицию SELL лотом 3.3 в результате открытия получим тикет позиции. И затем каждыйую из позиций BUY закрываем встречной SELL
Но надо понимать и помнить, что при закрытии одной из позиций BUY получим другую позицию SELL с другим тикетом и другим объёмом. И каждую
следующую позицию BUY надо будет закрывать встречной позицией SELL со своим тикетом.
Пример:
Имеем пять открытых позиций BUY и не важно по каким ценам.
- тикет 2 лот 0.3
- тикет 4 лот 0.5
- тикет 7 лот 0.1
- тикет 8 лот 0.6
- тикет 9 лот 1.8
Чтобы закрыть их все сразу, открываем позицию SELL лотом 3.3 в результате открытия получим тикет позиции. И затем каждыйую из позиций BUY закрываем встречной SELL
Но надо понимать и помнить, что при закрытии одной из позиций BUY получим другую позицию SELL с другим тикетом и другим объёмом. И каждую
следующую позицию BUY надо будет закрывать встречной позицией SELL со своим тикетом.
Вау, это превосходная идея. Спасибо. Только я должен рассчитать торговые лоты с уважением, а затем просто использовать их для закрытия сделки. Это замечательно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я написал скрипт для закрытия открытых ордеров.
Это хорошо работает. Но он закрывается очень медленно. Для закрытия одной сделки требуется почти 1 секунда. Где я открыл 10 сделок. Означает, что для закрытия сделки потребуется 10 секунд.
Но я хочу закрыть их быстро или, по крайней мере, отправить асинхронный или основанный на потоках запрос на закрытие.
Но я ничего не вижу в MQL4 для этого.
Пожалуйста, кто-нибудь направит меня. Я заканчиваю в потере из-за этого эффекта.