CustomSymbolCreate

Söz konusu grupta belirtilen ada sahip özel bir sembol oluşturur.

bool  CustomSymbolCreate(
   const string     symbol_name,         // özel sembol adı
   const string     symbol_path="",      // sembolün içinde oluşacağı grubun adı
   const string     symbol_origin=NULL   // özel bir sembol oluşturmak için temel olarak kullanılan sembolün adı
   );

Parametreler

symbol_name

[in]  Özel sembol adı. Sembolün içinde bulunduğu grupları veya alt grupları içermemelidir.

symbol_path=""

[in]  Sembolün bulunduğu grubun ismi.

symbol_origin=NULL

[in]  Oluşturulan özel sembole özelliklerinin kopyalanacağı sembolün adı. Özel bir sembol oluşturulduktan sonra, uygun fonksiyonlar kullanılarak herhangi bir özellik değeri gerekli bir değerle değiştirilebilir.

Geri dönüş değeri

true – başarı, aksi takdirde – false. Hata hakkında bilgi edinmek için, GetLastError() fonksiyonunu çağırın.

Not

Tüm özel semboller farklı Özel bölümde oluşturulur. Bir grup adı belirtilmezse (CustomSymbolCreate fonksiyonunda symbol_path parametresi boş bir dize veya NULL içeriyorsa), Özel bölüm kökünde özel bir sembol oluşturulur. Burada, grupların ve alt grupların klasör ve alt klasörler olarak görüntülenebildiği dosya sistemi ile bir benzetme yapabiliriz

Sembol ve grup adları; noktalama işaretleri, boşluklar veya özel karakterler içermeyen Latin harflerini içerebilir (yalnızca ".", "_", "&" ve "#" içerebilir) <, >, :, ", /, |, ?, * karakterlerinin kullanılması önerilmez.

Özel sembol adı, içinde oluşturulduğu grubun adına bakılmaksızın benzersiz olmalıdır. Aynı ada sahip bir sembol zaten mevcutsa, CustomSymbolCreate() fonksiyonu 'false' değerini geri döndürürken, bir sonraki GetLastError() çağrısı 5300 hatasını (ERR_NOT_CUSTOM_SYMBOL) veya 5304 hatasını (ERR_CUSTOM_SYMBOL_EXIST) geri döndürür.

Sembol adının uzunluğu 31 karakteri geçmemelidir. Aksi takdirde; CustomSymbolCreate(), 'false' geri değerini döndürür ve 5302 - ERR_CUSTOM_SYMBOL_NAME_LONG hatasını etkinleştirir.

symbol_path parametresi iki şekilde ayarlanabilir:

  • isimsiz bir özel sembolün içinde olduğu grubun sadece bir ismi, örneğin - "CFD\\Metals" Hataları önlemek için bu seçeneği kullanmak en iyisidir.
  • veya <grup> ismi + grup ayırıcı "\\"+<özel sembol ismi>, örneğin - "CFD\\Metals\\Platinum". Bu durumda, grup adı özel sembolün tam adı ile bitmelidir. Uyumsuzluk durumunda, özel sembol hala oluşturulur, ancak amaçlanan grupta oluşturulmaz. Örneğin, eğer symbol_path="CFD\\Metals\\Platinum" ve symbol_name="platinum" (kayıt hatası), bu durumda "Custom\CFD\Metals\Platinum" grubunda "platinum" isimli bir özel sembol oluşturulur. SymbolInfoGetString ("platinum", SYMBOL_PATH) fonksiyonu "Custom\CFD\Metals\Platinum\platinum" değerini geri döndürür.

 

SYMBOL_PATH özelliğinin sonunda sembol adının bulunduğu yolu geri döndürür. Bu nedenle, birebir aynı grupta özel bir sembol oluşturmak istiyorsanız, değişiklik yapılmadan kopyalanamaz. Bu durumda, yukarıda açıklanan sonucu elde etmemek için sembol adını kesmek gerekir.

Eğer var olmayan bir sembol symbol_origin parametresi olarak ayarlanmışsa; özel sembol, symbol_origin parametresi ayarlanmamış gibi boş olarak oluşturulur. Bu durumda, 4301 - ERR_MARKET_UNKNOWN_SYMBOL hatası etkinleşir.

symbol_path parametre uzunluğu, "Custom\\", "\\" grup ayırıcıları ve sonunda belirtilmişse sembol adını dikkate alarak 127 karakteri geçmemelidir.

 

Ayrıca bakınız

SymbolName, SymbolSelect, CustomSymbolDelete