Matematik
33 işlev. Her kaydın ne aldığı, ne verdiği ve çalışan örneği.
İşareti atar, büyüklüğü tutar; hem skaler hem seride eleman bazlı çalışır.
plot(abs(change(close, 1)))
Bar başına fiyat değişiminin mutlak büyüklüğü (yönsüz).
Aralık dışı girdi na üretmesin diye önce [-1, 1]'e kırpılır. Sonuç radyandır; dereceye çevirmek için todegrees.
plot(todegrees(acos(1)))
acos(1) = 0 radyan = 0 derece.
x'in ark-sinüsü (radyan, -π/2..π/2).
Aralık dışı girdi na üretmesin diye önce [-1, 1]'e kırpılır. Sonuç radyandır (todegrees ile dereceye).
plot(todegrees(asin(1)))
asin(1) = π/2 radyan = 90 derece.
Tek argümanlı; bir eğimin (Δy/Δx) açısını verir. İşaret/çeyrek duyarlılığı gereken açı için atan2 kullan.
plot(todegrees(atan(change(close, 1))))
Bar başına fiyat değişiminin eğim açısı (derece).
(x, y) noktasının açısı (radyan, -π..π; çeyrek-duyarlı).
İki argümanlı ark-tanjant: atan'dan farkı, işaretleri kullanıp doğru çeyreği (-π..π) vermesidir. Sonuç radyandır.
plot(todegrees(atan2(1, 1)))
atan2(1, 1) = π/4 radyan = 45 derece.
Eleman bazlı ortalama.
İkiden fazla argüman alabilir.
plot(avg(high, low, close))
high, low ve close'un bar-bazlı ortalaması (hlc3 ile aynı).
Bu dilde bool ASLA na değildir: bool(na) = false. Skaler girdi gerçek mantıksal, seri girdi 1/0 (na→0) döner. Son-değere çökertme yok.
plot(bool(volume) ? 1 : 0)
Hacim sıfır/na ise 0, aksi halde 1.
Yukarı (artı sonsuza) yuvarlar: ceil(2.1) = 3. Eleman bazlıdır.
plot(ceil(close / 10) * 10)
Kapanışı üstteki 10'un katına çıkarır.
[lo, hi] aralığına sıkıştırılmış değer.
x'i [lo, hi] aralığına sıkıştırır; alt/üst sınırların dışını sınıra çeker.
plot(clamp(rsi(close, 14), 30, 70))
RSI'yı 30-70 bandına kısıtlar; taşan uçları keser.
Girdi radyandır. Çıktı -1 ile 1 arasındadır. Eleman bazlıdır.
plot(cos(0))
cos(0) = 1 (sabit).
e üzeri x; logaritmanın tersidir. Eleman bazlıdır.
plot(exp(log(close)))
log'un tersi close'u geri verir (kimlik kontrolü).
Aynı uzunlukta seri: her na, o noktaya kadarki son na-olmayan değerle doldurulur (ilk geçerliye kadar na).
nz ile karıştırma: nz(x)/nz(x,y) na yerine SABİT değer koyar (0 ya da y). fixnan(x) na yerine serideki SON BİLİNEN değeri koyar (ileri-taşıma, ffill) — sabit değil, veriye göre değişir.
Tip netliği için; sayısal bir değeri açıkça ondalık olarak işaretler. na girdi na kalır. Zaten ondalıklı değerlerde etkisizdir.
plot(float(3))
3 tam sayısını 3.0 ondalığına çevirir.
Aşağı (eksi sonsuza) yuvarlar: floor(-2.1) = -3. Sıfıra doğru kırpan int'ten farklıdır.
plot(floor(close / 10) * 10)
Kapanışı alttaki 10'un katına indirir (fiyat kademesi).
Sıfıra doğru kırpar: int(10.9)=10, int(-10.9)=-10. Aşağı yuvarlama için floor farklıdır (negatiflerde). na girdi na kalır.
plot(int(close))
Kapanışın ondalıksız (sıfıra doğru kırpılmış) tam kısmı.
Doğal logaritma (taban e). Girdi ≤0 ise tanımsızdır. Eleman bazlıdır.
plot(log(close / prev(close, 1)))
Bar başına logaritmik getiri.
10 tabanlı logaritma. Girdi ≤0 ise tanımsızdır. Eleman bazlıdır.
plot(log10(volume))
Hacmin 10 tabanlı logaritması (büyüklük mertebesi).
math.pi / e / phi / rphi / sqrt2 / sqrt3
Matematik sabitleri (nokta ile erişilir): pi=3.14159..., e=2.71828..., phi=altın oran 1.61803..., rphi=altın oranın tersi 0.61803..., sqrt2=1.41421..., sqrt3=1.73205...
İki değerin büyüğünü eleman bazlı seçer; seri ile sabit karışık verilebilir.
plot(max(close - open, 0))
Yalnız yükseliş gövdelerinin boyu; düşüş barlarında 0.
İki değerin küçüğünü eleman bazlı seçer; seri ile sabit karışık verilebilir.
plot(min(high - close, close - low))
Üst ve alt fitilden kısa olanı.
a'nın b'ye bölümünden kalan. Payda 0 ise sonuç tanımsızdır. Eleman bazlıdır.
plotshape(mod(barIndex, 10) == 0, style="cross", location="bottom")
Her 10 barda bir alt bantta işaret.
na'sız seri.
na değerleri replacement (varsayılan 0) ile değiştirir, diğerlerine dokunmaz.
plot(nz(change(close, 1), 0))
İlk barda na yerine 0; sonrasında normal değişim.
x üzeri y. Eleman bazlıdır; taban ve üs seri olabilir.
plot(pow(2, 10))
2 üzeri 10 = 1024 (sabit).
Her bar için [min, max) aralığında deterministik rastgele değer taşıyan seri.
Deterministiktir: aynı seed ile backtest ve canlı sonuç birebir eşleşir (tohum → tekrarlanabilirlik). Gerçek anlamda öngörülemez sayı değildir.
plot(random(0, 1, 42))
42 tohumuyla bar başına 0..1 arası tekrarlanabilir rastgele seri.
Yuvarlanmış değer.
Eleman bazlı çalışır.
plot(round(close, 2))
Kapanış iki ondalığa yuvarlanmış.
round_to_mintick(deger, tick?)
Değeri en yakın tick katına yuvarlar.
Fiyatı sembolün işlem adımına oturtmak için. Sabit basamak sayısına yuvarlamak istiyorsan round daha uygundur.
plot(round_to_mintick(12.347, 0.05))
12.347 en yakın 0.05 katına → 12.35.
Yalnızca -1, 0 ya da +1 döndürür (pozitif→1, negatif→-1, sıfır→0). Eleman bazlıdır.
plot(sign(change(close, 1)))
Fiyat yükseldiyse +1, düştüyse -1, değişmediyse 0.
Girdi radyandır. Çıktı -1 ile 1 arasındadır. Eleman bazlıdır.
plot(sin(toradians(barIndex * 10)))
Bar indeksine bağlı yumuşak salınan (-1..1) dalga.
Negatif girdi na döndürür. Eleman bazlıdır.
plot(sqrt(pow(high - low, 2)))
Bar aralığının karesinin karekökü = aralığın kendisi (kimlik kontrolü).
Son length barın toplamı.
İlk length-1 bar None.
plot(sum(volume, 5))
Son 5 barın toplam hacmi (kayan pencere).
Girdi radyandır. 90°'nin tek katlarında sonsuza gider. Eleman bazlıdır.
plot(tan(0))
tan(0) = 0 (sabit).
Aynı açının derece karşılığı (rad × 180 / π).
Trigonometrik/ark fonksiyonlarının çıktısı radyandır; okunur derece için bunu kullan. Tersi toradians.
plot(todegrees(3.141592653589793))
π radyan = 180 derece.
Aynı açının radyan karşılığı (derece × π / 180).
sin/cos/tan radyan bekler; derece bir değeri onlara vermeden önce bununla çevir. Tersi todegrees.
plot(sin(toradians(90)))
90 dereceyi radyana çevirip sinüsünü alır → 1.