PositionGetSymbol

Açık pozisyonun sembol isimine dönüş yapar ve PositionGetDouble, PositionGetInteger, PositionGetString fonksiyonlarıyla yapılabilecek soraki çalışmalar için otomatik olarak pozisyonu seçer.

string  PositionGetSymbol(
   int  index      // açık pozisyonlar listesindeki numara
   );

Parametreler

index

[in]  Pozisyonun, açık pozisyonlar listesindeki numarası.

Dönüş Değeri

string tipli değişken. Pozisyonun bulunamaması durumunda böş bir dizgiye dönüş yapılır. Hata kodu almak için GetLastError() foksiyonunu kullanın.

Not

Netleştirme (netting) sisteminde (ACCOUNT_MARGIN_MODE_RETAIL_NETTING ve ACCOUNT_MARGIN_MODE_EXCHANGE) bir sembol üzerinde sadece bir pozisyon bulunabilir. Bu pozisyon bir veya daha fazla işlemin sonucu açılmış olabilir. Müşteri terminalinde Araçkutusunun "İşlem" sekmesi içinde birlikte gösterilen mevcut bekleyen emirler ve pozisyonlar birbirleriyle karıştırılmamalıdır.

Çoklu pozisyonlara izin verilemsi durumunda (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) bir sembol üzerinde birden fazla pozisyon açılabilir.

Örnek:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- hesaptaki açık pozisyon sayısını al
   int total=PositionsTotal();
   for(int i=0i<totali++)
     {
      //--- i döngü indeksine göre pozisyon sembolünü al
      ResetLastError();
      string symbol=PositionGetSymbol(i);
      
      //--- pozisyon sembolü başarıyla alınırsa, i indeksindeki pozisyon otomatik olarak seçilir
      //--- ve PositionGetDouble, PositionGetInteger ve PositionGetString kullanarak özelliklerini elde edebiliriz
      if(symbol!="")
        {
         ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
         PrintFormat("Position symbol at index %d: %s, position type: %s"isymbolStringSubstr(EnumToString(type), 14));
        }
      else
        {
         PrintFormat("PositionGetSymbol(%d) failed. Error %d"iGetLastError());
         continue;
        }
     }
   /*
   sonuç:
   Position symbol at index 0GBPUSDposition typeSELL
   Position symbol at index 1EURUSDposition typeBUY
   */
  }

Ayrıca bakınız

PositionsTotal(), PositionSelect(), Pozisyon Özellikleri