Formüller
Formüller, grafik metriklerinden özel hesaplanmış seriler oluşturmanıza olanak tanır. Aritmetik operatörler ve yerleşik fonksiyonlar kullanarak metrikleri birleştirin, dönüştürün ve analiz edin.
Formül Ekleme
- Bir grafiği Düzenleme modunda açın
- + Ekle düğmesine tıklayın, ardından Formül Ekle'yi seçin
- Bir etiket girin (ör. "Fiyatın 7 günlük SMA'sı")
- Bir ifade girin (ör.
sma(m1, 7)) - Formül Ekle'ye tıklayın
Formül sonucu, kendi rengi ve stiliyle grafikte yeni bir seri olarak görünür.
Söz Dizimi
Metrik ve Formül Referansları
m1,m2, ... grafik metriklerine konuma göre referans verir (ilk metrik = m1)f1,f2, ... önceki formüllere konuma göre referans verir (ilk formül = f1)
Formüller sırayla değerlendirilir; bu nedenle f2, f1'e referans verebilir ancak tersi geçerli değildir.
Aritmetik Operatörler
Normal önceliğe sahip standart operatörler (* ve /, + ve -'den önce gelir):
m1 + m2 # Addition
m1 - m2 # Subtraction
m1 * m2 # Multiplication
m1 / m2 # Division (returns null if divisor is 0)
(m1 + m2) * m3 # Parentheses for grouping
Sayılar ve Yatay Çizgiler
İfadelerde sabit değerler kullanılabilir. Tek başına bir sayı, o değerde bir yatay çizgi çizer:
42000 # Horizontal line at 42,000
m1 * 100 # Scale a metric
m1 / 1000000 # Convert to millions
0.5 # Horizontal line at 0.5 (useful as threshold)
Fonksiyonlar
Hareketli Ortalamalar ve Kayan İstatistikler
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
sma | sma(series, period) | Basit Hareketli Ortalama — son N veri noktası üzerindeki aritmetik ortalama |
ema | ema(series, period) | Üstel Hareketli Ortalama — EMA_t = value_t × k + EMA_(t-1) × (1 - k), burada k = 2 / (period + 1). Son değerlere daha fazla ağırlık verir |
median | median(series, period) | N periyot üzerinde kayan medyan (orta değer) |
sum | sum(series, period) | Son N periyot üzerinde kayan toplam |
std | std(series, period) | N periyot üzerinde kayan standart sapma |
Kümülatif Fonksiyonlar
Başlangıçtan her noktaya kadar tüm verileri kullanan, genişleyen pencere fonksiyonları:
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
cumsum | cumsum(series) | Veri başlangıcından itibaren genişleyen kümülatif toplam |
cummean | cummean(series) | Veri başlangıcından itibaren genişleyen kümülatif ortalama |
cummedian | cummedian(series) | Veri başlangıcından itibaren genişleyen kümülatif medyan |
cumstd | cumstd(series) | Veri başlangıcından itibaren genişleyen kümülatif standart sapma |
cummax | cummax(series) | Her noktaya kadar kümülatif tüm zamanların maksimumu |
cummin | cummin(series) | Her noktaya kadar kümülatif tüm zamanların minimumu |
Değişim Fonksiyonları
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
percent_change | percent_change(series, period) | N periyot üzerindeki yüzdesel değişim. Değerler ondalık olarak döndürülür (ör. 0.20 = %20 artış) |
diff | diff(series, period) | N periyot üzerindeki mutlak değer değişimi: value_t - value_(t-N) |
Matematik Fonksiyonları
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
abs | abs(series) | Tüm veri noktalarının mutlak değeri |
pow | pow(series, n) | Tüm veri noktalarını n üssüne yükseltir |
log | log(series) | 10 tabanlı logaritma (pozitif olmayan değerler için null döndürür) |
round | round(series, digits) | Değerleri N ondalık basamağa yuvarlar |
max | max(a, b, ...) | Noktasal maksimum — her veri noktasında tüm argümanlar arasındaki en yüksek değeri döndürür. Argümanlar seri veya sabit olabilir, ör. max(m1, m2, 0) |
min | min(a, b, ...) | Noktasal minimum — her veri noktasında tüm argümanlar arasındaki en düşük değeri döndürür. Argümanlar seri veya sabit olabilir, ör. min(m1, m2, 100) |
Teknik Göstergeler
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
rsi | rsi(series, period) | N periyot üzerinde Wilder'ın yumuşatma yöntemini kullanan Göreceli Güç Endeksi (0–100) |
corr | corr(series1, series2, period) | son N periyotluk kayan bir pencere üzerinde iki seri arasındaki Pearson korelasyon katsayısı. -1 (ters) ile +1 (mükemmel korelasyon) arasında değerler döndürür |
drawdown | drawdown(series) | Tüm zamanların en yüksek değerinden göreceli düşüş. Negatif ondalık değerler döndürür (ör. -0.30 = ATH'nin %30 altında) |
Risk ve Getiri
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
mean_return | mean_return(series, period) | N periyot üzerinde yıllıklandırılmış kayan ortalama getiri (günlük logaritmik getiriler × 365 temel alınır) |
realized_vol | realized_vol(series, period) | N periyot üzerinde yıllıklandırılmış gerçekleşen volatilite (günlük logaritmik getiri standart sapması × √365) |
sharpe_ratio_arithmetic | sharpe_ratio_arithmetic(series, period) | N periyot üzerindeki getirilerin aritmetik ortalaması kullanılarak yıllıklandırılmış Sharpe oranı |
sharpe_ratio_geometric | sharpe_ratio_geometric(series, period) | N periyot üzerindeki getirilerin geometrik ortalaması kullanılarak yıllıklandırılmış Sharpe oranı |
Seri Manipülasyonu
| Fonksiyon | Söz Dizimi | Açıklama |
|---|---|---|
shift | shift(series, period) | Seriyi N periyot sağa kaydırır. Pozitif periyot, geçmiş değerleri mevcut konumda gösterir (yani her veri noktası, N periyot öncesindeki değeri görüntüler). Negatif periyot sola kaydırır (gelecek değerleri gösterir) |
if | if(a, "op", b, then, else) | Koşullu: her veri noktasında a op b karşılaştırmasını değerlendirir, doğruysa then, yanlışsa else döndürür. op argümanı, tırnak içinde bir dize olarak iletilen bir karşılaştırma operatörüdür: "=", "!=", ">", ">=", "<", "<=" |
Örnekler
Hareketli Ortalamalar
sma(m1, 7) # 7-day simple moving average of first metric
sma(m1, 30) # 30-day SMA
ema(m1, 21) # 21-day exponential moving average
median(m1, 14) # 14-day rolling median
SMA Kesişim Tespiti
f1: sma(m1, 7) # Short-term SMA
f2: sma(m1, 30) # Long-term SMA
f3: f1 - f2 # Difference (positive = short above long)
Oran Analizi
m1 / m2 # Ratio between two metrics
Tüm Zamanların En Yüksek Değerinden Düşüş
drawdown(m1) # Drawdown as negative decimal (-0.30 = 30% below ATH)
Bollinger Bantları
f1: sma(m1, 20) # Middle band
f2: f1 + 2 * std(m1, 20) # Upper band (+2 standard deviations)
f3: f1 - 2 * std(m1, 20) # Lower band (-2 standard deviations)
Periyot Üzerinden Periyot Değişimi
percent_change(m1, 7) # 7-day percentage change (decimal)
diff(m1, 30) # 30-day absolute change
RSI
rsi(m1, 14) # 14-period RSI
30 # Oversold threshold line
70 # Overbought threshold line
Değerleri Sınırlama
max(m1, 0) # Floor at zero (remove negative values)
min(m1, 100) # Cap at 100
max(m1, m2) # Higher of two metrics at each point
Korelasyon
corr(m1, m2, 30) # 30-day rolling correlation between two metrics
Volatilite ve Risk
realized_vol(m1, 30) # 30-day annualized volatility
sharpe_ratio_arithmetic(m1, 90) # 90-day annualized Sharpe ratio
Stil Verme
Bir formül ekledikten sonra, yapılandırmak için (Düzenleme modunda) göstergede üzerine tıklayın:
- Grafik stili: Çizgi, Alan veya Çubuk
- Renk: Hazır ayarlardan seçin veya özel belirleyin
- Y ekseni: Herhangi bir eksene atayın
- Çizgi genişliği ve dolgu opaklığı
- Görünürlük: Göster/gizle anahtarı
Kalıcılık
Formüller, grafik yapılandırmasıyla birlikte kaydedilir. Bir grafiği "Grafiklerim"e kaydettiğinizde, tüm formüller korunur ve grafiği yeniden yüklediğinizde geri yüklenir.
Dışa Aktarma
Formül değerleri, CSV ve JSON dışa aktarmalarına dahil edilir. Her formül sütunu, başlık olarak formül etiketini kullanır.