Я написал код ниже, который открывает сделку покупки и продажи (определенное количество пунктов выше и ниже цены спроса и предложения) в определенное время.
-
Как я могу закрыть/отменить один сразу, когда другой открыт?
-
Как я могу закрыть открытую сделку, если в ней указано X пунктов в прибыли или через минуту (в зависимости от того, какое условие достигнуто первым)?
Я не уверен, что правильно сделал код, приведенный ниже, и был бы очень признателен за помощь.
double spread = Ask-Bid;
extern datetime time;
extern int pipGap = 7;
extern int lotSize = 0.01;
extern int closeTimeInSeconds = 60;
int start() {
if (TimeCurrent() >= StrToTime(time)){
OrderSend(Symbol(),OP_BUYSTOP,lotSize, Ask + Point*pipGap, 0,0,0);
OrderSend(Symbol(),OP_SELLSTOP,lotSize, Bid - Point*pipGap, 0,0,0);
}
for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
OrderSelect(pos, SELECT_BY_POS)
){
int duration = TimeCurrent() - OrderOpenTime();
if (duration >= closeTimeInSeconds)
OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),
3*Point);
}
return(0);
}