CODESCRIPT

Diziler

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

array(...)

Verilen elemanları taşıyan yeni bir dizi.

...
any
Diziye konulacak elemanlar (istediğin kadar; sayı, metin, mantıksal, na karışık olabilir).
NOT

Elemanları doğrudan sıralayarak dizi kurar; karışık tip serbesttir ama sayısal özet fonksiyonları (arraySum, arrayAvg) sadece sayıları hesaba katar.

CODESCRIPT
a = array(10, 20, 30)
plot(arraySum(a))

10+20+30 = 60 (dizinin toplamı her barda çizilir).

CODESCRIPT
w = array(0.5, 0.3, 0.2)
plot(arraySum(w))

Ağırlık vektörü: 0.5+0.3+0.2 = 1.0 (dizi float değerlerle kurulabilir).

arrayAbs(dizi)

Her elemanın mutlak değerini taşıyan YENİ dizi (orijinal değişmez).

dizi
array
Mutlak değeri alınacak dizi.
NOT

Eleman bazlı çalışır; sayısal-olmayan elemanlar aynen kopyalanır. Orijinali değiştirmez.

CODESCRIPT
a = arrayFrom(-3, 4, -5)
b = arrayAbs(a)
plot(arraySum(b))

|−3|+|4|+|−5| = 12.

CODESCRIPT
a = arrayFrom(-2, -4, -6)
b = arrayAbs(a)
plot(arrayMax(b))

Mutlak değerler 2,4,6 → en büyüğü 6 (en büyük genlik).

arrayAvg(dizi)

Sayısal elemanların ortalaması; sayısal eleman yoksa na.

dizi
array
Ortalaması alınacak dizi.
NOT

Sadece sayıları hesaba katar. Boş ya da tamamen sayısal-olmayan dizide na döner (0 değil).

CODESCRIPT
a = arrayFrom(10, 20, 30)
plot(arrayAvg(a))

Ortalama: 20.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, close)
if arraySize(w) > 10 {
  arrayShift(w)
}
plot(arrayAvg(w))

Son 10 close'un ortalaması — diziyle elle kurulmuş bir SMA(10).

arrayBinarySearch(dizi, değer)

Değerin indeksi; bulunamazsa -1.

dizi
array
ARTAN sıralı sayısal dizi.
değer
number
Aranan değer.
NOT

Diziyi ARTAN sıralı varsayar; sırasız dizide sonuç anlamsız olur. Doğrusal aramaya (arrayIndexOf) göre büyük dizilerde çok daha hızlıdır.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40)
plot(arrayBinarySearch(a, 30))

30 değeri 2. konumda.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40)
plot(arrayBinarySearch(a, 25))

25 sıralı dizide yok → -1 (ikili arama bulamadı). Dizi sıralı olmalı.

arrayBinarySearchLeftmost(dizi, değer)

Değere eşit ilk konum; değer yoksa eklenmesi gereken konum (sol-uç ekleme noktası).

dizi
array
ARTAN sıralı sayısal dizi.
değer
number
Aranan değer.
NOT

Sıralı dizide değerin girebileceği en sol konumu verir. Değer birden çok kez varsa ilk kopyanın indeksini döner.

CODESCRIPT
a = arrayFrom(1, 2, 2, 2, 3)
plot(arrayBinarySearchLeftmost(a, 2))

İlk 2 değeri 1. konumda.

CODESCRIPT
a = arrayFrom(1, 3, 5)
plot(arrayBinarySearchLeftmost(a, 4))

4 dizide yok; eklense gireceği (en-sol) konum 2. Sıralı dizi gerekir.

arrayBinarySearchRightmost(dizi, değer)

Değere eşit son konum; değer yoksa ondan küçük son elemanın konumu (sağ-uç).

dizi
array
ARTAN sıralı sayısal dizi.
değer
number
Aranan değer.
NOT

Sıralı dizide değerin son kopyasının ya da değerden küçük son elemanın konumunu verir.

CODESCRIPT
a = arrayFrom(1, 2, 2, 2, 3)
plot(arrayBinarySearchRightmost(a, 2))

Son 2 değeri 3. konumda.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
plot(arrayBinarySearchRightmost(a, 3))

3 dizide bir kez geçer → en-sağ eşleşme de aynı konum: 2. Tekrarlı olsaydı en sağdakini verirdi.

arrayClear(dizi)

Değer döndürmez (na); diziyi yerinde boşaltır.

dizi
array
Boşaltılacak dizi.
NOT

Tüm elemanları siler, boyut 0 olur; dizinin kendisi (referansı) korunur.

CODESCRIPT
a = arrayFrom(1, 2, 3)
arrayClear(a)
plot(arraySize(a))

Boşaltıldı → boyut 0.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, close)
if arraySize(w) >= 10 {
  arrayClear(w)
}
plot(arraySize(w))

Boyut 10'a ulaşınca dizi boşaltılır → 1..10 arası testere deseni (periyodik kova).

arrayConcat(dizi1, dizi2)

Genişletilmiş dizi1 (aynı referans).

dizi1
array
Genişletilecek hedef dizi (sonuç buna eklenir).
dizi2
array
Elemanları eklenecek kaynak dizi.
NOT

dizi2'nin elemanlarını dizi1'in sonuna ekler ve dizi1'i değiştirir. dizi2 dokunulmadan kalır.

CODESCRIPT
a = arrayFrom(1, 2)
b = arrayFrom(3, 4)
arrayConcat(a, b)
plot(arraySize(a))

dizi1 4 elemana genişledi.

CODESCRIPT
a = arrayFrom(1, 2)
b = arrayFrom(3, 4, 5)
arrayConcat(a, b)
plot(arrayAvg(a))

İki dizi birleşir (1,2,3,4,5) → ortalama 3 (birleştir, sonra indirge).

arrayCopy(dizi)

Aynı elemanları taşıyan bağımsız yeni dizi.

dizi
array
Kopyalanacak dizi.
NOT

Yüzeysel kopya verir; kopyayı değiştirmek orijinali etkilemez. Yerinde değiştiren fonksiyonlardan (arraySort, arrayReverse) önce orijinali korumak için kullanılır.

CODESCRIPT
a = arrayFrom(3, 1, 2)
b = arrayCopy(a)
arraySort(b, true)
plot(arrayFirst(a))

Kopya sıralandı; orijinalin ilk elemanı hâlâ 3.

CODESCRIPT
a = arrayFrom(1, 2, 3)
b = arrayCopy(a)
arrayPush(b, 4)
plot(arraySize(a))

Kopyaya eleman eklenir ama orijinal etkilenmez → orijinal boyut hâlâ 3 (bağımsız kopya).

arrayCovariance(dizi1, dizi2, biased?)

İki dizinin kovaryansı; ortak sayısal eleman sayısı 2'den azsa na.

dizi1
array
Birinci sayısal dizi.
dizi2
array
İkinci sayısal dizi.
biased
bool
Yanlı (n ile bölme) için true, yansız (n-1) için false (opsiyonel; varsayılan true).
NOT

İki serinin birlikte hareket yönünü ve şiddetini ölçer. Diziler farklı uzunluktaysa kısa olanın uzunluğu kadar eşleştirilir. Varsayılan yanlı (n) bölendir.

CODESCRIPT
a = arrayFrom(1, 2, 3)
b = arrayFrom(2, 4, 6)
plot(arrayCovariance(a, b))

Birlikte artan iki dizi → pozitif kovaryans (≈1.33, yanlı).

CODESCRIPT
a = arrayFrom(1, 2, 3)
b = arrayFrom(6, 4, 2)
plot(arrayCovariance(a, b))

Biri artarken diğeri azalır → negatif kovaryans (≈ -1.33).

arrayEvery(dizi)

Tüm elemanlar doğru/sıfırdan-farklı ise true; boş dizide false.

dizi
array
Denetlenecek dizi.
NOT

Her elemanı doğruluk (truthy) olarak değerlendirir: 0/na/false yanlış sayılır. Boş dizide false döner.

CODESCRIPT
a = arrayFrom(1, 1, 1)
plot(arrayEvery(a) ? 1 : 0)

Tüm elemanlar sıfırdan farklı → true.

CODESCRIPT
a = arrayFrom(1, 0, 1)
plot(arrayEvery(a) ? 1 : 0)

Bir eleman 0 → arrayEvery false (0). Tüm elemanlar sıfırdan farklı değil.

arrayFill(dizi, değer, başla?, bitir?)

Değer döndürmez (na); diziyi yerinde doldurur.

dizi
array
Doldurulacak dizi.
değer
any
Aralığa yazılacak değer.
başla
number
Başlangıç indeksi (dahil; opsiyonel, varsayılan 0; negatif = sondan).
bitir
number
Bitiş indeksi (hariç; opsiyonel, varsayılan dizi sonu; negatif = sondan).
NOT

Verilen aralıktaki tüm elemanları aynı değere yazar; boyutu değiştirmez. Aralık verilmezse tüm dizi dolar.

CODESCRIPT
a = arrayNew(5, 0)
arrayFill(a, 9, 1, 3)
plot(arraySum(a))

1 ve 2. elemanlar 9 yapıldı → toplam 18.

CODESCRIPT
a = arrayNew(4, 1)
arrayFill(a, 0)
plot(arraySum(a))

Aralık verilmeden tüm dizi 0 ile doldurulur → toplam 0 (topluca sıfırlama).

arrayFirst(dizi)

İlk eleman; dizi boşsa na.

dizi
array
İlk elemanı okunacak dizi.
NOT

arrayGet(dizi, 0) ile aynı ama daha okunaklıdır; diziyi değiştirmez.

CODESCRIPT
a = arrayFrom(11, 22, 33)
plot(arrayFirst(a))

İlk eleman: 11.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, close)
if arraySize(w) > 5 {
  arrayShift(w)
}
plot(arrayFirst(w))

5 barlık kayan pencerenin ilk (en eski) elemanı — 5 bar önceki close.

arrayFrom(...değerler)

Verilen değerlerden oluşan yeni dizi.

...
any
Diziye konulacak değerler.
NOT

array ile aynı işi görür; alışkanlığa göre ikisi de kullanılabilir.

CODESCRIPT
a = arrayFrom(3, 1, 2)
plot(arrayMax(a))

Dizideki en büyük değer: 3.

CODESCRIPT
a = arrayFrom(5, 1, 9, 3, 7)
plot(arrayMedian(a))

Giriş sırasız olabilir: sıralı hâli 1,3,5,7,9 → tam ortadaki (medyan) 5.

arrayGet(dizi, i)

i. eleman; indeks dizi dışındaysa na döner (hata vermez).

dizi
array
Okunacak dizi.
i
number
Eleman indeksi; 0 ilk elemandır, negatif değer sondan sayar (-1 son eleman).
NOT

Negatif indeks sondan erişim sağlar. Sınır dışı indekste çökmez, na verir — sonucu na() ile kontrol edebilirsin.

CODESCRIPT
a = arrayFrom(10, 20, 30)
plot(arrayGet(a, -1))

Son eleman: 30.

CODESCRIPT
a = arrayFrom(close, close[1], close[2])
plot(arrayGet(a, 0) > arrayGet(a, 2) ? 1 : 0)

Pozitif indeksle erişim: geçerli close (0. eleman) 2 bar önceki close'tan (2. eleman) büyükse 1.

arrayIncludes(dizi, değer)

Değer dizide varsa true, yoksa false.

dizi
array
İçinde aranacak dizi.
değer
any
Varlığı sorgulanan değer.
NOT

Tip-kesin eşitlik kullanır: sayı sayıyla, metin metinle, mantıksal mantıksalla eşleşir.

CODESCRIPT
a = arrayFrom(1, 2, 3)
plot(arrayIncludes(a, 2) ? 1 : 0)

2 dizide var → true (1 olarak çizilir).

CODESCRIPT
a = arrayFrom(1, 5, 9)
plot(arrayIncludes(a, 4) ? 1 : 0)

4 dizide yok → false (0 çizilir) — üyelik testinin olumsuz hâli.

arrayIndexOf(dizi, değer)

Değerin ilk bulunduğu indeks; yoksa -1.

dizi
array
İçinde aranacak dizi.
değer
any
Konumu aranan değer.
NOT

Baştan tarar, ilk eşleşmenin konumunu verir. Tip-kesin eşitlik uygular. Sondan aramak için arrayLastIndexOf.

CODESCRIPT
a = arrayFrom(5, 6, 7)
plot(arrayIndexOf(a, 7))

7 değeri 2. konumda.

CODESCRIPT
a = arrayFrom(5, 6, 7)
plot(arrayIndexOf(a, 99))

99 dizide yok → -1 (bulunamadı işareti).

arrayInsert(dizi, i, değer)

Değer döndürmez (na); diziyi yerinde büyütür.

dizi
array
Ekleme yapılacak dizi.
i
number
Ekleme konumu (negatif = sondan; sınır dışıysa başa/sona kırpılır).
değer
any
Eklenecek değer.
NOT

Belirtilen konuma eleman ekler, sonraki elemanlar sağa kayar. Konum boyutu aşarsa sona, çok küçükse başa eklenir.

CODESCRIPT
a = arrayFrom(1, 3)
arrayInsert(a, 1, 2)
plot(arrayGet(a, 1))

1. konuma 2 eklendi → dizi 1,2,3.

CODESCRIPT
a = arrayFrom(1, 2, 3)
arrayInsert(a, 0, 0)
plot(arrayFirst(a))

0. konuma 0 eklenir (başa) → yeni ilk eleman 0.

arrayJoin(dizi, ayraç?)

Elemanların ayraçla birleştirilmiş tek metni.

dizi
array
Metne dönüştürülecek dizi.
ayraç
string
Elemanların arasına konacak ayraç (opsiyonel; varsayılan ",").
NOT

Her elemanı metne çevirip ayraçla birleştirir. Ayraç verilmezse virgül kullanılır.

CODESCRIPT
a = arrayFrom(1, 2, 3)
s = arrayJoin(a, "-")
plot(s == "1-2-3" ? 1 : 0)

Elemanlar "-" ile birleşti → "1-2-3".

CODESCRIPT
a = arrayFrom(1, 2, 3)
s = arrayJoin(a)
plot(s == "1,2,3" ? 1 : 0)

Ayraç verilmezse varsayılan virgüldür → "1,2,3".

arrayLast(dizi)

Son eleman; dizi boşsa na.

dizi
array
Son elemanı okunacak dizi.
NOT

arrayGet(dizi, -1) ile aynı ama daha okunaklıdır; diziyi değiştirmez.

CODESCRIPT
a = arrayFrom(11, 22, 33)
plot(arrayLast(a))

Son eleman: 33.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, high)
plot(arrayLast(w))

Diziye her bar high eklenir; son eleman en son eklenen (güncel) high'dır.

arrayLastIndexOf(dizi, değer)

Değerin son bulunduğu indeks; yoksa -1.

dizi
array
İçinde aranacak dizi.
değer
any
Konumu aranan değer.
NOT

Sondan başa tarar, son eşleşmenin konumunu verir. Tip-kesin eşitlik uygular.

CODESCRIPT
a = arrayFrom(5, 6, 5)
plot(arrayLastIndexOf(a, 5))

Son 5 değeri 2. konumda.

CODESCRIPT
a = arrayFrom(5, 6, 5)
plot(arrayLastIndexOf(a, 9))

9 dizide hiç yok → -1 (son-konum araması da bulamaz).

arrayMax(dizi)

En büyük sayısal eleman; sayısal eleman yoksa na.

dizi
array
En büyüğü aranan dizi.
NOT

Sadece sayıları karşılaştırır; metin/na atlanır.

CODESCRIPT
a = arrayFrom(7, 3, 9)
plot(arrayMax(a))

En büyük: 9.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, high)
if arraySize(w) > 20 {
  arrayShift(w)
}
plot(arrayMax(w))

Son 20 barın en yüksek high'ı — kayan direnç (Donchian üst bandı).

arrayMedian(dizi)

Ortanca (medyan) değer; boşsa na. Çift sayıda elemanda ortadaki ikisinin ortalaması.

dizi
array
Ortancası aranan dizi.
NOT

Değerleri sıralayıp ortadakini alır; aşırı uç değerlerden ortalamaya göre daha az etkilenir.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
plot(arrayMedian(a))

Ortadaki ikinin ortalaması: (2+3)/2 = 2.5.

CODESCRIPT
a = arrayFrom(5, 1, 9, 3, 7)
plot(arrayMedian(a))

Tek sayıda eleman: sıralı 1,3,5,7,9 → tam ortadaki 5 (çift sayıdaki durumdan farklı).

arrayMin(dizi)

En küçük sayısal eleman; sayısal eleman yoksa na.

dizi
array
En küçüğü aranan dizi.
NOT

Sadece sayıları karşılaştırır; metin/na atlanır.

CODESCRIPT
a = arrayFrom(7, 3, 9)
plot(arrayMin(a))

En küçük: 3.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, low)
if arraySize(w) > 20 {
  arrayShift(w)
}
plot(arrayMin(w))

Son 20 barın en düşük low'u — kayan destek (Donchian alt bandı).

arrayMode(dizi)

En sık geçen sayısal değer; eşitlikte en küçük olanı; boşsa na.

dizi
array
En sık değeri aranan dizi.
NOT

Frekans eşit olan birden çok değer varsa en küçüğünü verir. Sadece sayısal elemanları sayar.

CODESCRIPT
a = arrayFrom(2, 2, 1, 1)
plot(arrayMode(a))

1 ve 2 eşit sıklıkta → en küçüğü: 1.

CODESCRIPT
a = arrayFrom(1, 3, 3, 3, 2)
plot(arrayMode(a))

3 değeri üç kez geçer → en sık (mod) 3 (net kazanan).

arrayNew(boyut, başlangıç?)

boyut adet elemanın hepsi başlangıç değerine eşit olan yeni dizi.

boyut
number
Oluşturulacak dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; verilmezse 0).
NOT

Önce sabit boyutlu bir dizi ayırıp sonra arraySet/arrayFill ile doldurmak için kullanılır. Başlangıç verilmezse elemanlar 0'dır.

CODESCRIPT
a = arrayNew(4, 5)
plot(arraySum(a))

4 elemanın hepsi 5 → toplam 20.

CODESCRIPT
a = arrayNew(3, 2)
arrayPush(a, 4)
plot(arrayAvg(a))

3 eleman 2 ile kurulur, üstüne 4 eklenir → ortalama (2+2+2+4)/4 = 2.5.

arrayNewBool(boyut, başlangıç?)

boyut adet elemanın hepsi başlangıç değerine eşit yeni dizi.

boyut
number
Dizinin eleman sayısı.
başlangıç
bool
Her elemanın başlangıç değeri (opsiyonel).
NOT

arrayNew ile aynı davranır; mantıksal (true/false) dizi kurma niyetini belirtir. Başlangıç verilmezse 0'dır (yanlış gibi davranır).

CODESCRIPT
a = arrayNewBool(3, true)
plot(arrayEvery(a) ? 1 : 0)

Tüm elemanlar true → arrayEvery true.

CODESCRIPT
a = arrayNewBool(3, false)
arraySet(a, 1, true)
plot(arraySome(a) ? 1 : 0)

3 eleman false ile kurulur, 1. eleman true yapılır → arraySome true (1).

arrayNewBox(boyut, başlangıç?)

boyut adet elemanlı yeni kutu (box) dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; kutu (box) tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewBox(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
var kutular = arrayNewBox(0)
plot(arraySize(kutular))

var ile boş (0 elemanlı) kutu-tutamacı deposu — barlar boyunca taşınır, boyut 0'dan başlar.

arrayNewColor(boyut, başlangıç?)

boyut adet elemanlı yeni renk dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; renk tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewColor(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
var palet = arrayNewColor(2, "#26a69a")
arraySet(palet, 1, "#ef5350")
plot(arraySize(palet))

İki renk ayrılır, 1. eleman satış rengiyle değiştirilir → al/sat paleti, boyut 2.

arrayNewFloat(boyut, başlangıç?)

boyut adet sayısal elemanın hepsi başlangıç değerine eşit yeni dizi.

boyut
number
Dizinin eleman sayısı.
başlangıç
number
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; sayısal (ondalıklı) dizi kurmayı belirtir. Başlangıç verilmezse 0.

CODESCRIPT
a = arrayNewFloat(3, 1.5)
plot(arraySum(a))

3 elemanın hepsi 1.5 → toplam 4.5.

CODESCRIPT
a = arrayNewFloat(3, close)
plot(arrayGet(a, 0))

3 eleman geçerli close ile kurulur → 0. eleman o barın close'u (başlangıç bir seri olabilir).

arrayNewInt(boyut, başlangıç?)

boyut adet elemanın hepsi başlangıç değerine eşit yeni dizi.

boyut
number
Dizinin eleman sayısı.
başlangıç
number
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; tam-sayı dizisi kurma niyetini belirtir. Sayısal saklama ondalıklıdır; değerleri tam-sayı olarak kullanmak sana kalır.

CODESCRIPT
a = arrayNewInt(4, 2)
plot(arraySum(a))

4 elemanın hepsi 2 → toplam 8.

CODESCRIPT
a = arrayNewInt(3, 10)
arraySet(a, 0, 5)
plot(arrayMin(a))

3 eleman 10 ile kurulur, 0. eleman 5 yapılır → en küçük 5.

arrayNewLabel(boyut, başlangıç?)

boyut adet elemanlı yeni etiket (label) dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; etiket (label) tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewLabel(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
a = arrayNewLabel(3)
arrayPop(a)
plot(arraySize(a))

3 etiket-yuvası ayrılır, biri çıkarılır (pop) → boyut 2.

arrayNewLine(boyut, başlangıç?)

boyut adet elemanlı yeni çizgi (line) dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; çizgi (line) tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewLine(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
a = arrayNewLine(4)
arrayRemove(a, 0)
plot(arraySize(a))

4 çizgi-yuvası ayrılır, 0. eleman silinir → boyut 3.

arrayNewLinefill(boyut, başlangıç?)

boyut adet elemanlı yeni çizgi-dolgu (linefill) dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; çizgi-dolgu (linefill) tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewLinefill(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
a = arrayNewLinefill(2)
arrayClear(a)
plot(arraySize(a))

2 linefill-yuvası ayrılır, sonra dizi boşaltılır → boyut 0.

arrayNewString(boyut, başlangıç?)

boyut adet elemanın hepsi başlangıç metnine eşit yeni dizi.

boyut
number
Dizinin eleman sayısı.
başlangıç
string
Her elemanın başlangıç metni (opsiyonel; verilmezse boş metin "").
NOT

Metin dizisi kurar. Diğer arrayNew ailelerinden farkı: başlangıç verilmezse eleman 0 değil BOŞ METİN ("") olur.

CODESCRIPT
a = arrayNewString(2)
plot(arrayGet(a, 0) == "" ? 1 : 0)

Başlangıç verilmedi → elemanlar boş metin.

CODESCRIPT
a = arrayNewString(2, "AL")
arraySet(a, 1, "SAT")
plot(arrayIndexOf(a, "SAT"))

İki eleman "AL" ile kurulur, 1. eleman "SAT" yapılır → "SAT" 1. konumda.

arrayNewTable(boyut, başlangıç?)

boyut adet elemanlı yeni tablo (table) dizisi.

boyut
number
Dizinin eleman sayısı.
başlangıç
any
Her elemanın başlangıç değeri (opsiyonel; varsayılan 0).
NOT

arrayNew ile aynı davranır; tablo (table) tutmak üzere niyeti belirten tip-özel yapıcıdır. Başlangıç değeri verilmezse elemanlar 0'dır (genelde na/başlangıç verilerek doldurulur).

CODESCRIPT
a = arrayNewTable(2)
plot(arraySize(a))

2 elemanlık dizi ayrıldı.

CODESCRIPT
a = arrayNewTable(1)
b = arrayNewTable(2)
arrayConcat(a, b)
plot(arraySize(a))

1'lik ve 2'lik iki tablo-dizisi birleştirilir → boyut 3.

arrayPercentRank(dizi, indeks)

i. elemanın 0–100 arası yüzdelik rütbesi; indeks geçersiz/sayısal-değilse na; 2'den az sayısal elemanda 0.

dizi
array
Sıralama içinde konum aranan dizi.
indeks
number
Yüzdelik rütbesi hesaplanacak elemanın indeksi.
NOT

Verilen elemanın, diziye göre kaçıncı yüzdelikte olduğunu söyler: kendisi dahil kaç eleman ondan küçük ya da eşit. 0 = en küçük, 100 = en büyük.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40, 50)
plot(arrayPercentRank(a, 2))

30 değeri diziye göre %50 yüzdelikte.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40, 50)
plot(arrayPercentRank(a, 4))

En büyük eleman (50, indeks 4) diziye göre %100 yüzdelikte.

arrayPercentileLinearInterpolation(dizi, yüzde)

Doğrusal enterpolasyonlu yüzdelik değeri; boşsa na.

dizi
array
Yüzdelik alınacak dizi.
yüzde
number
0–100 arası yüzdelik (opsiyonel; varsayılan 50 = medyan).
NOT

Sıralanmış değerler arasında konumu doğrusal enterpolasyonla bulur; sonuç dizideki gerçek bir eleman olmayabilir. Daha yumuşak/kesintisiz yüzdelik verir.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
plot(arrayPercentileLinearInterpolation(a, 50))

%50 yüzdelik (medyan) = 2.5.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
plot(arrayPercentileLinearInterpolation(a, 25))

%25 yüzdelik, doğrusal ara-değerle = 1.75 (medyandan farklı bir dilim).

arrayPercentileNearestRank(dizi, yüzde)

En-yakın-rütbe yöntemiyle yüzdelik değeri; boşsa na.

dizi
array
Yüzdelik alınacak dizi.
yüzde
number
0–100 arası yüzdelik (opsiyonel; varsayılan 50).
NOT

Sıralı dizide yüzdeye karşılık gelen rütbeyi yukarı yuvarlar ve o konumdaki GERÇEK elemanı verir; ara değer üretmez.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
plot(arrayPercentileNearestRank(a, 50))

%50 en-yakın-rütbe → dizideki gerçek değer 2.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40, 50)
plot(arrayPercentileNearestRank(a, 90))

%90 en-yakın-rütbe → üst uçtaki gerçek değer 50.

arrayPop(dizi)

Çıkarılan son eleman; dizi boşsa na.

dizi
array
Son elemanı çıkarılacak dizi.
NOT

Diziyi bir eleman kısaltır ve çıkardığı değeri verir. Boş dizide çökmez, na döner.

CODESCRIPT
a = arrayFrom(1, 2, 3)
x = arrayPop(a)
plot(x)

Son eleman çıkarılıp döner: 3.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
arrayPop(a)
arrayPop(a)
plot(arrayLast(a))

Son eleman iki kez çıkarılır (4, sonra 3) → kalan son eleman 2 (LIFO).

arrayPush(dizi, değer)

Ekleme sonrası yeni eleman sayısı.

dizi
array
Elemanın ekleneceği dizi.
değer
any
Sona eklenecek değer.
NOT

Diziyi bir eleman büyütür. Sürekli birikim (log, sonuç listesi) için temel araçtır.

CODESCRIPT
a = arrayNew(0)
arrayPush(a, close)
plot(arraySize(a))

Her bar close eklenir; boyut bar sayısıyla birlikte artar.

CODESCRIPT
var sinyaller = arrayNew(0)
if crossover(close, sma(close, 20)) {
  arrayPush(sinyaller, close)
}
plot(arraySize(sinyaller))

Yalnız 20-SMA yukarı kesişiminde close eklenir; boyut o ana dek oluşan sinyal sayısıdır.

arrayRange(dizi)

En büyük ile en küçük sayısal eleman farkı (max - min); boşsa na.

dizi
array
Aralığı ölçülecek dizi.
NOT

Yayılımın en basit ölçüsü; tek bir uç değere karşı çok hassastır.

CODESCRIPT
a = arrayFrom(3, 7, 1)
plot(arrayRange(a))

7 - 1 = 6.

CODESCRIPT
a = arrayFrom(-5, 0, 5, 10)
plot(arrayRange(a))

En büyük - en küçük = 10 - (-5) = 15 (negatif değerlerle de çalışır).

arrayRemove(dizi, i)

Çıkarılan eleman; indeks dizi dışındaysa na.

dizi
array
Eleman çıkarılacak dizi.
i
number
Çıkarılacak indeks (negatif = sondan).
NOT

Belirtilen konumdaki elemanı çıkarır, sonraki elemanlar sola kayar ve çıkarılan değeri verir.

CODESCRIPT
a = arrayFrom(5, 6, 7)
x = arrayRemove(a, 1)
plot(x)

1. eleman çıkarılıp döner: 6.

CODESCRIPT
a = arrayFrom(5, 6, 7)
arrayRemove(a, 0)
plot(arrayFirst(a))

0. eleman (5) silinir, kalanlar öne kayar → yeni ilk eleman 6.

arrayReverse(dizi)

Değer döndürmez (na); dizinin sırasını yerinde ters çevirir.

dizi
array
Ters çevrilecek dizi.
NOT

Eleman sırasını başa-son ters çevirir; diziyi değiştirir.

CODESCRIPT
a = arrayFrom(1, 2, 3)
arrayReverse(a)
plot(arrayFirst(a))

Sıra ters çevrildi → ilk eleman artık 3.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4)
arrayReverse(a)
plot(arrayLast(a))

Sıra ters çevrilir → son eleman artık baştaki 1.

arraySet(dizi, i, değer)

Değer döndürmez (na); diziyi yerinde değiştirir.

dizi
array
Değiştirilecek dizi.
i
number
Yazılacak indeks (negatif = sondan).
değer
any
Yerine konacak değer.
NOT

Var olan bir konumu değiştirir; boyutu artırmaz. İndeks dizi dışındaysa sessizce hiçbir şey yapmaz.

CODESCRIPT
a = arrayNew(3, 0)
arraySet(a, 1, 9)
plot(arraySum(a))

1. eleman 9 yapıldı, diğerleri 0 → toplam 9.

CODESCRIPT
a = arrayNew(3, 0)
arraySet(a, 0, high)
arraySet(a, 2, low)
plot(arrayGet(a, 0) - arrayGet(a, 2))

0. elemana high, 2.'ye low yazılır; farkları o barın aralığıdır (high - low).

arrayShift(dizi)

Çıkarılan ilk eleman; dizi boşsa na.

dizi
array
İlk elemanı çıkarılacak dizi.
NOT

Baştan eleman alır ve kalanları öne kaydırır. Kuyruk (FIFO) mantığında kullanılır.

CODESCRIPT
a = arrayFrom(1, 2, 3)
x = arrayShift(a)
plot(x)

İlk eleman çıkarılıp döner: 1.

CODESCRIPT
a = arrayFrom(10, 20, 30)
arrayShift(a)
plot(arrayFirst(a))

Baştan bir eleman atılır (10) → yeni ilk eleman 20.

arraySize(dizi)

Dizideki eleman sayısı.

dizi
array
Ölçülecek dizi.
NOT

Boş dizide 0 döner. Döngü sınırı ve boşluk kontrolü için kullanılır.

CODESCRIPT
a = arrayFrom(5, 6, 7)
plot(arraySize(a))

3 eleman.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, close)
if arraySize(w) > 20 {
  arrayShift(w)
}
plot(arraySize(w) == 20 ? 1 : 0)

20 barlık kayan pencere dolunca 1 (hazır), ilk 20 barda 0 — ısınma kapısı.

arraySlice(dizi, başla, bitir?)

başla..bitir aralığının yeni bir kopya dizisi.

dizi
array
Kaynak dizi (değişmez).
başla
number
Başlangıç indeksi (dahil; negatif = sondan).
bitir
number
Bitiş indeksi (hariç; opsiyonel, varsayılan dizi sonu; negatif = sondan).
NOT

Kaynağı DEĞİŞTİRMEZ; bağımsız bir alt-dizi kopyası verir. bitir hariç tutulur.

CODESCRIPT
a = arrayFrom(0, 1, 2, 3, 4)
b = arraySlice(a, 1, 3)
plot(arraySize(b))

1 ve 2. elemanlar → 2 elemanlı kopya.

CODESCRIPT
a = arrayFrom(1, 2, 3, 4, 5)
b = arraySlice(a, 2)
plot(arraySum(b))

2. elemandan sona (bitiş verilmedi) → 3,4,5; toplam 12.

arraySome(dizi)

En az bir eleman doğru/sıfırdan-farklı ise true; hiçbiri değilse (ya da boşsa) false.

dizi
array
Denetlenecek dizi.
NOT

Her elemanı doğruluk olarak değerlendirir; ilk doğru elemanda true olur. Boş dizide false.

CODESCRIPT
a = arrayFrom(0, 0, 1)
plot(arraySome(a) ? 1 : 0)

Bir eleman sıfırdan farklı → true.

CODESCRIPT
a = arrayFrom(0, 0, 0)
plot(arraySome(a) ? 1 : 0)

Tüm elemanlar 0 → arraySome false (0). Sıfırdan farklı hiç eleman yok.

arraySort(dizi, artan?)

Değer döndürmez (na); diziyi yerinde sıralar.

dizi
array
Sıralanacak dizi.
artan
bool
Artan (küçükten büyüğe) için true, azalan için false (opsiyonel; varsayılan true).
NOT

Sadece sayısal elemanları sıralar; sayısal-olmayanlar sona, göründükleri sırayla eklenir. Diziyi değiştirir — kopya istiyorsan önce arrayCopy.

CODESCRIPT
a = arrayFrom(30, 10, 20)
arraySort(a, true)
plot(arrayFirst(a))

Artan sıralandı → ilk eleman en küçük: 10.

CODESCRIPT
a = arrayFrom(30, 10, 20, 40)
arraySort(a, false)
plot(arrayFirst(a))

Azalan sıralama (ikinci argüman false) → ilk eleman en büyük: 40.

arraySortIndices(dizi, artan?)

Diziyi sıralayacak indekslerin dizisi; dizinin kendisi değişmez.

dizi
array
Sıralama düzeni çıkarılacak dizi (değişmez).
artan
bool
Artan için true, azalan için false (opsiyonel; varsayılan true).
NOT

Diziyi bozmadan, sıralı hale getirecek eleman konumlarını verir. Sadece sayısal elemanlar sıralamaya girer. En-iyi/en-kötü N seçmek için birebir uygundur.

CODESCRIPT
a = arrayFrom(30, 10, 20)
b = arraySortIndices(a, true)
plot(arrayGet(b, 0))

En küçük değer (10) 1. konumda → ilk indeks 1.

CODESCRIPT
a = arrayFrom(30, 10, 20)
b = arraySortIndices(a, false)
plot(arrayGet(b, 0))

Azalan sırada en büyük değer (30) 0. konumdadır → ilk indeks 0. Dizinin kendisi değişmez.

arrayStandardize(dizi)

Her elemanı z-skoruna (x−ortalama)/std çeviren YENİ dizi; sapma 0 ise ya da 2'den az eleman varsa hepsi 0.

dizi
array
Standartlaştırılacak dizi.
NOT

Değerleri ortalaması 0, standart sapması 1 olacak şekilde ölçekler (örneklem std ile). Orijinali değiştirmez.

CODESCRIPT
a = arrayFrom(1, 2, 3)
b = arrayStandardize(a)
plot(arrayGet(b, 2))

En büyük eleman ortalamadan +1 std uzakta → 1.

CODESCRIPT
a = arrayFrom(10, 20, 30, 40, 50)
b = arrayStandardize(a)
plot(arrayGet(b, 0))

İlk eleman (10, en küçük) ortalamanın ≈1.26 standart sapma altında → z-skoru ≈ -1.26.

arrayStdev(dizi, biased?)

Örneklem standart sapması (varyansın karekökü); 2'den az sayısal elemanda na.

dizi
array
Standart sapması alınacak dizi.
NOT

Değerlerle aynı birimde yayılım verir; arrayVariance'ın karekökü.

CODESCRIPT
a = arrayFrom(2, 4, 4, 4, 5, 5, 7, 9)
plot(arrayStdev(a))

Örneklem standart sapması ≈ 2.14.

CODESCRIPT
var w = arrayNew(0)
arrayPush(w, close)
if arraySize(w) > 20 {
  arrayShift(w)
}
plot(arrayStdev(w))

Son 20 close'un standart sapması — kayan oynaklık ölçüsü.

arraySum(dizi)

Sayısal elemanların toplamı; sayısal eleman yoksa 0.

dizi
array
Toplanacak dizi.
NOT

Sadece sayıları toplar; metin/na elemanları atlar. Boş dizide 0 verir.

CODESCRIPT
a = arrayFrom(10, 20, 30)
plot(arraySum(a))

Toplam: 60.

CODESCRIPT
a = arrayFrom(close > open ? 1 : 0, close[1] > open[1] ? 1 : 0, close[2] > open[2] ? 1 : 0)
plot(arraySum(a))

Son 3 barın kaçında close>open olduğunu sayar (0 ile 3 arası).

arrayUnshift(dizi, değer)

Ekleme sonrası yeni eleman sayısı.

dizi
array
Elemanın başına ekleneceği dizi.
değer
any
Başa eklenecek değer.
NOT

Diziyi baştan büyütür; mevcut elemanlar bir konum sağa kayar.

CODESCRIPT
a = arrayFrom(2, 3)
arrayUnshift(a, 1)
plot(arrayFirst(a))

Yeni ilk eleman: 1.

CODESCRIPT
a = arrayFrom(3)
arrayUnshift(a, 2)
arrayUnshift(a, 1)
plot(arrayGet(a, 0))

Başa sırayla 2 ve 1 eklenir → dizi 1,2,3; ilk eleman 1.

arrayVariance(dizi, biased?)

Örneklem varyansı (n-1 ile bölünmüş); 2'den az sayısal elemanda na.

dizi
array
Varyansı alınacak dizi.
NOT

Dağılımın yayılımını ölçer; n-1 bölen (örneklem) kullanır. Karekökü arrayStdev'dir.

CODESCRIPT
a = arrayFrom(2, 4, 6)
plot(arrayVariance(a))

Örneklem varyansı: 4.

CODESCRIPT
a = arrayFrom(10, 10, 10, 10)
plot(arrayVariance(a))

Tüm elemanlar eşit → dağılım yok → varyans 0.

split(metin, ayraç?)

Parçaları taşıyan metin dizisi.

metin
string
Bölünecek metin.
ayraç
string
Bölme ayracı (opsiyonel; varsayılan ","; boş metin verilirse her karakter ayrı eleman olur).
NOT

Metni ayraçtan bölüp dizi verir. Ayraç verilmezse virgül kullanılır; boş ayraç metni harflere ayırır.

CODESCRIPT
a = split("AL,SAT,BEKLE", ",")
plot(arraySize(a))

3 parçaya bölündü.

CODESCRIPT
p = split("AL,SAT,BEKLE", ",")
plot(arrayIndexOf(p, "SAT"))

Metin virgülden bölünür; parçalar arasında "SAT" 1. konumda (ayrıştır, sonra ara).