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

 
내가 이것을 사용하고 있습니까? 위의 " if (OpenOrdersThisPair( Symbol ())> 0 )"과 결합하면 각 쌍에서 EA를 분리해야 합니까? 무슨 말인지 알겠어요. OrderOpenTime()을 사용하지 않은 거래와 반으로 나눈 거래를 구별하는 방법에 대한 제안이 있습니까? 올바른 방향으로 약간 걷어차...?

 //+----------------------------------------------------------------------------------------------------------------------------------------+  
//| Check to see if any order open on this currency pair                                                                                   |
//+----------------------------------------------------------------------------------------------------------------------------------------+   

int OpenOrdersThisPair( string pair)
  {
   int total= 0 ;
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       OrderSelect (i,SELECT_BY_POS,MODE_TRADES);
       if (OrderSymbol()==pair) total++;
     }
   return (total);
  }
 
DomGilberto :
내가 이것을 사용하고 있습니까? 위의 " if (OpenOrdersThisPair( Symbol ())> 0 )"과 결합하면 각 쌍에서 EA를 분리해야 합니까?

아니요, 2개의 EA가 실행 중이고 각각 주문이 열려 있다고 가정하면 OpenOrdersThisPair() 함수 에 의한 마지막 OrderSelected()가 잘못된 것일 가능성이 50:50입니다. . . 함수는 하나를 반환하지만 잘못된 주문을 선택했을 수 있습니다.
 
실례합니다만 그게 어떻게 사실인지 이해가 안 가나요? 나는 OrderSymbol()== pair? 따라서 EURUSD에 첨부된 관련 EA는 EURUSD의 orderselect를 선택합니까?
 
이렇게 하면 정렬이 될까요? 일기장에서 나에게 이렇게 말하고 있다? "OrderSymbol()==OrderSymbol()"은 어떻습니까? 이것이 이 기호라면... 그것이 지연된 것인지 아닌지 확실하지 않습니다...

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

         if (OrderType()==OP_SELL && OrderStopLoss() > OrderOpenPrice() && OrderSymbol()==OrderSymbol()) // lol? If this symbol is, this symbol...
               {
               CloseHalfOrder1(); // Closes half at 1:1 - then calls another void to break even on the trade +3.
               }
            
2013.08.08 18:51:21	2010.02.08 01:00  Trend Fishing 3 Exits GBPJPY,H1: The Symbol is: GBPJPY

 

아! OrderCloseTime()과 OrderOpenTime()을 비교하면 어떻게 될까요!?

확실히 이것이 내가 원하는 일을 하는 가장 좋은 방법이 될까요? 그렇게 하면 원하는 만큼 OrderClose 기능 을 추가할 수 있습니까? 결국, 현재 "OP_BUY"와 동일한 OrderOpenTime()을 가진 거래를 히스토리에서 간단히 선택할 수 있지만 OrderCloseTime() > OrderOpenTime()이면 OrderClose()가 중지되고 절반이 닫힙니다. 계속해서!?!

누군가 내가 여기서 일할 일이 있다고 말해주세요 :( 하하.

 
DomGilberto :
실례합니다만 그게 어떻게 사실인지 이해가 안 가나요? 나는 OrderSymbol()== pair? 따라서 EURUSD에 첨부된 관련 EA는 EURUSD의 orderselect를 선택합니까?

먼저 OrderSelect() . . . 그런 다음 확인합니다. .

 if (OrderSymbol()==pair) total++;

. . . 기호가 일치하지 않으면 해당 기능 에 문제가 없습니다. . . 그러나 그것은 여전히 당신이 선택한 마지막 주문이 당신이 작업하고 있는 심볼에 대한 것이 아니라는 것을 의미합니다.

추가 루프가 필요하고 유효한 순서를 찾은 다음 루프를 종료합니다. . . 그러면 올바른 주문이 선택됩니다.

 
혼란스럽습니다. 이번 주에 동시에 16개의 다른 쌍에서 EA를 테스트했지만 잘못된 것을 선택한 적이 없습니다. 내가 뭔가를 놓치고 있습니까?
 
DomGilberto :
혼란스럽습니다. 이번 주에 동시에 16개의 다른 쌍에서 EA를 테스트했지만 잘못된 것을 선택한 적이 없습니다. 내가 뭔가를 놓치고 있습니까?
내가 볼 수있는 한 잘못된 주문을 선택할 수 있는 것 같지만 위험을 감수하기보다는 확실하게 수정하겠습니다. 코드를 확인 하십시오. 코드가 발생하지 않으면 수정할 필요가 없습니다.
 

DomGilberto :
I thought that too - It says I need OrderSelect() before using OrderType, but it works? I only ever have one order open at any given time...

I can't think of how to use OrderOpenTime() to my advantage and stop CloseHalfOrder being called every time...

EA 부품은 주문을 마감하고 EA는 부품을 다시 마감하지 않을 주문을 알아야 하므로 부품을 마감하기 전에 OrderOpenTime()을 가져옵니다. 동일한 OrderOpenTime()을 사용하여 해당 통화 쌍 에 대한 주문을 다시 부분 마감하지 않도록 EA를 코드화합니다.

 
SDC :

EA 부품은 주문을 마감하고 EA는 부품을 다시 마감하지 않을 주문을 알아야 하므로 부품을 마감하기 전에 OrderOpenTime()을 가져옵니다. 동일한 OrderOpenTime()을 사용하여 해당 통화 쌍에 대한 주문을 다시 부분 마감하지 않도록 EA를 코드화합니다.


예, 지금 시작하고 있습니다. 동일한 OrderSymbol()에 대해 기록에서 마감된 거래와 비교해야 한다고 가정합니다.

그래도 문제가 있습니다. 동일한 "OP_BUY" 또는 "OP_SELL"을 다른 가격으로 최대 4번 부분 마감하려고 합니다... 제가 물어야 할 질문은 방법을 찾을 수 있는지 여부입니다. (하나의 주어진 거래에 대한 모든 로트 및 가격의) 마감은 미리 정의된 "OrderClose()" 매개변수 세트에서 한 번만 부분적으로 마감됩니다...

이 방법으로 나는 OrderOpenTime()이 본질적으로 한 번만 작동하고 다른 유형의 OrderClose() 함수가 전혀 발생하지 않도록 제한할 것입니다. 내가 할 수 있는 방법을 찾고 싶습니다. 하나의 규칙이 4개의 OrderClose() 함수에 적용되었습니다... (이게 말이 된다면?)

나는 사람들이 4개의 주문을 열 것을 제안하고 있다는 것을 알고 있지만 너무 깊이 들어가지 않으면 그렇게 하는 것이 덜 효율적입니다.