OrderSelect 함수 질문 - 페이지 2

 
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double ma;
//--- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//--- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Open[1]>ma && Close[1]<ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Open[1]<ma && Close[1]>ma)
           {
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
               Print("OrderClose error ",GetLastError());
           }
         break;
        }
     }
//---
  }
for(int i=0;i<OrdersTotal();i++)
 

새로운 유형의 예술.

무역 풍자.

나는 그것을 좋아한다.

 
boopa26 :

1. c 지식이 필요하지 않습니다. mql4는 다른 기능입니다

boopa26은 사람들의 시간을 낭비하지 않습니다

  1. 코드 작성 방법을 몰라도 코드를 작성할 수 있다고 생각합니다. 기능은 관련이 없습니다.
    boopa26 : for주기 또는 while주기없이 주문을 닫기 위해 주문 선택 기능을 작성하려고합니다.
    그렇다면 루프를 사용하는 코드를 게시 한 이유는 무엇입니까? 당신은 우리의 시간을 낭비하고 있습니다.
  2. 여러 주문이 있는 경우(하나의 EA 여러 차트, 여러 EA, 수동 거래)
 
for (last_index_inside_trade_pool= OrdersTotal ()- 1 ;last_index_inside_trade_pool>= 0 ;last_index_inside_trade_pool--)

   { if ( OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1 &&
       OrderMagicNumber()==magic_number&&
       OrderType()==OP_SELL)

       OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);


     if ( OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 0 )

       Print ( "OrderSelectError: " , GetLastError ());}

시간 낭비 응? 위의 코드가 내가 당신의 시간을 낭비하고 있는 것처럼 보입니까? 어... 아마도 WHRoeder는 없을 것입니다

이것은 쉬운 일이 아니었지만 위의 코드는 주문을 마감합니다. 그래도 이해가 되지 않습니다. 코더가 자세한 내용을 설명하면 좋을 것입니다.

boopa26이 생각하는 것

정적 int last_index_inside_trade_pool = OrdersTotal()-1

last_index_inside_trade_pool >=0이 아래 코드를 수행하는 동안. last_index_inside_trade_pool을 수행하십시오--

아래 코드는 순서를 찾습니다. 순서 를 확인합니다 . 주문을 닫습니다. GetLastError()

그래도 이해하지 못한다

 if(OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1&&
 
boopa26 : 시간낭비 응? 위의 코드가 내가 당신의 시간을 낭비하고 있는 것처럼 보입니까?
네. 나는 두 가지 질문을 했고 당신은 완전히 무시했습니다.
 

그렇다면 루프를 사용하는 코드를 게시 한 이유는 무엇입니까?

주기 코드는 주기 없이 동일하게 수행하도록 다르게 작성할 수 있습니다. 예시

static int last_index_inside_trade_pool;
//below start()
last_index_inside_trade_pool= OrdersTotal ()- 1 ;

   if ( OrdersTotal ()> 0 &&
     iMA ( NULL , 0 , 1 , 0 , MODE_SMMA , PRICE_CLOSE , 1 )> iMA ( NULL , 0 , 10 , 0 , MODE_SMMA , PRICE_CLOSE , 1 )&&
     OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES)== 1 &&
     OrderMagicNumber()== 99999 &&
     OrderType()==OP_SELL)

    {last_index_inside_trade_pool--;
     OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Red);}

루프는 없지만 동일한 결과입니다. boopa26은 if 조건을 사이클 동안 선호합니다.

코드 작성 방법을 몰라도 코드를 작성할 수 있다고 생각합니다. 기능은 관련이 없습니다.

나는 사이클이 기본 수학인 동안 조건을 수행하는 방법을 알고 있습니다. 좋은 시작 WHRoeder입니다. c 프로그래밍은 c 프로그래밍입니다. mql4는 mql4입니다. 왜요? 기능 때문에. mql4는 c 프로그래밍 예제 * () == 등을 수행하지만 기능 때문에 동일하지 않습니다.

 

순서 선택 기능을 0에서 1로 전환하는 것은 무엇입니까?

 if(OrderSelect (last_index_inside_trade_pool,SELECT_BY_POS,MODE_TRADES))== 1

주문 합계가 0보다 크면 주문 선택 기능이 0에서 1로 전환됩니까?


선적 서류 비치

"반환된 값

함수가 성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다. 오류 정보를 얻으려면 GetLastError() 함수를 호출해야 합니다."

함수가 성공하면 1을 반환합니까?

 

난이 사람을 사랑해 :-)

이 포럼에만 글을 쓰고 있습니까 아니면 다른 링크가 있습니까?

무대에서 이러는데 티켓팅은 어디서 하나요?

 

그냥 이 포럼

eddie 주문 선택 기능 에 대해 알고 있습니까?

 
boopa26 :

그렇다면 루프를 사용하는 코드를 게시 한 이유는 무엇입니까?

주기 코드는 주기 없이 동일한 기능을 수행하도록 다르게 작성할 수 있습니다. 예시

루프는 없지만 동일한 결과입니다. boopa26은 if 조건을 사이클 동안 선호합니다.

코드 작성 방법을 몰라도 코드를 작성할 수 있다고 생각합니다. 기능은 관련이 없습니다.

나는 사이클이 기본 수학인 동안 조건을 수행하는 방법을 알고 있습니다. 좋은 시작 WHRoeder입니다. c 프로그래밍은 c 프로그래밍입니다. mql4는 mql4입니다. 왜요? 기능 때문에

코드가 여전히 작동하지 않는 이유가 궁금하십니까? "1단계"를 따르고 "C"로 올바르게 코딩하는 방법을 배웠던 "기본"을 아직 모르기 때문에 MQL 코딩에 훨씬 능숙했을 것입니다(C 및 C++과 유사하기 때문에 )!

"기능"(3단계)을 이해하는 데도 실패합니다! " OrderSelect() "는 언제부터 정수를 반환합니까? 문서에서 부울을 반환한다고 명확하게 명시한 경우는 언제부터입니까? "OrderClose()"의 결과를 확인하지 않거나 코드의 일부에서 런타임 오류가 발생한 경우에도 확인하지 않습니다!

당신의 결과: 당신은 "탄탄"으로 끝났고 우리의 조언을 받아들이기를 거부했기 때문에 당신은 또한 우리의 시간을 낭비했습니다!