수신되는 오류에 대해 저널을 확인했고 4051을 읽었습니다. 여러 오류 4051이 있습니다. 기본적으로 작동하지 않으며 다른 사람이 이전에이 문제를 해결하고 설명이 있는지 궁금합니다.
함수에 문제가 있는 경우 해당 함수에 대한 설명서를 읽으십시오. . . . OrderModify() <----- ME를 클릭하십시오! ! !
주문의 개시 가격을 0.0 으로 수정할 수 없습니다. . . OrderSelect()를 올바르게 수행했다고 가정하고 OrderModify()에 전달하는 두 번째 매개변수에 대해 OrderOpenPrice()를 사용하십시오.
Simon, 나는 OrderModify() 함수에 대한 문서를 읽고 사용되는 예제가 후행 중지임을 알아차렸습니다. EA에 후행 중지를 사용하고 싶지 않습니다. 이것은 내가 후행 정지를 사용한 경우(예에 따라) EA가 시장이 현재 sl보다 x 포인트 위로 이동하여 sl을 지정된 가격으로 수정해야 하기 때문입니다. 기본적으로 이것은 너무 복잡합니다. 주문이 시장에 제출된 후 주문에 손절매를 추가하고 싶습니다.
어쨌든 현재도 새로운 솔루션을 시도하고 있습니다.
고맙습니다.
분명히 OrderModify() 매개변수 내에서 OrderOpenPrice() 함수를 사용하는 것은 오류 4051에 따라 "잘못된 함수 매개변수"로 간주됩니다.
윌리엄,
분명히, 나는 당신이 당신의 지원을 제공하고 싶다면 MetaEditor에서 다운로드하고 볼 수 있는 링크에 EA를 게시했습니다. OrderSelect() 함수 는 현재 문제가 아닙니다. 그거 알아? 나는 당신을 위해 이것을 게시할 것입니다, 윌리엄.
//*************************************************** // EMERGENCY BUY ORDER STOP LOSS PROTECTION SECTION ; //*************************************************** OrderSelect ( 0 ,SELECT_BY_TICKET,MODE_TRADES); // was ticket. if ( OrdersTotal ()> 0 ) { if (OrderType()==OP_BUY) { if (OrderSend1== true ) { // if(iMA(NULL,0,1,0,MODE_SMMA,PRICE_CLOSE,1)<=OrderOpenPrice()-500*Point) { // choice 1. // {OrderModify(ticket,OrderOpenPrice(),Ask-500*Point,0,0,Blue);}}}} // choice 2. {OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice()- 500 * Point , 0 , 0 ,Blue);}}}}
요청하신대로.
고맙습니다.
Simon, 나는 그것을 알아내기 위해 테스트를 실행할 것이다.
고맙습니다.
아하! 나는 티켓 번호를 0에서 1로 바꿨고 모든 것이 시계처럼 작동했습니다. 네, 제가 틀렸습니다. William... OrderSelect() 함수 가 문제였습니다. 분명히 OrderSelect() 함수는 티켓을 선택해야 합니다. 티켓 번호가 0인 경우 EA는 어떤 티켓을 선택할까요? :오 "?". 도움을 주신 두 분께 감사드립니다.
고맙습니다.
안녕하세요 MQL4 포럼입니다.
위의 코드는 작동하지만 매도호가가 위아래로 움직일 때 sl을 위아래로 움직입니다.
해결책으로 이것을 시도했습니다 ...
(선택되는 주문은 구매 주문 입니다)
저널에 수신오류가 있는지 확인해보니 4051이더군요. 4051에러가 여러 개 있습니다. 기본적으로는 안되는데, 이전에 이 문제를 해결한 적이 있고 설명이 있는 사람이 있는지 궁금합니다.
이 솔루션이 작동하지 않는 이유를 모르겠습니다(예, 첫 번째 잘못된 OrderModify 솔루션이 작동하기 때문에 주문을 올바르게 선택하고 있다고 생각합니다).
고맙습니다.