Ticket verisi sağlayan fonksiyon için Yardım

 
Merhabalar, bir fonksiyon tanımlamak istiyorum fakat kendi uğraşlarımla başaramadım.

Fonksiyonun adı "ticketverisi()"olsun, çalışma mantığı şu şekilde olacak,
U
ulong ticket_4_buy;
ticket_4_buy = ticketverisi(Positiyon_type_buy,4);
 
Bu şekilde çağrıldığında , açık işlemler arasından sadece buy olan 4. İşlemin ticket verisini verecek.

ulong ticket_3_sell;
ticket_3_sell = ticketverisi(Position_type_sell,3);

Bu şekilde çağrıldığında yine açık işlemler arasından sadece sell olanların 3. sünün ticket verisini verecek.


Yardımcı olabilirseniz çok memnun olurum.🙏

 
Ümit UYSAL:
Merhabalar, bir fonksiyon tanımlamak istiyorum fakat kendi uğraşlarımla başaramadım.

Fonksiyonun adı "ticketverisi()"olsun, çalışma mantığı şu şekilde olacak,
U
ulong ticket_4_buy;
ticket_4_buy = ticketverisi(Positiyon_type_buy,4);
 
Bu şekilde çağrıldığında , açık işlemler arasından sadece buy olan 4. İşlemin ticket verisini verecek.

ulong ticket_3_sell;
ticket_3_sell = ticketverisi(Position_type_sell,3);

Bu şekilde çağrıldığında yine açık işlemler arasından sadece sell olanların 3. sünün ticket verisini verecek.


Yardımcı olabilirseniz çok memnun olurum.🙏

// İlgili sıradaki işlem ticket'ını döndüren fonksiyon
ulong ticketverisi(int position_type, int index)
  {
// Açık pozisyon sayısını al
   int total_positions = PositionsTotal();
   int count = 0;

// Tüm açık pozisyonları döngüyle kontrol et
   for(int i = 0; i < total_positions; i++)
     {
      // Pozisyon bilgilerini al
      ulong ticket = PositionGetTicket(i);
      if(ticket == 0)
         continue;

      // Pozisyon türünü kontrol et
      if(PositionGetInteger(POSITION_TYPE) == position_type)
        {
         count++; // İlgili türdeki işlemleri say

         // İlgili sıradaki işlem bulunursa ticket'ı döndür
         if(count == index)
            return ticket;
        }
     }

// İstenen sıradaki işlem bulunamazsa 0 döndür
   return 0;
  }

// Örnek kullanım
void OnStart()
  {
   ulong ticket_4_buy = ticketverisi(POSITION_TYPE_BUY, 4);
   Print("4. BUY işleminin ticket'ı: ", ticket_4_buy);

   ulong ticket_3_sell = ticketverisi(POSITION_TYPE_SELL, 3);
   Print("3. SELL işleminin ticket'ı: ", ticket_3_sell);
  }
//+------------------------------------------------------------------+