OrderGetTicket

Kalanı Pasife Yazarşılık gelen emrin fişine dönüş yapar ve fonksiyonlarla yapılabilecek soraki çalışmalar için otomatik olarak emri seçer.

ulong  OrderGetTicket(
   int  index      // Emir listeindeki numara
   );

Parametreler

index

[in]  Emrin, emirler listesindeki numarası.

Dönüş Değeri

ulong tipli değer. Başarısız sonuç duruunda, 0 dönüşü yapar.

Not

Müşteri terminalinde Araçkutusunun "İşlem" sekmesinde birlikte gösterilen mevcut bekleyen emirler ve pozisyonlar birbirleriyle karıştırılmamalıdır. Emirler alım-satım faaliyetleri gerçekleştirmek için gönderilen isteklerdir, pozisyonlar ise bir veya daha fazla alım-satım işleminin sonucudur.

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.

OrderGetTicket() bir emirle ilgili verileri program ortamına kopyalar. OrderGetDouble(), OrderGetInteger() ve OrderGetString() çağrıları, daha önceden kopyalanmış bu verilere dönüş yapar. Yani, emir artık var olmasa da (veya fiyatı, Zarar Durdur/Kar Al seviyeleri veya zaman aşımı süresi değiştirilmiş olsa bile) emirle ilgili verilere yine de erişilebilir. Emirle ilgili güncel verileri alabilmek için OrderGetTicket() çağrısının değişikliklerden sonra yapıldığından emin olmalısınız.

Örnek:

void OnStart()
  {
//--- emir özelliklerinin değerlerini almak için değişkenler
   ulong    ticket;
   double   open_price;
   double   initial_volume;
   datetime time_setup;
   string   symbol;
   string   type;
   long     order_magic;
   long     positionID;
//--- mevcut bekleyen emirlerin sayısı
   uint     total=OrdersTotal();
//--- emirleri döngü içinde incele
   for(uint i=0;i<total;i++)
     {
      //--- listedeki pozisyona göre emrin fişine dönüş yap
      if((ticket=OrderGetTicket(i))>0)
        {
         //--- emir özelliklerine dönüş yap
         open_price    =OrderGetDouble(ORDER_PRICE_OPEN);
         time_setup    =(datetime)OrderGetInteger(ORDER_TIME_SETUP);
         symbol        =OrderGetString(ORDER_SYMBOL);
         order_magic   =OrderGetInteger(ORDER_MAGIC);
         positionID    =OrderGetInteger(ORDER_POSITION_ID);
         initial_volume=OrderGetDouble(ORDER_VOLUME_INITIAL);
         type          =EnumToString(ENUM_ORDER_TYPE(OrderGetInteger(ORDER_TYPE)));
         //--- emirle ilgili bilgileri hazırla ve göster
         printf("#fiş %d %s %G %s, %G ile %s zamanında başlatıldı",
                ticket,                 // emir fişi
                type,                   // tip
                initial_volume,         // başlangıç hacmi
                symbol,                 // sembol
                open_price,             // belirtilen açılış fiyatı
                TimeToString(time_setup)// emrin girildiği zaman
                );
        }
     }
//---
  }

Ayrıca bakınız

OrdersTotal(), OrderSelect(), OrderGetInteger()