ubzen :
게시물을 업데이트했습니다.
ubzen :
아무것도 바뀌지 않았습니다. 내가 이해하지 못하는 것은 경고 메시지에서 OrderType() 이 1 이며 이는 판매 주문 임을 의미합니다. 실제로는 매도 주문이지만 매수 주문의 코드가 실행됩니다. 나는 정말로 길을 잃었다. 위의 코드에 표시된 것처럼 OrderSelect(...)가 true를 반환할 때까지 루프를 시도했습니다. 아마도 순서를 선택할 수 없다고 생각했습니다. 그러나 그것의 유무에 관계없이 정확히 동일합니다.
우선, 정수 표현을 사용하고 테스트를 다시 실행하십시오. 그것이 당신의 문제를 해결하는지 확인하고 우리는 그것에 대해 더 이야기 할 것입니다.
RaptorUK :
수 있습니다. . .
orderType 을 있을 수 없는 것으로 선언해 보십시오. . . 예
. . . 그런 다음 메시지가 표시되지 않으면 주문 선택이 작동하지 않는 것입니다.
처음 선언하면 정확히 동일하게 작동합니다. int orderType = 10;
변수를 선언하는 대신 항상 OrderType()을 사용해 보았지만 동일한 문제가 있습니다.
또한 주문을 수정하기 직전에 OrderSelect(...)를 호출 하려고 시도했지만 변경되지 않았습니다.
백 테스터 또는 데모 계정에서 이것을 테스트하고 있습니까?
일부 Print()를 추가하십시오. 무엇이 잘못되었는지 알 수 있도록 설명합니다. . . 예
if ( /*OrderMagicNumber()==Magic &&*/ OrderSymbol()== Symbol ()) { Print ( "orderType = " ,orderType); if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
. . . 그런 다음 전문가 탭을 살펴보십시오.
Salaires 수동 확인을 사용하여 문제가 발생할 수 있습니까?

EA를 코딩하려고 하는데 내 코드의 특정 위치에서 열린 주문과 보류 중인 주문 의 손절매를 업데이트해야 합니다. 주문에 대한 정보와 함께 경고를 표시하고 있습니다.
실행하면 "Count: 2 Stoploss 1.44705 for buy order: 46450421 orderType: 1"과 같은 메시지를 받습니다.
orderType: 1은 주문 46450421이 OP_SELL 주문임을 의미하지만 "if ((orderType == OP_SELL)" 대신 "if ((orderType == OP_BUY || orderType == OP_BUYSTOP))" 테스트를 트리거하는 이유는 무엇입니까? || 주문 유형 == OP_SELLSTOP))"?
도와주세요 :-)
다니엘