Как лучше написать функцию закрытия ордеров по прибыли?

 

Если так написать пойдёт?

if(AccountProfit()>= proffactor)
{
orderclosebuy(ticketbuy);
orderclosesell(ticketsell);
}

Или есть варианты получче?

 
Ohr писал(а) >>

Если так написать пойдёт?

if(AccountProfit()>= proffactor)
{
orderclosebuy(ticketbuy);
orderclosesell(ticketsell);
}

Или есть варианты получче?

В тестере пойдет. В остальных случаях - нет. Надо проконтролировать успешность выполнения закрытия. Если один из ордеров не закроется, то у него может быть недостаточно прибыли для выполнения условия AccountProfit()>= proffactor, чтобы попоытка закрытия оставшегося ордера повторилась.

 
Integer >>:

В тестере пойдет. В остальных случаях - нет. Надо проконтролировать успешность выполнения закрытия. Если один из ордеров не закроется, то у него может быть недостаточно прибыли для выполнения условия AccountProfit()>= proffactor, чтобы попоытка закрытия оставшегося ордера повторилась.

А поточнее не подскажете как это сделать? Для чайников!

 

У меня наверно по этому он загонулины выкидывает! Он должен все ордера закрывать и считать всё с начала! А он собака считает как ему удобно!


Хотя всё считает с нового бара!:

if (Time[0] == prevtime) return(0);
prevtime = Time[0];
{

То с начала:

if(OrdersTotal()<1)

.................

То с того же места где закрыл все позиции!


if(OrdersTotal()>0)

lastlots=OrderLots();

lotsbuy2=mult*lastlots;

...............

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