HistoryOrderGetTicket

Geçmişteki karşılık gelen emrin fişine dönüş yapar. HistoryOrderGetTicket() çağrısını yapmadan önce, HistorySelect() veya HistorySelectByPosition() fonksiyonunu kullanarak emir ve işlem geçmişinin alınması gerekir.

ulong  HistoryOrderGetTicket(
   int  index      // Emir listesindeki numara
   );

Parametreler

index

[in]  Emir listesindeki emir numarası.

Dönüş değeri

ulong tipli değer. Fonksiyon, başarısız olması durumunda 0 dönüşü yapar.

Not

Alım-satım geçmişindeki emirlerle - "AraçKutusu" çubuğunun "Trade" sekmesinde görünen - bekleyen emirleri birbirine karıştırmayın. İptal edilmiş veya bir faaliyete konu olmuş emirler, "AraçKutusu" çubuğunun "Geçmiş" sekmesinde bulunabilir.

Örnek:

void OnStart()
  {
   datetime from=0;
   datetime to=TimeCurrent();
//--- tüm geçmişi iste
   HistorySelect(from,to);
//--- emir özelliklerinin değerlerini döndürmek için değişkenler
   ulong    ticket;
   double   open_price;
   double   initial_volume;
   datetime time_setup;
   datetime time_done;
   string   symbol;
   string   type;
   long     order_magic;
   long     positionID;
//--- mevcut bekleyen emirlerin sayısı
   uint     total=HistoryOrdersTotal();
//--- döngü içinde incele
   for(uint i=0;i<total;i++)
     {
      //--- listedeki konumuna göre emir fişine dönüş yap
      if((ticket=HistoryOrderGetTicket(i))>0)
        {
         //--- emir özelliklerini döndür
         open_price    =HistoryOrderGetDouble(ticket,ORDER_PRICE_OPEN);
         time_setup    =(datetime)HistoryOrderGetInteger(ticket,ORDER_TIME_SETUP);
         time_done     =(datetime)HistoryOrderGetInteger(ticket,ORDER_TIME_DONE);
         symbol        =HistoryOrderGetString(ticket,ORDER_SYMBOL);
         order_magic   =HistoryOrderGetInteger(ticket,ORDER_MAGIC);
         positionID    =HistoryOrderGetInteger(ticket,ORDER_POSITION_ID);
         initial_volume=HistoryOrderGetDouble(ticket,ORDER_VOLUME_INITIAL);
         type          =GetOrderType(HistoryOrderGetInteger(ticket,ORDER_TYPE));
         //--- emir bilgisini hazırla ve göster
         printf("#fiş %d %s %G %s %G değerleriyle %s anında işlenmiş => %s anında tamamlanmış, pozisyon tanımlayıcı=%d",
                ticket,                  // emir fişi
                type,                    // tip
                initial_volume,          // hacim
                symbol,                  // sembol
                open_price,              // belirtilen açılış fiyatı
                TimeToString(time_setup),// emir işleme zamanı
                TimeToString(time_done), // emrin gerçekleşmesinin ve silinmesinin zamanı
                positionID               // işleme konu olan pozisyonun tanımlayıcısı
                );
        }
     }
//---
  }
//+------------------------------------------------------------------+
//| Emir tipinin ismine dizgi şeklinde dönüş yapar                   |
//+------------------------------------------------------------------+
string GetOrderType(long type)
  {
   string str_type="bilinmeyen işlem";
   switch(type)
     {
      case (ORDER_TYPE_BUY):            return("buy");
      case (ORDER_TYPE_SELL):           return("sell");
      case (ORDER_TYPE_BUY_LIMIT):      return("buy limit");
      case (ORDER_TYPE_SELL_LIMIT):     return("sell limit");
      case (ORDER_TYPE_BUY_STOP):       return("buy stop");
      case (ORDER_TYPE_SELL_STOP):      return("sell stop");
      case (ORDER_TYPE_BUY_STOP_LIMIT): return("buy stop limit");
      case (ORDER_TYPE_SELL_STOP_LIMIT):return("sell stop limit");
     }
   return(str_type);
  }

Ayrıca Bakınız

HistorySelect(), HistoryOrdersTotal(), HistoryOrderSelect(), Emir özellikleri