Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А что непроавильно в таком варианте? Условие если есть бай и если есть селл , вроде корректно пропсиано:
for(int k=OrdersTotal()-1;k>=0;k--)
{
RefreshRates();
if((OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) &&
(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL))
{
int tip=OrderType();
{
if(tip==OP_BUY)
{
bool check=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),0,0,clrNONE);
}
if(tip==OP_SELL)
{
bool check=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),0,0,clrNONE);
}
}
}
}
причем, если убрать, из условия одно из выражений например OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) , то при открытии продажи TP убирается.
Спасибо за подсказки, нашел у KimIV функцию NumberOfPositions , которую удалось применить в моем случае, фрагмент рабочего кода ниже:
if(NumberOfPositions()==2)
{
for(int k=OrdersTotal()-1;k>=0;k--)
{
RefreshRates();
if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL)
{
bool check=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),0,0,clrNONE);
}
if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY)
{
bool check=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),0,0,clrNONE);
}
}
}
В самой функции ничего не менял, по мере продвижения , конечно буду вносить изменения, привязывать к магику и тд.
Благодарю за быстрые ответы.