이 주제를 참조하십시오. 아마도 약간 혼란스러울 수 있지만 아이디어를 찾을 수 있습니다.
MT5 거래 시스템은 MT4와 많이 다르기 때문에 생각을 바꿔야 합니다.

- www.mql5.com
저는 EA를 작성하고 있으며 MT4용으로 작성된 EA를 수정하고 있습니다. OrderSend를 사용하여 주문을 엽니다.
단순히 내가 이해해야 하는 경우(아마도 기록에서), 전송된 주문(그런데 .... 주문, 거래 또는 위치를 확인해야 함)이 StopLoss에 도달했기 때문에 마감되었습니다.
포럼에서 확인했지만 필요한 것을 찾지 못했습니다....
ORDER_PRICE_CURRENT | 주문 기호의 현재 가격만 제공 |
ORDER_SL과 비교할 수 없습니다. ORDER_PRICE_CURRENT 는 현재 심볼 가격일 뿐 주문 마감 가격이 아니라고 가정합니다 .
지원해 주셔서 감사합니다.
이거야?
//-------------------------------- ES CIERRE POR SL ---------------------------------------------- bool esCierreSL( int ind, int modoInd= SELECT_BY_TICKET, int modoHist= MODE_TRADES) { bool resp= OrderSelect (ind, modoInd, modoHist)? ( StringFind (OrderComment(), "[sl]" , 0 )>- 1 ): false ; return (resp); }
네크로에게 미안하지만 이것은 내 의견으로는 꽤 흥미 롭습니다.
저는 mql4에서 mql5로 전환을 하고 있으며 거래 및 기록 시스템 변경이 상당히 어렵다는 것을 알았습니다.
기록 장부에 대한 거래가 손절매, 이익 실현 또는 기타 목적으로 마감되었는지 확인하려면:
- MT4에서는 OrderStopLoss(), OrderTakeProfit() 및 OrderClosePrice()를 비교하거나 단순히 OrderComment()를 확인할 수 있습니다.
- MT5에서 가능한 유일한 방법은 거래의 주석을 확인하는 것 같습니다. HistoryDealGetString(tk, DEAL_COMMENT)
흥미롭지만 올바르게 이해했다면 이벤트 처리를 기반으로 거래 변경 사항을 즉석에서 식별하는 것을 목표로합니다.
따라서 (차트에서 실행되는 전문 고문과 같은) 청취하는 프로그램이 있어야 합니다. 그렇지 않으면 아무 것도 감지되지 않습니다.
내 생각에 거래 마감 이유 감지는 기록 거래 장부에서 수행되어야 합니다. 왜냐하면 그것이 어딘가에 기록되고 공중에서 포착되지 않기 때문에 일어난 일을 아는 가장 안전한 방법이기 때문입니다(또는 그래야만 합니다).
내 분석이 잘못된 것인가? 어떻게 생각하나요?

- www.mql5.com
아니오 , 그들은하지 않습니다. 그것은 당신의 중개인입니다. |
좋아, MT4 및 MT5 중개인은 모두 주석에 해당 문자열을 넣었습니다. 최소한 내가 테스트한 몇 개.
그리고 나는 의견이 브로커의 손에 의해 변경될 수 있기 때문에 이것은 좋은 생각이 아니라는 데 동의합니다.
그러나 나는 무역 역사 책에서 다른 흔적을 찾을 수 없기 때문에 이것이 어떻게 다르게 행해질 수 있는지 보지 못했습니다.
이 목표를 달성하는 더 좋은 방법이 있습니까?
2년 전에 서비스 데스크에 연락했습니다 (MT4 관련).
그리고 그들은 대답했다
따라서 브로커가 아닌 시스템에서 수행됩니다. 브로커가 변경할 수 있다면 여전히 도움이 되지 않습니다.
참고로 저는 브로커가 주문 댓글을 변경한 경우를 본 적이 없습니다.
일반적으로 내 코드에서는 거래가 손익으로 마감되었는지 여부를 아는 것이 더 중요합니다. 후행 정지를 사용하면 거래가 SL에 도달할 수 있지만 여전히 이익을 얻을 수 있습니다.
2년 전에 서비스 데스크에 연락했습니다 (MT4 관련).
그리고 그들은 대답했다
따라서 브로커가 아닌 시스템에서 수행됩니다. 브로커가 변경할 수 있다면 여전히 도움이 되지 않습니다.
참고로 저는 브로커가 주문 댓글을 변경한 경우를 본 적이 없습니다.
일반적으로 내 코드에서는 거래가 손익으로 마감되었는지 여부를 아는 것이 더 중요합니다. 후행 정지를 사용하면 거래가 SL에 도달할 수 있지만 여전히 이익을 얻을 수 있습니다.
더 나은 해결 방법을 찾을 수 없기 때문에 Keith에게 감사합니다.
저는 EA를 작성하고 있으며 MT4용으로 작성된 EA를 수정하고 있습니다. OrderSend를 사용하여 주문을 엽니다.
단순히 내가 이해해야 하는 경우(아마도 기록에서), 전송된 주문(그런데 .... 주문, 거래 또는 위치를 확인해야 함)이 StopLoss에 도달했기 때문에 마감되었습니다.
포럼에서 확인했지만 필요한 것을 찾지 못했습니다....
ORDER_PRICE_CURRENT
주문 기호의 현재 가격만 제공
ORDER_SL과 비교할 수 없습니다. ORDER_PRICE_CURRENT 는 현재 심볼 가격일 뿐 주문 마감 가격이 아니라고 가정합니다 .
지원해 주셔서 감사합니다.
편집하다 :
이 주제는 빌드 1640 이후 MT5가 제공하는 새로운 가능성 으로 인해 대부분 사용되지 않습니다.
몇 가지 예는 주제의 마지막 게시물을 참조하십시오.