SymbolInfoMarginRate

Emir türüne ve yönüne bağlı olarak teminat oranlarını geri döndürür.

bool  SymbolInfoMarginRate(
   string             name,                     // sembol adı
   ENUM_ORDER_TYPE    order_type,               // emir türü
   double&            initial_margin_rate,      // başlangıç teminatı oranı
   double&            maintenance_margin_rate   // sürdürme teminatı oranı
   );

Parametreler

name

[in] Sembol adı.

order_type

[in] Emir türü.

initial_margin_rate

[out] Başlangıç teminatı oranını almak için double türü değişken. Başlangıç teminatı, ilgili yönde 1 lotluk işlem için gereken teminat miktarıdır. Oranı başlangıç teminatı ile çarparak, belirtilen türde bir emir yerleştirirken hesapta ayrılacak para miktarını elde ederiz.

maintenance_margin_rate

[out] Sürdürme teminatı oranını almak için double türü değişken. Sürdürme teminatı, ilgili yönde 1 lotluk açık pozisyonu sürdürmek için gereken minimum miktardır. Oranı sürdürme teminatı ile çarparak, belirtilen türde bir emir etkinleştirildikten sonra hesapta ayrılacak para miktarını elde ederiz.

Geri dönüş değeri

Özellikler için talep başarılı olursa true, aksi takdirde false geri döndürür.

Örnek:

#define SYMBOL_NAME Symbol()
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- oranların ayarlandığı değişkenleri bildir
   double initial_margin_rate = 0;     // başlangıç teminatı oranı
   double maintenance_margin_rate = 0// sürdürme teminatı oranı
   
//--- alış piyasa emri için SYMBOL_NAME sembolüne ilişkin oranları al ve günlüğe gönder
   SymbolInfoMarginRatePrint(SYMBOL_NAMEORDER_TYPE_BUYinitial_margin_ratemaintenance_margin_rate);
   
//--- satış piyasa emri için SYMBOL_NAME sembolüne ilişkin oranları al ve günlüğe gönder
   SymbolInfoMarginRatePrint(SYMBOL_NAMEORDER_TYPE_SELLinitial_margin_ratemaintenance_margin_rate);
 
   /*
  sonuç:
   Initial margin rate for symbol AFKS for the Buy market order0.225600
   Maintenance margin rate for symbol AFKS for the Buy market order0.112800
   Initial margin rate for symbol AFKS for the Sell market order0.254400
   Maintenance margin rate for symbol AFKS for the Sell market order0.127200   
   */
  }
//+------------------------------------------------------------------+
//| Teminat oranlarını günlüğe gönder                                |
//+------------------------------------------------------------------+
void SymbolInfoMarginRatePrint(const string symbolconst ENUM_ORDER_TYPE order_typedouble &initial_margin_ratedouble &maintenance_margin_rate)
  {
//--- order_type piyasa emri için 'symbol' oranlarını al
   ResetLastError();
   if(!SymbolInfoMarginRate(symbolorder_typeinitial_margin_ratemaintenance_margin_rate))
     {
      Print("SymbolInfoMarginRate() failed. Error "GetLastError());
      return;
     }
//--- elde edilen oran değerlerini yazdır
   string type=(order_type==ORDER_TYPE_BUY ? "Buy" : order_type==ORDER_TYPE_SELL ? "Sell" : "Unknown");
   PrintFormat("Initial margin rate for symbol %s for the %s market order: %f\n"+
               "Maintenance margin rate for symbol %s for the %s market order: %f",
               SYMBOL_NAMEtypeinitial_margin_rate,
               SYMBOL_NAMEtypemaintenance_margin_rate);
  }