절반 부지를 폐쇄합니다. - 페이지 14

 
좋은 조언 감사합니다! 나는 확실히 그 길을 갈 것입니다 - 나는 핍 가치와 관련하여 고정된 이익 실현 가격이 없습니다(즉, 항상 100핍) 그것은 60 EMA = 손절매이고 최종 고정 TP는 1:2 (따라서 스톱로스의 2배 핍 거리에 대한 어떤 핍 값이든 될 수 있습니다...) 그것 때문에 제가 하기가 조금 더 어렵습니다...

마지막 질문, 가격을 두 배로 늘리는 것이 실제로 그렇게 중요합니까? 나는 그 목적을 이해하지 못합니다...?
 

예, 특히 계산을 수행하는 경우 Double, OrderTakeProfit() OrderStopLoss() OrderLots()에 문제가 될 수 있습니다. 귀하의 부분 주문 마감과 유사한 작업을 수행할 때 내 EA 중 하나에 영향을 미쳤습니다. 이 스레드를 살펴보십시오 https://www.mql5.com/en/forum/141034

 
맞습니다 - 완벽하게 작동하고 있습니다... 문제는 If(OrderOpenPrice() > OrderStoploss())"에서 벗어나 동일한 가격으로 계속 청산되는 거래를 걸러내고 싶습니다...

나는 내 두뇌를 덜컥 거리는 것을 시도했지만 트리거되는 즉시 "OP_BUY"의 OrderTicket()을 통해 로직을 수행할 수 없으며 절반이 닫힌 후 나머지 위치의 OrderTicket() 번호로 이동합니까?

OrderClose()에서 OP_BUY가 반으로 줄어들면 나머지 위치에는 다른 티켓 번호가 있습니다... 두 가지를 비교하여 OrderClose()가 한 번 완료된 후 중지하도록 지시할 수 있는 방법을 알려주실 수 있습니까?
 
Pleassssse - 이 스레드를 소진했다는 것을 알고 있지만 이것이 마지막 비트입니다 :)?

나는 그것을 모두 민트와 세트로 가지고 있습니다 - 위에서 쓴 것을 비교하는 논리를 이해하지 못합니다.

나는 이것을 완료한 후에 다른 사람들을 돕기 위해 스레드를 만들 생각입니다 - 공정할 것입니다!
 
누구나 :(
 

나는 이미 그것을 하는 방법을 당신에게 말했고, 당신이 부분적으로 닫으려는 티켓의 OrderOpenTime()을 얻습니다. 당신이 부분을 닫은 후에 그것은 동일한 OrderOpenTime()을 갖는 티켓이 부분의 나머지 부분인 OrderSelect()를 다시 수행합니다 폐쇄 주문.

 

아 예 - 죄송합니다. 처음에는 놓쳤을 것입니다!

방금 앉아서 그것에 대해 생각했는데 그 안에 있는 논리를 이해하기가 어렵습니까? 포인터를 주시겠습니까?

현재 "int Start()" 섹션에 다음이 있습니다.

분명히 "OrderOpenPrice() > OrderStopLoss()) 부분을 제거 해야 하지만 "CloseHalfOrder();"가 계속 호출되지 않도록 무엇으로 대체해야 합니까? 오늘!) 내가 마감된 거래와 비교하는 건가?...

   if (OpenOrdersThisPair( Symbol ())> 0 ) //If there is a trade open = do below, which ever is applicable.
      {
       if (OrderType()==OP_BUY && OrderOpenPrice() > OrderStopLoss())
         {
         CloseHalfOrder(); // Closes half at 1:1 - then calls another void to break even on the trade +3.
         }

       if (OrderType()==OP_SELL && OrderStopLoss() > OrderOpenPrice())
         {
         CloseHalfOrder1(); // Closes half at 1:1 - then calls another void to break even on the trade +3.
         }   
      
 
DomGilberto :

아 예 - 죄송합니다. 처음에는 놓쳤을 것입니다!

방금 앉아서 그것에 대해 생각했는데 그 안에 있는 논리를 이해하기가 어렵습니까? 포인터를 주시겠습니까?

현재 "int Start()" 섹션에 다음이 있습니다.

분명히 "OrderOpenPrice() > OrderStopLoss()) 부분을 제거해야 하지만 "CloseHalfOrder();"가 계속 호출되지 않도록 무엇으로 대체해야 합니까? 오늘!) 내가 마감된 거래와 비교하는 건가?...

귀하의 코드에 표시한 시점에서 귀하는 어떤 주문을 선택하셨습니까?

 if (OpenOrdersThisPair( Symbol ())> 0 ) //If there is a trade open = do below, which ever is applicable.
      {

       //  order currently selected is ??
 
       if (OrderType()==OP_BUY && OrderOpenPrice() > OrderStopLoss())
         {
         CloseHalfOrder(); // Closes half at 1:1 - then calls another void to break even on the trade +3.
         }

       if (OrderType()==OP_SELL && OrderStopLoss() > OrderOpenPrice())
         {
         CloseHalfOrder1(); // Closes half at 1:1 - then calls another void to break even on the trade +3.
         }   
      

올바른 주문입니까? 그것이 올바른 순서라면 우연입니까 아니면 디자인입니까?

 
나도 그렇게 생각했습니다. OrderType을 사용하기 전에 OrderSelect()가 필요하다고 하는데 작동하나요? 나는 주어진 시간에 단 하나의 주문만 열려 있습니다 ...

나는 내 이점에 OrderOpenTime()을 사용하고 매번 CloseHalfOrder가 호출되는 것을 중지하는 방법을 생각할 수 없습니다...
 
DomGilberto :
나도 그렇게 생각했습니다. OrderType을 사용하기 전에 OrderSelect()가 필요하다고 하는데 작동하나요? 나는 주어진 시간에 단 하나의 주문만 열려 있습니다 ...

두 개의 기호에서 EA를 실행하는 경우 한 번에 두 개의 주문이 열릴 가능성이 있습니다. . . 하지만 전략 테스터 에서는 이것을 테스트할 수 없습니다. 그러면 어떤 주문이 선택됩니까? 옳은 것 또는 잘못된 것?