오류 4756 - 페이지 4

 
RaptorUK :

나는 내가 전략 테스터에서 동일한 문제를 보았음을 확인하고 이것이 정확히 어떻게 일어날 수 있는지 확신할 수 없음을 확인하기 위해 더 많은 오류 보고를 추가하여 다시 시도할 것입니다.

자, 수수께끼 하나가 풀렸습니다. . . 나는 Strategy Tester 에서 사용된 Spread가 History 데이터, 특히 M1 데이터에서 가져온 것임을 깨닫지 못했습니다. 내 전략 테스터 실행에서 유효하지 않은 중지가 있는 이유는 스프레드가 내 SL보다 크기 때문입니다. 이에 대한 테스트를 추가하겠습니다.

 

Konstantin83 :
2013.03.10 11:19:18    2012.01.04 15:00:00   failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]

유효하지 않은 정지를 이해하지 못합니다. sl이 매수 sl보다 낮습니다: 1.28375 <1.30505 ?

 
Konstantin83 :

CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);

Top = NormalizeDouble(rates[ ArrayMaximum(hg,0,WHOLE_ARRAY) ].high,_Digits); 

- 잘못된 디자인.
최대 double 값 중에서 선택 하고 정수 인덱스 대신 사용

Konstantin83 에게 감사드립니다.

하지만 당신이 말하는 것을 이해하지 못합니다.

top은 지난 5개의 캔들 중 가장 높은 값이고 top은 정수 인덱스가 아니라 double입니다.

맨 위
 

dan5 :

유효하지 않은 정지를 이해하지 못합니다. sl이 매수 sl보다 낮습니다: 1.28375 <1.30505 ?


"잘못된 정류장"을 너무 문자 그대로 받아들이지 마십시오. 손절매 뿐만 아니라 진입 가격 및/또는 TP가 될 수도 있습니다. 오류가 발생하면 다음 정보를 인쇄하면 무엇이 잘못되었는지 해결하는 데 도움이 됩니다.

  1. 거래 유형, 매수 한도, 매수, 매도, 매도 정지 등
  2. 가격을 묻다
  3. 입찰 가격
  4. 입장료
  5. 에스엘
  6. TP
  7. 동결 수준
  8. 스톱 레벨
  9. 오류 번호(원하는 경우 오류 설명)
이 기사도 읽어야 합니다. 이 기사는 mql4용으로 작성되었지만 여전히 mql5에도 적용된다고 확신합니다. 거래를 할 때 요구 사항 및 제한 사항
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
  • book.mql4.com
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
 

dan5 :

2013.03.10 11:19:18 2012.01.04 15:00:00 매수 정지 실패 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [잘못된 정지]


유효하지 않은 정지를 이해하지 못합니다. sl이 매수 sl보다 낮습니다 : 1.28375 <1.30505 ?


항목 1.30505가 > TP 1.30375라는 것을 알고 계셨습니까?
 
RaptorUK :
항목 1.30505가 > TP 1.30375라는 것을 알고 계셨습니까?

당신의 도움에 감사드립니다 내 sl과 tp를 수정합니다 지금은 괜찮습니다

mrequest.sl = NormalizeDouble(mrequest.price + STP*_Point,_Digits); // 손절매
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// 이익 실현

대신에:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // 손절매
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // 이익을 취하다

 
dan5 :

도움을 주셔서 감사합니다. 제 sl을 수정하고 tp는 이제 괜찮습니다.

mrequest.sl = NormalizeDouble(mrequest.price + STP*_Point,_Digits); // 손절매
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits);// 이익 실현

대신에:

mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // 손절매
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // 이익을 얻다

좋은 소식입니다. 제가 귀하의 스레드를 전복시키는 데 신경 쓰지 않았으면 좋겠지만 결국 우리 둘 다 유용한 정보를 얻은 것 같습니다 :-)
 
RaptorUK :
좋은 소식입니다. 제가 귀하의 스레드를 전복시키는 데 신경 쓰지 않았으면 좋겠지만 결국 우리 둘 다 유용한 정보를 얻은 것 같습니다 :-)
시장 실행(ECN 중개인) 사례에서 sl & tp를 진행하기 위해 내가 OnTradeTransaction 으로 제안한 다른 솔루션을 찾았습니까?
 
angevoyageur :
시장 실행(ECN 중개인) 사례에서 sl & tp를 진행하기 위해 내가 OnTradeTransaction 으로 제안한 다른 솔루션을 찾았습니까?
이 게시물 https://www.mql5.com/en/forum/11051#comment_446272 에서 제안한 코드는 내가 말할 수 있는 한 정상적으로 작동합니다. 스프레드가 수정되고 있음(MT4에서와 같이)이 올바르지 않습니다. 내 코드는 이제 전략 테스터에서 작동하고 실행 유형이 Instant 또는 Exchange 실행인 기호에 대한 데모에서 작동하며 내 코드는 유형을 결정하고 적절한 요청을 보냅니다. 이상적으로는 내 코드가 모든 실행 유형을 자동으로 처리하기를 바랍니다.
 
RaptorUK :
이 게시물 https://www.mql5.com/en/forum/11051#comment_446272 에서 제안한 코드는 내가 말할 수 있는 한 정상적으로 작동합니다. 스프레드가 수정되고 있음(MT4에서와 같이)이 올바르지 않습니다. 내 코드는 이제 전략 테스터에서 작동하고 실행 유형이 Instant 또는 Exchange 실행인 기호에 대한 데모에서 작동하며 내 코드는 유형을 결정하고 적절한 요청을 보냅니다. 이상적으로는 내 코드가 모든 실행 유형을 자동으로 처리하기를 바랍니다.
아, 놓쳤습니다.