 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В этом примере была использована функция OrderStopLoss(). Изназвания абсолютно понятно еепредназначение, нолучше все-таки остановиться наней поподробнее.
Для того, чтобы изучение функции OrderStopLoss() стало непросто скучным теоретическим описанием, попробуем слегка изменить прошлый пример, чтобы получить максимум практической пользы.
Прошлый наш пример работал только втех случаях, когда Stop Loss был сработан без проскальзывания. Изменим немного наш код:
//---- выбираем ордер/позицию с тикером 77777
if ( OrderSelect (77777, SELECT_BY_TICKET) == true)
{
// позиция выбрана успешно
if ( ((OrderClosePrice() <= OrderStopLoss()) && (OrderType() == OP_BUY)) ||
((OrderClosePrice() >= OrderStopLoss()) && (OrderType() == OP_SELL)) )
{
// позиция закрылась по Stop Loss
// ...
}
else
{
// позиция закрылась по Take Profit
// ...
}
}
else
Print("OrderSelect() вернул ошибку - ",GetLastError());
Этот пример базируется натом, что:
- Если позиция была напокупку (условие OrderType() == OP_BUY истинно), тоStop Loss сработает или поцене ордера, или хуже, т.е. ниже: (OrderClosePrice() <= OrderStopLoss()).
- Если позиция была на продажу (условие OrderType() == OP_SELL истинно), то Stop Loss сработает или по цене ордера, или хуже, т.е. выше: (OrderClosePrice() >= OrderStopLoss()).
Перейти к главе « функция OrderType».
|
|
|
|
|
|
| |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
+7 (495) 710-76-76
8 (800) 200-01-31 |
|
|