Ню, так проверяй Тейк!
Я же Тейк не менял.
У тебя для всех ордеров TP=Price-RTP? и для Buy, и для Sell?
тут в расчете на sell ордера
Вычесления те же, но тогда правильно тейк ставился, а теперь = цене открытия.
Вернулся на 1 вариант - тейк высчитывается верно )
В твоем варианте контроль ордеров верно идет - тейк неверно ставится. Не могу найти причину.
Все, нашел причину - была в переменной int ProfitProcent; - получается ничему не была равна ?
Большое спасибо за помощь.
Рабочий код:
extern double ProfitProcent = 10;
int start()
{
//string Symb=Symbol();
for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:
// int Tip=OrderType(); // Тип ордера
if(OrderSymbol()==Symbol())
{
// int Ticket=OrderTicket();
// double SL=OrderStopLoss();
double Price =OrderOpenPrice();
double RTP =(Price/100)*ProfitProcent;
double CTP =OrderTakeProfit();
double TP=NormalizeDouble(Price-RTP, Digits);
if (CTP==0) OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TP,0);
}
}
}
return(0);
}
Сообщение отредактировал vorobey2: 24 March 2011 - 16:52