PositionGetTicket

이 함수는 오픈 포지션 목록에 지정된 인덱스를 가진 포지션의 티켓을 반환하고 함수 PositionGetDouble, PositionGetInteger, PositionGetString를 사용하여 작업할 포지션을 자동으로 선택합니다.

ulong  PositionGetTicket(
   int  index      // 목록에서의 포지션 번호
   );

매개 변수

index

[in]  오픈 포지션 목록에 있는 포지션의 인덱스, 숫자는 0부터 시작합니다.

반환값

포지션의 티켓. 함수가 실패하면 0을 반환합니다.

참고

포지션 (ACCOUNT_MARGIN_MODE_RETAIL_NETTINGACCOUNT_MARGIN_MODE_EXCHANGE)의 "netting" 해석의 경우, 언제든지 하나의 포지션이 하나의 심볼에 대해 존재할 수 있습니다. 이 포지션은 하나 이상의 거래의 결과입니다. Toolbox 창의 Trading 탭에도 표시되는 유효한 보류 주문과 포지션을 혼동하지 마십시오

개별 포지션이 허용되는 경우 (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING), 하나의 심볼로 여러 포지션을 오픈할 수 있습니다.

포지션에 대한 새로운 데이터를 받으려면 PositionSelect()을 바로 호출한 뒤 참조하는 것이 좋습니다.

예:

//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 함수                                          |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 모든 계정 포지션에 의한 루프
   int total=PositionsTotal();
   for(int i=0i<totali++)
     {
      //--- 해당 속성에 액세스할 포지션을 자동으로 선택하여 다음 포지션의 티켓을 가져옵니다.
      ulong ticket=PositionGetTicket(i);
      if(ticket==0)
         continue;
      
      //--- 포지션 유형을 가져오고 선택한 포지션에 대한 설명을 저널에 표시
      string type=(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE ? "Buy" : "Sell");
      PrintFormat("[%d] Selected position %s #%I64u"itypeticket);
     }
   /*
  결과:
   [0Selected position Sell #2810802718
   [1Selected position Buy #2810802919
   */
  }

참고 항목

PositionGetSymbol(), PositionSelect(), Position Properties