Как узнать что стопы при открытии ордера запрещены.... - страница 2

 
Swetten >>:

Надо сделать обработчик ошибки. Выставляем_ордер_с_СЛ_ТП. Если она есть -- то действовать по алгоритму выставляем_ордер+модификация ордера. Иначе -- выставляем_ордер_вместе_с_ТП_СЛ.

Ну, это так, в общих чертах.

Молодец, Светлана! Просто и со вкусом, а то "..хакеров надо позвать.."

 
OneDepo >>:

Молодец, Светлана! Просто и со вкусом, а то "..хакеров надо позвать.."

Прикольно )))

Теперь, Светлана, с вас ответная похвала за точно такую идею OneDepo здесь. )))

Две темы практически об одном и том же, соответственно ответы одинаковы...

 
Swetten писал(а) >>
Никуда она не уйдёт. Да если и уйдёт -- пара пунктов для нормальной ТС роли не сыграют. Для пипсатора -- не знаю.

Ну почему же для пипсатора? А для махинатора?

К примеру, работает сетка ордеров - не пипсовка. Выходит новость нонфарм или фомц. График колбасит. Цена дернулась вниз. Советник пытается открыться. Не получается - стопы надо отдельно ставить. Советник повторно отсылает запрос открыться без стопов.

Начиная отсюда - два "плохих" варианта:

1. Советник открылся по новой цене, но цена дернулась назад и стопы теперь уже не установить - слишком близко к рыночной цене или вовсе рынок ушел выше стопов.

2. Сервер дает реквоту - и все по новой... Наконец рынок успокоился и вы вошли в рынок но по самой худшей цене.

 

Выкиньте такую ТС на помойку.

----------------------------------

2 Scriptong

:)

 
Swetten писал(а) >>

Выкиньте такую ТС на помойку.

----------------------------------

2 Scriptong

:)

))))))))

 

Стоит ли спорить из -за ерунды?

Проще уточнить в техподдержке по этим стопам. Прежде, чем ставить на реал советника.

А еще проще предусмотреть в коде соотв. опцию и даже потом не задумываться, а как там оно открывает...

 

kernelmd писал(а) >>

Перелопатил форум но так и не нашел, как заранее узнать если стопы можно ставить сразу при открытии или нет?

С некоторой вероятностью можно утверждать, что стопы нельзя ставить сразу тогда, когда МаркетИнфо выдает нулевые стоп-уровни.

 
// If Separate_StopLoss_TakeProfit is set to true, the expert doesn't set SL and TP together with opening a position but
// modifies the position after that. That is necessary for some brokers as FXCM which don't allow
// using OrderSend(..) with SL and TP.
extern bool Separate_StopLoss_TakeProfit = false;

...

// Chek broker.
string broker = AccountCompany();
    
// FXCM
if (StringSubstr(broker, 0, 4) == "FXCM")
    Separate_StopLoss_TakeProfit = true; 
    
// FXOpen
else if (StringSubstr(broker, 0, 6) == "FXOpen")
    Separate_StopLoss_TakeProfit = true;
    
// ODL
else if (StringSubstr(broker, 0, 3) == "ODL")
    Separate_StopLoss_TakeProfit = true;
...

if (Separate_StopLoss_TakeProfit)
{
    orderResponse = OrderSend(symbol, type, lots, price, slippage, 0, 0, "", magic);
    if (orderResponse > 0)
         orderResponse = ModifyPositionByTicket(symbol, orderResponse, stoploss, takeprofit);
}
else
    orderResponse = OrderSend(symbol, type, lots, price, slippage, stoploss, takeprofit, "", magic);

...

I'm using code like shown above. It allows for the user to chose whether SL / TP to be set instantly or additionally.

The problem is with inexperienced users which don't know the purpose of "Separate_StopLoss_TakeProfit" variable.

If such user executes the expert with a broker without instant SL and TP, the expert returns "Invalid Stops" (absolutely informative in this case)


That's why I'm trying to make brokers recognition automatically by this code:

// Chek broker.
string broker = AccountCompany();
    
// FXCM
if (StringSubstr(broker, 0, 4) == "FXCM")
    Separate_StopLoss_TakeProfit = true;

Do you know for other brokers with instant SL / TP limitation?

Причина обращения: