CODESCRIPT

Matematik

33 işlev. Her kaydın ne aldığı, ne verdiği ve çalışan örneği.

abs(x)

Sayının işaretini atar, uzaklığını verir. İki değerin birbirine ne kadar uzak olduğunu yön gözetmeden ölçerken kullanılır. Seri verilirse her bar için ayrı hesaplanır.

Mutlak değer.

x
number
Sayı ya da seri.

Not

İşareti atar, büyüklüğü tutar; hem skaler hem seride eleman bazlı çalışır.

Ne zaman kullanılır

İşaret önemsizken büyüklüğü ölçmek için: değişim miktarı, sapma, fitil uzunluğu. Yönü de korumak istiyorsanız sign ile birlikte.

CODESCRIPT
plot(abs(change(close, 1)))

Bar başına fiyat değişiminin mutlak büyüklüğü (yönsüz).

acos(x)

Ark-kosinüs (radyan). Sonuc: 1.047197551

x'in ark-kosinüsü (radyan, 0..π).

x
number
Sayı ya da seri; girdi [-1, 1] aralığına kırpılır.

Not

Aralık dışı girdi na üretmesin diye önce [-1, 1]'e kırpılır. Sonuç radyandır; dereceye çevirmek için todegrees.

Ne zaman kullanılır

Geometrik açı hesapları ve normalize edilmiş korelasyon/benzerlik açıya çevrilirken.

CODESCRIPT
plot(todegrees(acos(1)))

acos(1) = 0 radyan = 0 derece.

asin(x)

Ark-sinüs (radyan). Sonuc: 0.5235987756

x'in ark-sinüsü (radyan, -π/2..π/2).

x
number
Sayı ya da seri; girdi [-1, 1] aralığına kırpılır.

Not

Aralık dışı girdi na üretmesin diye önce [-1, 1]'e kırpılır. Sonuç radyandır (todegrees ile dereceye).

Ne zaman kullanılır

Geometrik açı ve faz hesaplarında; normalize bir oranı açıya çevirirken.

CODESCRIPT
plot(todegrees(asin(1)))

asin(1) = π/2 radyan = 90 derece.

atan(x)

Ark-tanjant (radyan). Sonuc: 0.7853981634

x'in ark-tanjantı (radyan, -π/2..π/2).

x
number
Sayı ya da seri (eğim/oran).

Not

Tek argümanlı; bir eğimin (Δy/Δx) açısını verir. İşaret/çeyrek duyarlılığı gereken açı için atan2 kullanın.

Ne zaman kullanılır

Bir çizginin eğimini açıya çevirirken (trend eğimi, kanal açısı).

CODESCRIPT
plot(todegrees(atan(change(close, 1))))

Bar başına fiyat değişiminin eğim açısı (derece).

atan2(y, x)

İki argümanlı ark-tanjant (çeyrek-duyarlı). Sonuc: 0.7853981634

(x, y) noktasının açısı (radyan, -π..π; çeyrek-duyarlı).

y
number
Dikey bileşen (pay).
x
number
Yatay bileşen (payda).

Not

İki argümanlı ark-tanjant: atan'dan farkı, işaretleri kullanıp doğru çeyreği (-π..π) vermesidir. Sonuç radyandır.

Ne zaman kullanılır

Yön açısı hesaplarken (iki eksenli değişim → açı), atan'ın çeyrek kör kalmasını istemediğinde.

CODESCRIPT
plot(todegrees(atan2(1, 1)))

atan2(1, 1) = π/4 radyan = 45 derece.

avg(a, b,...)

Argümanların ortalaması (eleman bazlı). ⚠ Bu fonksiyon adlı argüman kabul etmez; değerleri SIRAYLA yazın.

Eleman bazlı ortalama.

a
series
Birinci değer/seri.
b
series
İkinci değer/seri (ve sonrası).

Not

İkiden fazla argüman alabilir.

Ne zaman kullanılır

İki ya da daha çok değeri/serisi eleman bazlı ortalamak için. Tek bir seriyi zaman boyunca ortalamak istiyorsanız sma kullanın.

CODESCRIPT
plot(avg(high, low, close))

high, low ve close'un bar-bazlı ortalaması (hlc3 ile aynı).

bool(x)

Mantıksal değere çevirir: sıfır/boş → false, sıfır-dışı → true. Sonuç asla boş kalmaz; seri olarak 1/0 taşınır.

Sıfır/na → false, sıfır-dışı → true.

x
number
Sayı, seri ya da mantıksal değer.

Not

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.

Ne zaman kullanılır

Sayısal bir değeri/seriyi mantıksal koşula çevirmek için (0 mı değil mi). na'yı güvenle false saymak istediğinde.

CODESCRIPT
plot(bool(volume) ? 1 : 0)

Hacim sıfır/na ise 0, aksi halde 1.

ceil(x)

Yukarı yuvarlar (tam sayı).

Yukarı yuvarlanmış tam değer.

x
series
Değer/seri.

Not

Yukarı (artı sonsuza) yuvarlar: ceil(2.1) = 3. Eleman bazlıdır.

Ne zaman kullanılır

Yukarı (artı sonsuza) tam sayıya yuvarlamak — üst kademe, gereken minimum adım sayısı.

CODESCRIPT
plot(ceil(close / 10) * 10)

Kapanışı üstteki 10'un katına çıkarır.

clamp(x, lo, hi)

Değeri [lo, hi] aralığına sıkıştırır.

[lo, hi] aralığına sıkıştırılmış değer.

x
series
Değer/seri.
lo
number
Alt sınır.
hi
number
Üst sınır.

Not

x'i [lo, hi] aralığına sıkıştırır; alt/üst sınırların dışını sınıra çeker.

Ne zaman kullanılır

Bir değeri [lo, hi] aralığına sıkıştırmak — göstergeyi 0..100'de tutmak, aykırı değerleri kesmek. Tek taraflı sınır için max/min yeter.

CODESCRIPT
plot(clamp(rsi(close, 14), 30, 70))

RSI'yı 30-70 bandına kısıtlar; taşan uçları keser.

cos(x)

Kosinüs (radyan).

Kosinüs.

x
series
Radyan.

Not

Girdi radyandır. Çıktı -1 ile 1 arasındadır. Eleman bazlıdır.

Ne zaman kullanılır

sin ile birlikte döngü/faz modellemede (90° kaymış eş). Girdi radyandır.

CODESCRIPT
plot(cos(0))

cos(0) = 1 (sabit).

exp(x)

e üssü (e^x).

e sayısının x. kuvveti.

x
series
Üs.

Not

e üzeri x; logaritmanın tersidir. Eleman bazlıdır.

Ne zaman kullanılır

e üzeri x — logaritmanın tersi. Üstel ağırlıklandırma ve log-getiriyi geri çevirmede.

CODESCRIPT
plot(exp(log(close)))

log'un tersi close'u geri verir (kimlik kontrolü).

fixnan(source)

NA değerleri serideki SON BİLİNEN (na-olmayan) değerle doldurur — ileri-taşıma (forward-fill). nz sabit-değerle (0/y) doldurur; fixnan seriye göre DEĞİŞKEN son-değeri taşır. İlk geçerli-değere kadar na kalır.

Aynı uzunlukta seri: her na, o noktaya kadarki son na-olmayan değerle doldurulur (ilk geçerliye kadar na).

source
series
İleri-taşınacak seri (na içerebilir).

Not

nz ile karıştırmayın: 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.

Ne zaman kullanılır

Aralıklı/seyrek bir seriyi (ör. yalnız bazı barlarda hesaplanan değer) sürekli hale getirmek için — son değer bir sonraki güncellemeye kadar korunur.

CODESCRIPT
plot(fixnan(iff(barstate.isconfirmed, close, na)))

Boş kalan barlarda son geçerli değeri sürdürür; çizgi kopmaz, düz devam eder.

float(x)

Sayısal değeri ondalık sayıya çevirir (seri/skaler; na korunur).

Değeri ondalıklı (float) sayıya çevirir (na korunur).

x
number
Sayı ya da seri.

Not

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.

Ne zaman kullanılır

Bir tam sayıyı ya da tip belirsiz bir değeri ondalık aritmetiğe sokmadan önce açıkça float'a çevirmek istediğinde.

CODESCRIPT
plot(float(3))

3 tam sayısını 3.0 ondalığına çevirir.

floor(x)

Sayıyı aşağıya, kendisinden küçük en yakın tam sayıya indirir. Negatif sayılarda da aşağı gider: -2,3 için -3 verir. Lot sayısı gibi tam olması gereken değerlerde, hiçbir zaman fazlaya yuvarlamamak için kullanılır.

Aşağı yuvarlanmış tam değer.

x
series
Değer/seri.

Not

Aşağı (eksi sonsuza) yuvarlar: floor(-2.1) = -3. Sıfıra doğru kırpan int'ten farklıdır.

Ne zaman kullanılır

Aşağı (eksi sonsuza) tam sayıya yuvarlamak — kademe/kutu indeksi, tam lot hesabı. Sıfıra doğru kırpma için int farklıdır (negatiflerde).

CODESCRIPT
plot(floor(close / 10) * 10)

Kapanışı alttaki 10'un katına indirir (fiyat kademesi).

int(x)

Ondalığı SIFIRA doğru atarak tam sayıya çevirir (int(10.9)=10, int(-10.9)=-10; seri/skaler; na korunur).

Ondalığı sıfıra doğru atarak tam sayıya çevirir (na korunur).

x
number
Sayı ya da seri.

Not

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.

Ne zaman kullanılır

Bir değeri indeks/sayaç olarak kullanmadan önce ondalığı atmak için. Eleman bazlı seride de çalışır.

CODESCRIPT
plot(int(close))

Kapanışın ondalıksız (sıfıra doğru kırpılmış) tam kısmı.

log(x)

Doğal logaritma.

x
number
Sayı ya da seri.

Not

Doğal logaritma (taban e). Girdi ≤0 ise tanımsızdır. Eleman bazlıdır.

Ne zaman kullanılır

Doğal logaritma (taban e). Logaritmik getiri (log(close/prev(close,1))) ve üstel büyümeyi doğrusallaştırmada. 10 tabanı için log10.

CODESCRIPT
plot(log(close / prev(close, 1)))

Bar başına logaritmik getiri.

log10(x)

10 tabanında logaritma.

10 tabanlı logaritma; x<=0 ise na.

x
series
Pozitif değer/seri.

Not

10 tabanlı logaritma. Girdi ≤0 ise tanımsızdır. Eleman bazlıdır.

Ne zaman kullanılır

10 tabanlı logaritma — büyüklük mertebesi (ondalık basamak sayısı), log ölçekli gösterge. Doğal log için log.

CODESCRIPT
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...

CODESCRIPT
plot(close * math.phi)

Kapanışı altın oranla çarpıp çizer; bu ad alanı pi, e, altın oran gibi hazır sayıları taşır.

max(a, b,...)

Maksimum (2 veya daha fazla değer, element-bazlı). ⚠ Bu fonksiyon adlı argüman kabul etmez; değerleri SIRAYLA yazın.

İkisinden büyük olanı (element-bazlı).

a
number
Birinci değer.
b
number
İkinci değer.

Not

İki değerin büyüğünü eleman bazlı seçer; seri ile sabit karışık verilebilir.

Ne zaman kullanılır

İki değerin (ya da bir değerle bir tabanın) büyüğünü almak için — taban/zemin uygulamak, negatifi kırpmak (max(x,0)).

CODESCRIPT
plot(max(close - open, 0))

Yalnız yükseliş gövdelerinin boyu; düşüş barlarında 0.

min(a, b,...)

Minimum (2 veya daha fazla değer, element-bazlı). ⚠ Bu fonksiyon adlı argüman kabul etmez; değerleri SIRAYLA yazın.

İkisinden küçük olanı (element-bazlı).

a
number
Birinci değer.
b
number
İkinci değer.

Not

İki değerin küçüğünü eleman bazlı seçer; seri ile sabit karışık verilebilir.

Ne zaman kullanılır

İki değerin küçüğünü almak için — tavan uygulamak, bir değeri bir sınırın altında tutmak. Alt+üst sınır birlikteyse clamp daha kısadır.

CODESCRIPT
plot(min(high - close, close - low))

Üst ve alt fitilden kısa olanı.

mod(a, b)

Kalan (a mod b).

a mod b; b=0 ise na.

a
series
Bölünen.
b
series
Bölen.

Not

a'nın b'ye bölümünden kalan. Payda 0 ise sonuç tanımsızdır. Eleman bazlıdır.

Ne zaman kullanılır

Kalan/periyot işlemleri: her N. bar (mod(barIndex, N) == 0), döngü içi konum. Payda 0 ise sonuç tanımsızdır.

CODESCRIPT
plotshape(mod(barIndex, 10) == 0, style="cross", location="bottom")

Her 10 barda bir alt bantta işaret.

nz(source, replacement=0)

Değer boşsa (`na`) yerine verdiğiniz sayıyı koyar, doluysa olduğu gibi bırakır. Göstergeler ilk barlarda henüz hesaplanamadığı için boş döner; o boşluk bir hesaba girerse sonuç da boş olur. `nz` zinciri kırılmadan sürdürür.

na'sız seri.

source
series
Kaynak seri.
replacement
number
na yerine konacak değer (varsayılan 0).

Not

na değerleri replacement (varsayılan 0) ile değiştirir, diğerlerine dokunmaz.

Ne zaman kullanılır

na değerleri güvenli bir sayıyla (varsayılan 0) değiştirmek için — ilk barlar, eksik hacim, tanımsız oran. Zincir kuralların na yüzünden kopmasını önler.

CODESCRIPT
plot(nz(change(close, 1), 0))

İlk barda na yerine 0; sonrasında normal değişim.

pow(x, y)

Üs alma (x^y).

x üzeri y.

x
number
Taban.
y
number
Üs.

Not

x üzeri y. Eleman bazlıdır; taban ve üs seri olabilir.

Ne zaman kullanılır

Üs alma: kare/küp, üstel ağırlık, bileşik oran. Karekök için sqrt daha nettir (pow(x,0.5) yerine).

CODESCRIPT
plot(pow(2, 10))

2 üzeri 10 = 1024 (sabit).

random(min?, max?, seed?)

Bar başına deterministik rastgele (seed → backtest==canlı). Sınır verilmezse 0-1. Seri döner. Sonuc: 0.9707432389

Her bar için [min, max) aralığında deterministik rastgele değer taşıyan seri.

min
number
Alt sınır (dahil).
max
number
Üst sınır.
seed
number
İsteğe bağlı. Tohum (varsayılan 0); aynı tohum aynı diziyi üretir.

Not

Deterministiktir: aynı seed ile backtest ve canlı sonuç birebir eşleşir (tohum → tekrarlanabilirlik). Gerçek anlamda öngörülemez sayı değildir.

Ne zaman kullanılır

Monte-Carlo/jitter denemeleri, stres testi ya da sentetik gürültü eklemek için — tekrarlanabilir olması gereken yerlerde.

CODESCRIPT
plot(random(0, 1, 42))

42 tohumuyla bar başına 0..1 arası tekrarlanabilir rastgele seri.

round(x, decimals=0)

Sayıyı verilen ondalık basamağa yuvarlar. Panelde ya da etikette göstermeden önce sayıyı kısaltmak için kullanılır. ⚠ Fiyatı yuvarlamak hesabı bozabilir; yuvarlanmış değeri gösterimde kullanın, hesapta ham değeri tutun.

Yuvarlanmış değer.

x
series
Yuvarlanacak değer/seri.
decimals
number
Ondalık basamak (varsayılan 0).

Not

Eleman bazlı çalışır.

Ne zaman kullanılır

Görüntü ya da eşik karşılaştırması için basamak sadeleştirme. Sembolün fiyat adımına oturtmak istiyorsanız round_to_mintick kullanın.

CODESCRIPT
plot(round(close, 2))

Kapanış iki ondalığa yuvarlanmış.

round_to_mintick(value, tick?)

Değeri tick adımına yuvarlar (varsayılan 0.01). Sonuc: 12.35

Değeri en yakın tick katına yuvarlar.

value
number
Yuvarlanacak değer ya da seri.
tick
number
İsteğe bağlı. Fiyat adımı (varsayılan 0.01; ≤0 verilirse 0.01'e döner).

Not

Fiyatı sembolün işlem adımına oturtmak için. Sabit basamak sayısına yuvarlamak istiyorsanız round daha uygundur.

Ne zaman kullanılır

Hesaplanmış bir seviyeyi (stop, hedef, giriş) gerçek fiyat adımına hizalamak için.

CODESCRIPT
plot(round_to_mintick(12.347, 0.05))

12.347 en yakın 0.05 katına → 12.35.

sign(x)

Sayının işaretini verir: pozitifse +1, negatifse -1, sıfırsa 0. Büyüklüğü atıp yalnız yönü almak istediğinde kullanılır; iki serinin aynı yöne bakıp bakmadığını karşılaştırmak gibi.

İşaret: pozitifte +1, sıfırda 0, negatifte −1.

x
number
Sayı ya da seri.

Not

Yalnızca -1, 0 ya da +1 döndürür (pozitif→1, negatif→-1, sıfır→0). Eleman bazlıdır.

Ne zaman kullanılır

Bir değerin yönünü +1/0/-1 olarak sadeleştirmek için. Büyüklüğü de istiyorsanız abs ile birlikte kullanın.

CODESCRIPT
plot(sign(change(close, 1)))

Fiyat yükseldiyse +1, düştüyse -1, değişmediyse 0.

sin(x)

Sinüs (radyan).

Sinüs.

x
series
Radyan.

Not

Girdi radyandır. Çıktı -1 ile 1 arasındadır. Eleman bazlıdır.

Ne zaman kullanılır

Trigonometrik/döngüsel modelleme, faz üretimi. Girdi radyandır; dereceyi önce toradians ile çevirin.

CODESCRIPT
plot(sin(toradians(barIndex * 10)))

Bar indeksine bağlı yumuşak salınan (-1..1) dalga.

sqrt(x)

Karekök.

x
number
Sayı ya da seri.

Not

Negatif girdi na döndürür. Eleman bazlıdır.

Ne zaman kullanılır

Standart sapma, RMS ve mesafe hesaplarında. Negatif girdi na döndürür, önce nz/clamp ile koruyun.

CODESCRIPT
plot(sqrt(pow(high - low, 2)))

Bar aralığının karesinin karekökü = aralığın kendisi (kimlik kontrolü).

sum(source, length)

Son length barın toplamı (rolling).

Son length barın toplamı.

source
series
Toplanacak seri.
length
number
Pencere uzunluğu.

Not

İlk length-1 bar None.

Ne zaman kullanılır

Son length bardaki değerleri toplamak (kayan pencere). Baştan beri biriken toplam için cum kullanın.

CODESCRIPT
plot(sum(volume, 5))

Son 5 barın toplam hacmi (kayan pencere).

tan(x)

Tanjant (radyan).

Tanjant.

x
series
Radyan.

Not

Girdi radyandır. 90°'nin tek katlarında sonsuza gider. Eleman bazlıdır.

Ne zaman kullanılır

Eğim/açı hesapları. 90°'nin tek katlarında sonsuza gider — çıktıyı clamp ile sınırlamak güvenlidir.

CODESCRIPT
plot(tan(0))

tan(0) = 0 (sabit).

todegrees(rad)

Radyan cinsinden bir açıyı dereceye çevirir. Açı hesabı yapan göstergelerde, sonucu okunabilir bir sayıya dönüştürmek için kullanılır.

Aynı açının derece karşılığı (rad × 180 / π).

rad
number
Radyan cinsinden açı (sayı ya da seri).

Not

Trigonometrik/ark fonksiyonlarının çıktısı radyandır; okunur derece için bunu kullanın. Tersi toradians.

Ne zaman kullanılır

acos/asin/atan/atan2 sonucunu insana okunur açıya çevirmek için.

CODESCRIPT
plot(todegrees(3.141592653589793))

π radyan = 180 derece.

toradians(degrees)

Dereceyi radyana çevirir. Sonuc: 3.141592654

Aynı açının radyan karşılığı (derece × π / 180).

degrees
number
Derece cinsinden açı (sayı ya da seri).

Not

sin/cos/tan radyan bekler; derece bir değeri onlara vermeden önce bununla çevirin. Tersi todegrees.

Ne zaman kullanılır

Derece cinsinden bir açıyı sin/cos/tan'a beslemeden önce.

CODESCRIPT
plot(sin(toradians(90)))

90 dereceyi radyana çevirip sinüsünü alır → 1.