Влияние спреда на профит - страница 2

 
Renat Akhtyamov:

сделайте следующее:

заведите переменную

Spread=0.0002; //некий фиксированный, выставьте так, как Вам надо

currSpread=MarketInfo(Symbol(),MODE_SPREAD)*Point; //текщий рыночный спред

if(currSpread<=Spread && avgProfit >= 5)closeAllOrders();

в коде функции closeAllOrders() также пропишите эту же логику на спред при  необходимости

после восстановления спреда до нормального, можете продолжать закрытие


Спасибо.  Попробую написать индикатор отображающий реальное значение спреда и понаблюдать недельку-две. Если значение спред будет по большей части находится в допустимых приделах, то воспользуюсь вашим решением, а если нет, то тоже им воспользуюсь, но уже с другим брокером )))

 
Andrey Khatimlianskii:

Дело не в том, какое проскальзывание было указано в приказе, а то, что пока приказы исполнялись, цена улетела.


Без проскользов - только лимитками, и то - не у любого брокера.

Вариант проще (и быстрее) — вместо закрытия 10 сделок открыть одну встречную, с объемом равным сумме объемов открытых сделок, а потом закрыть все сделки встречно (тогда уже не важно будет, куда уйдет цена).


Как то я не догоняю...   Перейдем на личности - на апельсины )

Допустим я купил 1 ордер ( ящик с апельсинами) buy за 100 рублей.  Цена достигла bid=150 рублей , ask = 50.

Профит = AccountInfoDouble(ACCOUNT_PROFIT) = 50 рублей ?

Закрытие моего ордера дает (ask - 100) = -50 рублей.

А если я открою еще и встречный ордер sell   продажа по 50 а покупка по 100  то влечу еще на 100 рублей убытка.

Или как?

 
Предполагаю, что рабочим вариантом может быть самостоятельное вычисление профита каждого ордера по текущим ask и bid и отказ от системных функций OrderProfit и AccountInfoDouble(ACCOUNT_PROFIT)  
 
SpringInvestor:

Нет, не так.

Цена = 99/100 (бид/аск). Купили по 100.
Цена дошла до 150/151. Прибыль = 50. ACCOUNT_PROFIT = 50, OrderProfit = 50 (если нет комиссий и свопов). Отдали приказ на закрытие.
Пока отдавали приказ на закрытие, спред расширился, цена стала 50/200. Закрыли, естественно, по цене бид = 50, итого убыток -50.

С одним ордером это немного натянуто, но тоже возможно. А если ордеров много, то "пока отдавали приказ на закрытие" может продлиться несколько секунд.

Ждать возвращения спреда к какому-то значению, на мой скромный взгляд, глупо. Он может не вернуться вообще, или вернуться не скоро (когда цена будет 25/26 в нашем примере).

Удачи.

 
bid=150 рублей , ask = 50
Эта строчка значит что покупают за 50 а продают за 150.