- iAC
- iAD
- iADX
- iADXWilder
- iAlligator
- iAMA
- iAO
- iATR
- iBearsPower
- iBands
- iBullsPower
- iCCI
- iChaikin
- iCustom
- iDEMA
- iDeMarker
- iEnvelopes
- iForce
- iFractals
- iFrAMA
- iGator
- iIchimoku
- iBWMFI
- iMomentum
- iMFI
- iMA
- iOsMA
- iMACD
- iOBV
- iSAR
- iRSI
- iRVI
- iStdDev
- iStochastic
- iTEMA
- iTriX
- iWPR
- iVIDyA
- iVolumes
iCustom
Belirtilen özel göstergenin tanıtıcı değerine dönüş yapar.
int iCustom(
|
Parametreler
symbol
[in] Menkul değerin sembol ismi, gösterge hesabında kullanılması gereken veri. NULL değeri mevcut sembol anlamına gelir.
period
[in] Periyot değeri, ENUM_TIMEFRAMES değerlerinden biri olabilir, 0 mevcut zaman aralığını belirtir.
name
[in] Özel gösterge adından önce ters eğik çizgi '\' gösteriliyorsa, EX5 gösterge dosyası MQL5 kök klasörüne göre aranır. Dolayısıyla,, iCustom(Symbol(), Period(), "\FirstIndicator"...) çağrıldığında, gösterge MQL5\FirstIndicator.ex5 olarak indirilir. Eğer yolda dosya yoksa, 4802 hatası (ERR_INDICATOR_CANNOT_CREATE) oluşur.
Yol '\' ile başlamıyorsa, gösterge aşağıdaki gibi aranır ve indirilir:
- İlk olarak, çağrı programının EX5 dosyasının bulunduğu klasörde EX5 gösterge dosyası aranır. Örneğin, CrossMA.EX5 uzman danışmanı MQL5\Experts\MyExperts içerisinde bulunmaktadır ve iCustom çağrısını (Symbol(), Period(), "SecondIndicator"...) içermektedir. Bu durumda, gösterge MQL5\Experts\MyExperts\SecondIndicator.ex5 olarak aranır.
- Gösterge aynı dizinde bulunamazsa, arama MQL5\Indicators gösterge kök dizininde gerçekleştirilir. Başka bir deyişle, MQL5\Indicators\SecondIndicator.ex5 dosyası aranır. Gösterge hala bulunamazsa, fonksiyon INVALID_HANDLE geri döndürür ve 4802 hatası (ERR_INDICATOR_CANNOT_CREATE) tetiklenir.
Göstergenin yolu bir alt dizinde ayarlanmışsa (örneğin, MyIndicators\ThirdIndicator), arama ilk olarak çağrı programı klasöründe (uzman danışman MQL5\Experts\MyExperts klasöründe bulunur) MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5 dosyası için gerçekleştirilir. Başarısız olursa, MQL5\Indicators\MyIndicators\ThirdIndicator.ex5 dosyası aranır. Yolda ayırıcı olarak çift ters eğik çizgiyi '\\' kullandığınızdan emin olun, örneğin iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...)
...
[in] Virgüle ayrılmış şekilde, özel göstergenin giriş-parametreleri. parametrelerin tipleri ve sıraları uyumlu olmalıdır. Eğer belirtilen bir parametre değeri yoksa, varsayılan değerler kullanılır.
Dönüş değeri
Belirtilen teknik göstergenin tanıtıcı değerine dönüş yapar, başarısızlık durumunda ise, INVALID_HANDLE değerine dönüş yapar. Bilgisayar belleği, kullanılmayan göstergelerden temizlenmelidir. Bunun için, göstergenin tanıtıcı değerinin parametre olarak geçirildiği IndicatorRelease() fonksiyonu kullanılır.
Not
Bir özel gösterge, (EX5 uzantısı ile) derlenmeli ve müşteri terminalinin MQL5/Indicators klasörüne - veya bir alt klasöre - yerleştirilmelidir.
Sınama gerektiren göstergeler, eğer karşılık gelen parametre bir sabit dizgi ile ayarlanmışsa, iCustom() fonksiyonunun çağrısıyla otomatik olarak tanımlanırlar. Tüm diğer durumlarda (IndicatorCreate() fonksiyonunun kullanımı veya sabit olmayan bir dizginin gösterge ismini belirleyen bir parametrede kullanımı) #property tester_indicator özelliği gereklidir:
#property tester_indicator "gösterge_ismi.ex5" |
Eğer göstergede ilk çağrı biçimi kullanılmışsa, o zaman gösterge başlangıcında "Parameters" sekmesinde, hesaplama için ek veriler belirtebilirsiniz. "Apply to" parametresi açıkça seçilmemişse, varsayılan hesaplama "Close" (kapanış) fiyatlarıyla yapılır.
Bir MQL5 programının içinden bir özel gösterge çağrıldığında, özel göstergenin girdi değişkenlerinden sonra, Applied_Price parametresi veya başka bir göstergenin tanıtıcı değeri son olarak geçirilmelidir.
Ayrıca Bakınız
Program Özellikleri, Zaman Serileri ve Göstergelere Erişim,IndicatorCreate(), IndicatorRelease()
Örnek:
#property indicator_separate_window
|