DomGilberto: Не могу поверить, что я делаю эти ошибки новичков... Бесит! Да, у меня теперь печатается и выбирается ордер. Это код, который работает в плане печати - лоты все еще не закрываются? Я также вставил сообщения журнала ниже.
2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: Order Select returned the error of 0 // Not sure what is going on here?
(facepalm - мне явно нужно отдохнуть от этого!) Ок, с этим разобрались, и теперь он выбирает заказ. Вот печать журнала - ошибка "Close_Half_Order" = 0? Это ошибка функции OrderClose. Это никак не связано с числом "000" после второго знака после запятой в части "лоты для закрытия", не так ли?
2013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Close_Half_Order Last Error = 02013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Order Lots Open = 0.182013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Order Ticker Number = 92013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The Lots to close is: 0.090002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The Lotstep is: 0.010002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The minimum lots are: 0.010002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: FirstTarget_Buy: 1.37931
(facepalm - мне явно нужно отдохнуть от этого!) Ок, с этим разобрались, и теперь он выбирает заказ. Вот печать журнала - ошибка "Close_Half_Order" = 0? Это ошибка функции OrderClose. Это не имеет ничего общего с числом "000" после второго десятичного знака в части "лоты для закрытия", не так ли?
Скобки, скобки, скобки. ... иногда их нужно использовать, иногда нет.
OrderClose() не завершился неудачей. . .
if(OrderMagicNumber()==MagicNumber)
if(OrderSymbol()==Symbol())
if(OrderType()==OP_BUY)
if(OpenOrdersThisPair(Symbol())==1) // if this is true . . .bool Close_Half_Order = OrderClose(OrderTicket(),half,FirstTarget_Buy,3,CLR_NONE); // . . . do this.if(Close_Half_Order!=TRUE)Print("Close_Half_Order Last Error = ", GetLastError()); // do this whatever happens . . .
поэтому, если OrderType() не является OP_BUY, последняя строка все равно будет выполнена, отсюда и ошибка 0. ... добавьте скобки, как здесь:
if(OrderMagicNumber() == MagicNumber)
if(OrderSymbol() == Symbol())
if(OrderType() == OP_BUY)
if(OpenOrdersThisPair(Symbol()) == 1)
{
bool Close_Half_Order = OrderClose(OrderTicket(), half, FirstTarget_Buy, 3, CLR_NONE);
if(Close_Half_Order != TRUE) Print("Close_Half_Order Last Error = ", GetLastError() ); // only executed if the OrderClose() was also executed
}
Я установил отложенный ордер "OP_BUYSTOP", но у меня сложилось впечатление, что он изменится при срабатывании на "OP_BUY"?
Я думал, что тип ордера будет "OP_BUY", если он сработал?
В конце концов, меня интересует только ПОСЛЕ срабатывания ордера?
Почему эти скобки сбивают с толку? Вы имеете в виду, где находится левая скобка? Если да, то, похоже, это индивидуальная вещь, так как меня уже несколько раз поправляли?
Не могу поверить, что я делаю эти ошибки новичков... Бесит! Да, у меня теперь печатается и выбирается ордер. Это код, который работает в плане печати - лоты все еще не закрываются? Я также вставил сообщения журнала ниже.
2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: Order Select returned the error of 0 // Not sure what is going on here?
c - это ПОЗИЦИЯ, а не номер билета...
(facepalm - мне явно нужно отдохнуть от этого!) Ок, с этим разобрались, и теперь он выбирает заказ. Вот печать журнала - ошибка "Close_Half_Order" = 0? Это ошибка функции OrderClose. Это никак не связано с числом "000" после второго знака после запятой в части "лоты для закрытия", не так ли?
(facepalm - мне явно нужно отдохнуть от этого!) Ок, с этим разобрались, и теперь он выбирает заказ. Вот печать журнала - ошибка "Close_Half_Order" = 0? Это ошибка функции OrderClose. Это не имеет ничего общего с числом "000" после второго десятичного знака в части "лоты для закрытия", не так ли?
Скобки, скобки, скобки. ... иногда их нужно использовать, иногда нет.
OrderClose() не завершился неудачей. . .
поэтому, если OrderType() не является OP_BUY, последняя строка все равно будет выполнена, отсюда и ошибка 0. ... добавьте скобки, как здесь:
Хммм, все еще не хочет закрывать @ "Close_Half_Order"? Сообщение об ошибке тоже не появляется?
OP_BUY?
Кстати, эти скобки ничего не делают, кроме как запутывают ситуацию. ...
Я установил отложенный ордер "OP_BUYSTOP", но у меня сложилось впечатление, что он изменится при срабатывании на "OP_BUY"?
Я думал, что тип ордера будет "OP_BUY", если он сработал?
В конце концов, меня интересует только ПОСЛЕ срабатывания ордера?
Почему эти скобки сбивают с толку? Вы имеете в виду, где находится левая скобка? Если да, то, похоже, это индивидуальная вещь, так как меня уже несколько раз поправляли?