Закрытие - открытие позиций
Посмотрите пример Советники: New Martin.
В OnTradeTransaction ловим только транзакции типа TRADE_TRANSACTION_DEAL_ADD - добавление сделки в историю.
- Если словили - смотрим чтобы был наш символ и наш магик.
- Далее смотрим на тип сделки - вход или выход. Нас будет интересовать выход (DEAL_ENTRY_OUT).
- Если хотим поймать ЗАКРЫТИЕ SELL позиции, значит нужна сделка BUY.
- После этого просто выставляем флаг "нуна открыть позицию"
- В OnTick, как только поймали флаг "нуна открыть позицию"==true - открываем позицию
Посмотрите пример Советники: New Martin.
В OnTradeTransaction ловим только транзакции типа TRADE_TRANSACTION_DEAL_ADD - добавление сделки в историю.
- Если словили - смотрим чтобы был наш символ и наш магик.
- Далее смотрим на тип сделки - вход или выход. Нас будет интересовать выход (DEAL_ENTRY_OUT).
- Если хотим поймать ЗАКРЫТИЕ SELL позиции, значит нужна сделка BUY.
- После этого просто выставляем флаг "нуна открыть позицию"
- В OnTick, как только поймали флаг "нуна открыть позицию"==true - открываем позицию
так , буду пробовать. Пока все выглядит легко)
:) Ага, а потом всегда "чем больше дров, тем темнее лес".
Если хотим поймать ЗАКРЫТИЕ SELL позиции, значит нужна сделка BUY - не совсем понял почему так?
Есть позиция SELL. Что бы её закрыть нужно совершить BUY. В рынке все покоится на равновесии.
По другому никак :)
Есть позиция SELL. Что бы её закрыть нужно совершить BUY. В рынке все покоится на равновесии.
По другому никак :)
Но у меня условия такие, если закрылась селл по 0,03 закрылся по стоплосс то открываем еще пару позиций 1 селл и 1 бай увеличенным обьемом...или я что то не догоняю похоже
Нужно еще получается мне проверить если закрылся бай, то узнать какого он обьма
Но у меня условия такие, если закрылась селл по 0,03 закрылся по стоплосс то открываем еще пару позиций 1 селл и 1 бай увеличенным обьемом...или я что то не догоняю похоже
Нужно еще получается мне проверить если закрылся бай, то узнать какого он обьма
Да. Закрытие позиции - это тип сделки DEAL_ENTRY_OUT. Дальше смотрим тип - это должна быть сделка DEAL_TYPE_BUY. Дальше смотрим её объём.
сделал так
if(deal_entry==DEAL_ENTRY_OUT)
{
if(deal_profit>0)
{
//--- есть шанс, что это было закрытие по TakeProfit
if(StringFind(deal_comment,"tp",0)==-1)
return;
//--- если закрыли BUY
if(deal_type==DEAL_TYPE_SELL)
{
if((deal_volume==DEAL_TYPE_SELL)>(deal_volume==DEAL_TYPE_BUY))
if(trade_sell())
//--- обнуление для BUY
bln_buy=false;
}
//--- если закрыли SELL
if(deal_type==DEAL_TYPE_BUY)
{
if((deal_volume==DEAL_TYPE_SELL)<(deal_volume==DEAL_TYPE_BUY))
if(trade_buy())
//--- обнуление для SELL
bln_sell=false;
}
}
}
}
}
чуть ниже так
{
int trade_BUY=true;
if(trade_BUY==true)
{
trade.Sell(lot_sell,_Symbol,0,0,0,CommentOrder);
trade.Buy(Volume,_Symbol,0,0,0,CommentOrder);
}
return(trade_BUY);
}
//+------------------------------------------------------------------+
bool trade_sell()
{
int trade_SELL=true;
if(trade_SELL==true)
{
trade.Buy(lot_buy,_Symbol,0,0,0,CommentOrder);
trade.Sell(Volume,_Symbol,0,0,0,CommentOrder);
}
return(trade_SELL);
}
//+------------------------------------------------------------------+
что не так?

- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хочется чтобы советник после закрытия позиции, если закрылась селл - то открывалась еще пара позиций ну и в таком духе.
Подскажите как реализовать, чуть ниже то что я хочу делать после того как у меня открывается пара позиций бай и селл.
Всего 3 развития событий по этим картинкам, покажите на примере одной, остальное я сам допишу.