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

 

주문이 TakeProfit 또는 StopLoss에 의해 마감되었는지 확인하기 위해 의견을 사용하고 있습니다... MIG BANK( 실제 계정 )에서 "[tp]" 또는 "[sl]" 태그를 제거했음을 깨달았습니다. 주문... 내 EA가 데모 계정에서 작동하지만 태그를 제거한 실제 원인이 아닙니다... TakeProfit의 가격과 종가를 비교할 생각이지만 정확하지 않을 수 있습니다. 가까운 곳에서 미끄러지는 경우 또는 무엇이든. 어떤 아이디어라도?

 
새로운 규칙으로 인해 TP 및 SL을 설정하기 위해 ordermodify()를 사용하여 ordersend() 이후에 주문을 수정해야 하는 브로커 중 하나가 아닙니까?
 
NablaQuant :

주문이 TakeProfit 또는 StopLoss에 의해 마감되었는지 확인하기 위해 의견을 사용하고 있습니다... MIG BANK(실제 계정)에서보다 "[tp]" 또는 "[sl]" 태그를 제거했다는 것을 깨달았습니다. 주문... 내 EA가 데모 계정에서 작동하지만 태그를 제거한 실제 원인이 아닙니다... TakeProfit의 가격과 종가를 비교할 생각이지만 정확하지 않을 수 있습니다. 가까운 곳에서 미끄러지는 경우 또는 무엇이든. 어떤 아이디어라도?


'[tp]', '[sl]' 주석은 브로커에 따라 다릅니다. 일부는 있고 일부는 없습니다.

주문 종가가 시가보다 높거나 낮은지와 주문 유형을 확인할 수 있습니다.

 
Matutin :
새로운 규칙으로 인해 TP 및 SL을 설정하기 위해 ordermodify()를 사용하여 ordersend() 이후에 주문을 수정해야 하는 브로커 중 하나가 아닙니까?

이는 새로운 규칙 때문이 아니라 BT 브리지(세미 'ECN' 브로커)를 사용하기 때문입니다.

 
Matutin :
새로운 규칙으로 인해 TP 및 SL을 설정하기 위해 ordermodify()를 사용하여 ordersend() 이후에 주문을 수정해야 하는 브로커 중 하나가 아닙니까?

아니요, MIG는 SL 및 TP가 OrderSend()에서 설정되도록 허용합니다.


CB

 
gordon :

'[tp]', '[sl]' 주석은 브로커에 따라 다릅니다. 일부는 가지고 있고 일부는 없습니다.

주문 종가가 시가보다 높거나 낮은지와 주문 유형을 확인할 수 있습니다.

이것은 OrderProfit 함수와 동일하지만 내가 필요로 하는 것은 아닙니다. TakeProfit으로 주문을 양수 또는 음수로 마감할 수 있습니다(나중에 TakeProfit을 변경하는 경우).


내가 필요한 것은 주문이 TakeProfit 또는 StopLoss에 의해 마감되었다는 것을 아는 것입니다. 이 의견이 없으면 불가능하다고 생각합니다.


초기 TakeProfit 가격과 종가 를 비교할 수는 있지만 미끄러짐으로 인해 정확하지 않을 수 있습니까?


답장해주셔서 감사합니다.

 
NablaQuant :

TakeProfit으로 주문을 양수 또는 음수로 마감할 수 있습니다(나중에 TakeProfit을 변경하는 경우).

좋은 지적.


초기 TakeProfit 가격과 종가를 비교할 수는 있지만 미끄러짐으로 인해 정확하지 않을 수 있습니까?

MathAbs(closeprice - tp) > MathAbs(closeprice - sl)인지 확인할 수 있습니다.

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

도움이 되는지 아닌지는 모르겠지만 CB가 제안하는 작업을 수행하는 것 외에도 브로커가 중요한 내용을 덮어쓰지 않도록 주문 주석 에 공백을 오른쪽 채웁니다. 페일 세이프는 아니지만 외부 데이터 파일이 누락된 경우를 대비하여 추가 보호 기능으로 사용하는 것이 좋습니다.

 

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


   // 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...?