![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
сделайте следующее:
заведите переменную
Spread=0.0002; //некий фиксированный, выставьте так, как Вам надо
currSpread=MarketInfo(Symbol(),MODE_SPREAD)*Point; //текщий рыночный спред
if(currSpread<=Spread && avgProfit >= 5)closeAllOrders();
в коде функции closeAllOrders() также пропишите эту же логику на спред при необходимости
после восстановления спреда до нормального, можете продолжать закрытиеСпасибо. Попробую написать индикатор отображающий реальное значение спреда и понаблюдать недельку-две. Если значение спред будет по большей части находится в допустимых приделах, то воспользуюсь вашим решением, а если нет, то тоже им воспользуюсь, но уже с другим брокером )))
Дело не в том, какое проскальзывание было указано в приказе, а то, что пока приказы исполнялись, цена улетела.
Без проскользов - только лимитками, и то - не у любого брокера.
Вариант проще (и быстрее) — вместо закрытия 10 сделок открыть одну встречную, с объемом равным сумме объемов открытых сделок, а потом закрыть все сделки встречно (тогда уже не важно будет, куда уйдет цена).
Как то я не догоняю... Перейдем на личности - на апельсины )
Допустим я купил 1 ордер ( ящик с апельсинами) buy за 100 рублей. Цена достигла bid=150 рублей , ask = 50.
Профит = AccountInfoDouble(ACCOUNT_PROFIT) = 50 рублей ?
Закрытие моего ордера дает (ask - 100) = -50 рублей.
А если я открою еще и встречный ордер sell продажа по 50 а покупка по 100 то влечу еще на 100 рублей убытка.
Или как?
Нет, не так.
Цена = 99/100 (бид/аск). Купили по 100.
Цена дошла до 150/151. Прибыль = 50. ACCOUNT_PROFIT = 50, OrderProfit = 50 (если нет комиссий и свопов). Отдали приказ на закрытие.
Пока отдавали приказ на закрытие, спред расширился, цена стала 50/200. Закрыли, естественно, по цене бид = 50, итого убыток -50.
С одним ордером это немного натянуто, но тоже возможно. А если ордеров много, то "пока отдавали приказ на закрытие" может продлиться несколько секунд.
Ждать возвращения спреда к какому-то значению, на мой скромный взгляд, глупо. Он может не вернуться вообще, или вернуться не скоро (когда цена будет 25/26 в нашем примере).
Удачи.