일부 브로커에서 [tp] 태그가 제거되었습니까? - 페이지 4

 
cloudbreaker :
것이 가능하다. 다음을 수행하려면 로직을 구축해야 합니다. - EA가 마감한 주문에 관한 정보 유지 - "범위 내에" 있지만 EA가 마감하지 않은 주문에 대한 주문 내역 풀을 지속적으로 확인 - 이익의 표시를 확인하여 다음 여부를 결정합니다. 브로커가 나를 위해 SL 또는 TP Works를 호출했습니다. CB

이 방법은 대부분의 MT4 Broker 플랫폼에서 문제 없이 사용할 수 있지만 MBTF MT4 Broker 데모 플랫폼에서는 작동하지 않는 것으로 나타났습니다. MBTF MT4 플랫폼은 클라이언트(수동 또는 EA)의 마감된 주문에 대한 의견을 기록하지 않습니다. 이런 종류의 브로커 플랫폼에서는 하나의 주문이 서버에 의해 종료되었는지 클라이언트에 의해 종료되었는지 판단하는 것은 불가능합니다.

나는 여전히 MetaQuotes가 이 문제를 해결하기 위해 OrderCloseReason()과 같은 API를 추가해야 한다고 생각합니다.

 
gordon :

흠.... 혹시 제가 놓치고 있는 부분이 있는 것 같은데, 혹시 아래 내용으로 안되는 경우가 있나요?


 // select the closed order first and then do this:
   
   double sl_diff = MathAbs (OrderClosePrice() - OrderTakeProfit()),
          tp_diff = MathAbs (OrderClosePrice() - OrderStopLoss());
   
   if ( sl_diff > tp_diff )
       Print ( "order closed at tp" );
   else
       Print ( "order closed at sl" );

   // I assume here that an equality of sl_diff and tp_diff is impossible...?
그러나 여기에서 해결 방법을 얻을 수 있습니다.
 
qjol :
그러나 여기에서 해결 방법을 알 수 있습니다.
전체 스레드를 읽으십시오. 이 방법은 주문이 수동으로 마감되거나 전문가(tp/sl이 아닌)가 마감한 상황을 고려하지 않으므로 제한적 입니다. 그것을 하는 방법은 CB가 제안한 것을 통하는 것입니다... 여기에는 지름길이 없습니다.
 
aihua5 :

[...] 나는 여전히 MetaQuotes가 이 문제를 해결하기 위해 OrderCloseReason()과 같은 API를 추가해야 한다고 생각합니다.

이제 MT5가 나왔으니 그런 일은 일어나지 않을 것입니다. 기껏해야 MT4에 대한 몇 가지 버그 수정이 있을 것입니다... 새로운 기능이 있을지는 의문입니다...

 
gordon :
전체 스레드를 읽으십시오. 이 방법은 주문이 수동으로 마감되거나 전문가(tp/sl이 아닌)가 마감한 상황을 고려하지 않으므로 제한적 입니다. 그것을 하는 방법은 CB가 제안한 것을 통하는 것입니다... 여기에는 지름길이 없습니다.


당신은 r 오른쪽 전체 스레드를 읽지 않았지만 EA에 의해 닫힌 경우 또는 수동으로 사용자가 이것을 알 수 있는 방법이 있습니다. 유일한 문제는 스레드가 닫혔는지 확인하는 것입니다. TP 또는 ST

이것은 당신이 당신의 코드와 함께 들어오는 곳입니다.

 
qjol :


당신은 r 오른쪽 전체 스레드를 읽지 않았지만 EA에 의해 닫힌 경우 또는 수동으로 사용자가 이것을 알 수 있는 방법이 있습니다. 유일한 문제는 스레드가 닫혔는지 확인하는 것입니다. TP 또는 ST

이것은 당신이 당신의 코드와 함께 들어오는 곳입니다.

사용자가 수동으로 닫은 것을 기억하지 못할 수 있습니다. 아마도 그는 EA가 주문을 마감했다는 것을 깨닫지 못할 것입니다. 아마도 그는 전문가를 개발한 사람이 아니어서 이런 것들에 대해 전혀 몰랐을 것입니다... 물론 TP/SL만 가능하다고 가정하면 솔루션은 쉽습니다. 그러나 이 스레드의 요점은 우리가 모른다는 것입니다(이는 가정하지 않는다는 의미입니다).