Elliott Dalga Prensibi (Elliott Wave Principle)
5 dalga itici (motive) yapı: Ana trend yönünde beş aşamalı hareket (1, 2, 3, 4, 5).
3 dalga düzeltici yapı: Ana trendle çelişen üç aşamada geri çekilme (A, B, C)
Bu döngüler bir araya gelerek yineleyici, fraktal yapılar oluşturur; küçük dalgalar daha büyük dalgaların içinde yer alabilir
Elliott dalga sayımı yapılırken göz önünde bulundurulan 3 temel kural vardır
Wave 2, Wave 1’in %100’ünden fazla geri çekilemez.
Wave 3, en kısa impuls dalga olamaz.
Wave 4, Wave 1’in fiyat bölgesine giremez.
Ayrıca, dalga 2 ve 4 arasında alternation denilen karşıt form farklılıkları görülür biri keskinse diğeri yumuşak yapıda olur.
Fibonacci ile Bağlantısı
Dalga boyları Fibonacci sayı dizisiyle ilişkili olarak analiz edilir (örneğin, geri çekilmeler %38, %61.8 gibi oranlara yaklaşabilir)
“İdeal EMA Up” listesi, genellikle bir hissenin fiyatının belirli EMA’ların (Üssel Hareketli Ortalamalar) üzerine çıktığını ve teknik olarak yükseliş trendine girdiğini gösteren bir sinyaldir. Ancak hisse fiyatı bu ortalamaların altına düştüğünde listeden çıkar ve yeniden yukarı kırarsa tekrar listeye girer.
Bu tür listeye çok kez girip çıkan hisseler, kısa vadeli düzeltmelerin ardından trendin devam ettiğini gösterir. Bu da, hissede daha karmaşık ama güçlü bir yükseliş dalgası yapısına işaret eder.
Dalga Yapısı (Wave Structure) Açısından Anlamı
Hissenin bu listeye tekrar tekrar girmesi: Elliott Dalga Teorisi’ne göre, bu tür hareketler genellikle bir trendin içinde birden fazla küçük düzeltme dalgası ve ardından devam dalgaları olduğunu gösterir.
Yani:
EMA kırılımı = Yükseliş impuls dalgası
EMA altına sarkma = Düzeltme dalgası
Tekrar EMA yukarı kırılımı = Yeni bir yükseliş dalgası başlangıcı
Bu yapı hisseye zamanla: Polinomsal (üstel hızlanarak) yükseliş modeli kazandırabilir.
Polinomsal Yükseliş Nedir?
Polinomsal yükseliş, fiyat grafiğinde:
Zamanla giderek dikleşen bir yükseliş eğrisi oluşmasıdır. Bu genellikle alttan destekli bir trendin ivmelenmesiyle oluşur.
Bunu teknik olarak şöyle tespit edebilirsiniz:
Fiyat hareketine polinomsal regresyon eğrisi (örneğin 2. veya 3. dereceden) fit ettiğinizde, eğri yukarı kıvrılıyorsa, bu yükselişin lineer değil, ivmeli olduğunu gösterir.
Yüksek Risklidir. Bir Ayda % 80 kazandırıyorsa Taban serisi ile 6 işlem gününde geri çekilir.
BIST 100 endeksinde yer alan şirketlerin sektörel dağılımına baktığımızda, sanayi, enerji ve holding sektörlerinin önemli bir ağırlığa sahip olduğunu görüyoruz. Bu sektörler, endeksin genel yönü üzerinde belirleyici bir etkiye sahiptir.
Son dönemde endeksin yukarı yönlü hareketinde beklenen ivmenin yakalanamaması, özellikle enerji ve sanayi şirketlerinin zayıf performansından kaynaklanmaktadır. Bu duruma az da olsa holding şirketlerinin durgunluğu da eklenebilir.
Eğer BIST 100 endeksinin 14.000 seviyesine ulaşması bekleniyorsa, öncelikle enerji ve sanayi sektörlerinde toparlanma şart. Bu sektörlerdeki güçlü bir hareket, endekste anlamlı bir yukarı yönlü kırılımın önünü açabilir.
Sideways market ya da Türkçesiyle yatay piyasa, bir varlığın fiyatının belirli bir zaman aralığında yukarı ya da aşağı yönlü anlamlı bir trend göstermeksizin belirli bir bant içinde hareket ettiği piyasa durumudur.
| Özellik | Açıklama |
|---|---|
| Trend Yokluğu | Uzun süreli yukarı ya da aşağı trend gözlemlenmez. |
| Destek-Direnç Aralığı | Fiyat çoğunlukla aynı aralıkta gidip gelir. |
| Hacim Azlığı | İşlem hacmi genellikle düşer. |
| Sinyal Kararsızlığı | Trend takip göstergeleri sık sık yön değiştirir. |
| Gösterge | Yorum |
|---|---|
| ADX (Average Directional Index) | ADX < 20 ise zayıf veya yönsüz piyasa |
| MACD | Sinyal çizgisi ve MACD çizgisi birbirine yakın ve histogram zayıf |
| Bollinger Bands | Bantlar sıkışmışsa, volatilite düşüktür → Sideways olabilir |
| Moving Average Crossover | Kısa vadeli ve uzun vadeli ortalamalar birbirine sarılmışsa yönsüzlük vardır |
| Price Action | Fiyat, belirli destek/dirençler arasında sıkışmışsa yatay seyir olabilir |
| Strateji | Açıklama |
|---|---|
| Destek-Dirençten Al/Sat | Destekten al, dirençten sat mantığıyla çalışılır. |
| Bollinger Bounce | Fiyat bantlara değince ters işlem açılır. |
| Stokastik + RSI | Aşırı alım/satım bölgeleri kullanılarak scalping yapılabilir. |
| Range Trading Botları | Belirli aralıkta otomatik işlem açan algoritmalar. |
Sideways dönemleri genellikle büyük bir harekete hazırlık sürecidir. Bu nedenle, sıkışma sonrası oluşan kırılmalar önemlidir:
| Gösterge | Sideways Yorumu |
|---|---|
| ADX | 20’nin altında → trend yok |
| Bollinger Band | Daralma varsa → sıkışma var |
| RSI | 45-55 arasında gidip geliyorsa → yönsüz |
| OBV | Yatay gidiyorsa → hacim tarafsız |
| MACD | Histogram sıfıra yakın, çizgiler düz |
Polinomsal regresyon, bir veri setindeki karmaşık eğilimleri yakalamak için kullanılan doğrusal olmayan bir regresyon türüdür. Hisse senedi kapanış fiyatlarının zaman içinde nasıl dalgalandığını analiz etmek için bu yöntem kullanılır. Amaç, fiyatların zamanla oluşturduğu eğrileri en iyi temsil eden bir denklem bulmaktır.
| Bileşen | Anlamı |
|---|---|
| R² Değeri | Trend gücünün istatistiksel ölçüsü |
| Kırmızı Trend Çizgisi | Polinomsal medyan eğri; fiyatın ana yönü |
| Gri Dolgu Alanları | Üst-alt kanal; volatilite sınırları |
| Yukarı Eğim | Yükseliş trendi; fiyatın zamanla yukarı yönlü hareketi |
| 2 Yıllık Zaman Aralığı | İstatistiksel geçerliliği artıran örnekleme süresi |

İşte tam bu noktada polinomsal regresyon (Polynomial Regression) devreye girer. Bu yöntem, fiyat serisini eğri formunda modelleyerek daha esnek ve gerçekçi trend yorumları sunar.
Bu yazıda polinomsal regresyonun ne olduğu, nasıl hesaplandığı, finansal grafikte nasıl kullanıldığı ve hangi durumlarda işe yaradığı detaylı şekilde anlatılacaktır.
Polinomsal regresyon, bağımlı bir değişkeni (örneğin kapanış fiyatı) zamana karşı bir polinom fonksiyonu ile modellemeye çalışan istatistiksel bir tekniktir.
y: Tahmin edilen fiyatx: Zaman (örneğin bar numarası)n: Polinomun derecesi (2: parabol, 3+: eğri)| Amaç | Açıklama |
|---|---|
| Trend eğrisini çizmek | Fiyat serisinin eğilim yönünü eğrisel şekilde modellemek |
| Dönüş noktalarını saptamak | Eğrinin lokal maksimum/minimum noktaları potansiyel dönüş alanlarını verir |
| Trendin hızını ve yönünü analiz etmek | Eğrinin eğimi ve derecesi bu konuda ipuçları verir |
| Fiyat sapmalarını analiz etmek | Gerçek fiyat ile regresyon eğrisi arasındaki farklar aşırılık göstergesi olabilir |
| Polinom Derecesi | Teknik Anlamı | Kullanım Senaryosu |
|---|---|---|
| 1 (Lineer) | Basit yükselen/düşen trend | Doğrusal regresyon kanalı |
| 2 (Parabolik) | Dip/tepe oluşumları, dönüş eğilimleri | Orta vadeli dönüşler |
| 3–4 (Kübik / 4. derece) | Trend içinde minör dalgalar, Elliott analizi | Dalga yapısı çıkarımı |
| 5+ | Çok kısa vadeli dönüşler ve gürültü filtreleme | Algoritmik stratejiler (dikkatli kullanılmalı) |
Uyarı: Polinom derecesi yükseldikçe overfitting riski artar. Dengeli seçim yapılmalıdır.
Dipten dönen bir hisse senedinde, fiyatlar ikinci derece eğriyle modellenirse yukarı kıvrılan bir parabol çizilir → trend dönüşü teyit edilmiş olabilir.
Fiyatın düşük-dalga-yüksek-dalga yapısı, 3. veya 4. derece bir eğriyle oldukça yakın şekilde yakalanabilir.
Eğri ile gerçek kapanış fiyatı arasındaki farkın standardize edilmiş hali (Z-score gibi) aşırılık göstergesi olabilir.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
# --- Veriyi Yükle ---
df = pd.read_excel("your_stock_data.xlsx")
# "DATE" sütunu tarih formatına çevrilsin
df["DATE"] = pd.to_datetime(df["DATE"])
# --- Bağımlı ve bağımsız değişkenler ---
y = df["CLOSING_TL"].values # Kapanış fiyatları
x = np.arange(len(y)).reshape(-1, 1) # 0,1,2,... şeklinde indeks
# --- Polinom regresyon (3. dereceden) ---
poly = PolynomialFeatures(degree=3)
X_poly = poly.fit_transform(x)
model = LinearRegression().fit(X_poly, y)
# --- Tahmin ---
y_pred = model.predict(X_poly)
# --- Grafik ---
plt.figure(figsize=(10, 5))
plt.plot(df["DATE"], y, label="Gerçek Fiyat", color="blue")
plt.plot(df["DATE"], y_pred, label="Polinomsal Regresyon (d=3)", linestyle="--", color="red")
plt.legend()
plt.title("Polinomsal Regresyon ile Trend Analizi")
plt.xlabel("Tarih")
plt.ylabel("Fiyat (TL)")
plt.grid(True)
plt.show()
| Durum | Kullanım |
|---|---|
| Belirsiz trend yönü | 2. veya 3. derece regresyon eğrisi |
| Dalgalı piyasa | 3–4 derece trend eğrisi analizi |
| Tepe/dip analizi | 2. derece regresyon yeterlidir |
| Otomatik trade | 3+ dereceler + filtrelerle |
Polinomsal regresyon, klasik teknik analiz araçlarının ötesine geçerek piyasa davranışını eğrisel ve daha doğal biçimde modellemek için etkili bir araçtır. Özellikle trendin yönü ve dönüş ihtimali hakkında daha rafine bir bakış sunar.
Ancak her güçlü araç gibi, dikkatli kullanılmalıdır. Gereksiz derecede yüksek polinomlar, yanıltıcı olabilir. Bu nedenle regresyon eğrisi, diğer teknik sinyallerle (RSI, MACD, Bollinger, hacim) birlikte kullanılmalıdır.

Teknik analizde trendin yönünü ve gücünü ölçmenin yollarından biri de doğrusal regresyon (Linear Regression) kanallarıdır. Bu kanallar, fiyatların belirli bir zaman periyodundaki ortalama doğrusal eğilimini ve bu eğilim etrafındaki sapmaları göstererek yatırımcıya net bir fiyat yönü, destek/direnç ve trend devamlılığı hakkında bilgi sunar.
Bu makalede, özellikle Fibonacci ve Lucas serilerinden türetilmiş özel periyotlar olan:
55, 89, 144, 233, 370, 610, 987
Üzerinden oluşturulmuş Linear Regression kanallarının kullanım amaçları, avantajları, dezavantajları ve pratik yorumları detaylı şekilde ele alacağız.
Linear Regression Channel (LRC), fiyatların zaman içindeki doğrusal eğilimlerini analiz etmek için kullanılan bir tekniktir. Bir LRC genellikle 3 parçadan oluşur:
Bu değerler, Fibonacci dizisinin uzantıları ve piyasa psikolojisinde sık kullanılan doğal ritimleri temsil eder.
| Periyot | Açıklama |
|---|---|
| 55 | Fibonacci dizisi içinde yer alır, orta vadeli analiz |
| 89 | Büyük oyuncuların sık takip ettiği dönem |
| 144 | Genişletilmiş Fibonacci süresi – trendin olgunlaştığı alan |
| 233 | Trendin güçlendiği, çok yıllı yapılar için uygun |
| 370 | Lucas serisine yakın – piyasa yapısına farklı bakış |
| 610 | Büyük dönemli dip/tepe projeksiyonları |
| 987 | Çok uzun vadeli trend analizi, döngüsel dönüş alanları |
| Amaç | Açıklama |
|---|---|
| Trend yönü tespiti | Ortalama doğrusal çizgi sayesinde yukarı / aşağı yön kolay tespit edilir. |
| Destek/direnç alanları | Üst-alt kanal sınırları çoğunlukla fiyatın dönme alanlarını gösterir. |
| Aşırı fiyat hareketlerini ölçme | Fiyat kanal dışına çıkarsa, düzeltme ihtimali artar. |
| Trendin gücünü değerlendirme | Kanal eğimi ve genişliği trendin momentumunu gösterir. |
| Periyot | Kullanım Senaryosu |
|---|---|
| 55 | Günlük / 4 saatlik grafiklerde kısa-orta vadeli trend tespiti |
| 89 | Günlük/haftalık grafiklerde sağlıklı kırılım kontrolü |
| 144 | Haftalık grafiklerde majör trend değerlendirmesi |
| 233 | Aylık grafiklerde büyük yatırımcı davranışları gözlenebilir |
| 370 | Çok uzun vadeli yön tespiti; yıllık projeksiyonlar |
| 610 / 987 | Ekstrem dip/tepe ve döngüsel analizler için kullanılır |

Örnek Teknik Yorumlama
Linear Regression kanalları, fiyat davranışını anlamak için güçlü bir araçtır. 55 89 144 233 370 610 987 gibi periyotlar, özellikle uzun vadeli analizde kullanılabilecek Fibonacci temelli seviyelerdir. Bu kanallar:
Ancak, her teknik göstergede olduğu gibi, bu kanallar da diğer indikatörlerle birlikte kullanıldığında çok daha etkili olur. Özellikle RSI, MACD veya Bollinger Band gibi göstergelerle birlikte yorumlandığında yatırımcılara oldukça sağlıklı sinyaller sunabilir.

Pivot noktaları (pivot points), teknik analizde fiyatın olası destek ve direnç seviyelerini tahmin etmek için kullanılan, matematiksel olarak hesaplanan referans noktalarıdır. Fiyatın bu seviyelere olan tepkisi, yatırımcılara trendin devamı, dönüşü veya güç kaybı hakkında ipuçları sunar. Ancak pivot seviyeleri yalnızca formülle değil, zaman dilimi ile de büyük anlam kazanır.
Bu makalede pivot noktalarının günlük, haftalık, aylık ve yıllık seviyelerde nasıl çalıştığı, ne tür sinyaller verdiği ve hangi yatırımcı profiline uygun olduğu incelenecektir.
| Zaman Dilimi | Kullanıcı Profili | Güçlü Yönü | Zayıf Yönü |
|---|---|---|---|
| Günlük | Scalper, intraday | Hızlı tepki, sık sinyal | Gürültü, sık sapma |
| Haftalık | Swing trader | Trend belirleyici | Kısa vadede gecikmeli |
| Aylık | Orta vadeli yatırımcı | Kararlı destek/direnç | Günlükçüler için yavaş |
| Yıllık | Uzun vadeli yatırımcı | Stratejik yön tayini | Kısa vadede yetersiz |
Pivot noktaları, fiyatın belirli zaman dilimlerine göre nasıl hareket edebileceğini anlamada büyük rol oynar. Zaman dilimi arttıkça güvenilirlik artar, ancak esneklik azalır. Günlük pivotlar kısa vadeli kararlar için hızlı sinyaller sunarken, yıllık pivotlar daha çok yön belirleyici ve stratejik planlama aracı olarak işlev görür.
Başarılı bir yatırımcı, işlem süresine göre doğru pivot türünü seçmeli ve zaman dilimi ile uyumlu stratejiler geliştirmelidir. Unutulmamalıdır ki, pivotlar tek başına yeterli değildir; hacim, trend göstergeleri ve fiyat davranışı ile birlikte yorumlanmalıdır.
ALFA TREND Kıvanç Özbilgiç hocanın, kripto paralar için yazdığı al-sat sinyalleri üreten ALFA TREND isimli indikatörünü, BIST 30 endeksinde yer alan hisse senetlerini gösterecek şekilde düzenledim ve Türkçeye çevirdim. Grafikte sağ tarafta, bu hisse senetlerine ait al-sat durumları da gösterilmektedir. TradingView’de Pine Editörü’ne ekleyerek kullanmak isteyenler için uygun hale getirilmiştir.

Trading View Alfa Trend Tarayıcı Pine Script Kodu
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Kıvanç Özbilgiç hocanın alpha trend indikatörü üzerinde türkçeleştirme ve BIST20 hisselerini gösterecek şekilde editlenmiştir.
//@version=6
indicator('Alfa Trend Tarayıcı', overlay = true, format = format.price, precision = 2)
// --- ALPHATREND Ayarları ---
src = input.source(title = 'Kaynak', defval = close, group = 'ALPHATREND')
AP = input.int(title = 'Uzunluk', defval = 14, group = 'ALPHATREND')
coeff = input.float(title = 'Çarpan', defval = 1.0, step = 0.1, group = 'ALPHATREND')
novolumedata = input.bool(title = 'Değişim Hesaplaması (Hacim Verisi Yok)', defval = false, group = 'ALPHATREND')
showsignalsk = input.bool(title = 'Sinyalleri göster', defval = true, group = 'ALPHATREND')
// ATR ve alt/üst çizgiler
ATR = ta.sma(ta.tr, AP)
upT = low - ATR * coeff
downT = high + ATR * coeff
// AlphaTrend hesaplama (düzgün karşılaştırmalarla)
var float AlphaTrend = na
use_up = novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50
AlphaTrend := use_up ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
// Renk, tetikleyici ve sinyaller
color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])
K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk[1])
O2 = ta.barssince(sellSignalk[1])
// Yön değişkeni (1 = al, -1 = sat, 0 = nötr)
var int direction = 0
direction := buySignalk and O1 > K2 ? 1 : sellSignalk and O2 > K1 ? -1 : direction[1]
// Plotlar
k1 = plot(AlphaTrend, title = 'AlfaTrend', color = color.green, linewidth = 3)
k2 = plot(AlphaTrend[2], title = 'Tetikleyici', color = color.red, linewidth = 3)
fill(k1, k2, title = 'Doldurma Rengi', color = color1)
// Sinyal şekilleri
plotshape(showsignalsk and buySignalk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title = 'AL', text = 'AL', location = location.absolute, style = shape.labelup, size = size.tiny, color = color.green, textcolor = color.white)
plotshape(showsignalsk and sellSignalk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title = 'SAT', text = 'SAT', location = location.absolute, style = shape.labeldown, size = size.tiny, color = color.red, textcolor = color.white)
// --- Tarayıcı ve Etiket Ayarları ---
string gr_sc = 'Tarayıcı'
string gr_sy = 'Sembol'
string t00 = 'Alfa Trend Tarayıcı'
color c00 = #686868
lb_sh = input.bool(title = 'Etiketleri Göster', defval = true, group = gr_sc)
lb_xa = input.int(title = 'Yatay Eksen', defval = 20, group = gr_sc, tooltip = 'Etiket Pozisyonu X Ekseninde')
lb_ya = input.int(title = 'Dikey Eksen', defval = 1, group = gr_sc, tooltip = 'Etiket Pozisyonu Y Ekseninde')
lb_sz = input.string(title = 'Etiketlerin Boyutu', options = ['Otomatik', 'Small', 'Normal', 'Large'], defval = 'Normal', group = gr_sc)
lb_cl = input.color(title = 'Renkler', defval = #00bb00, group = gr_sc, inline = '0')
lb_cs = input.color(title = '', defval = #ff0000, group = gr_sc, inline = '0')
// Hisseler (20 adet, varsayılan BIST örnekleri)
sh01 = input.bool(title = '01', defval = true, group = gr_sy, inline = '01')
sh02 = input.bool(title = '02', defval = true, group = gr_sy, inline = '02')
sh03 = input.bool(title = '03', defval = true, group = gr_sy, inline = '03')
sh04 = input.bool(title = '04', defval = true, group = gr_sy, inline = '04')
sh05 = input.bool(title = '05', defval = true, group = gr_sy, inline = '05')
sh06 = input.bool(title = '06', defval = true, group = gr_sy, inline = '06')
sh07 = input.bool(title = '07', defval = true, group = gr_sy, inline = '07')
sh08 = input.bool(title = '08', defval = true, group = gr_sy, inline = '08')
sh09 = input.bool(title = '09', defval = true, group = gr_sy, inline = '09')
sh10 = input.bool(title = '10', defval = true, group = gr_sy, inline = '10')
sh11 = input.bool(title = '11', defval = false, group = gr_sy, inline = '11')
sh12 = input.bool(title = '12', defval = false, group = gr_sy, inline = '12')
sh13 = input.bool(title = '13', defval = false, group = gr_sy, inline = '13')
sh14 = input.bool(title = '14', defval = false, group = gr_sy, inline = '14')
sh15 = input.bool(title = '15', defval = false, group = gr_sy, inline = '15')
sh16 = input.bool(title = '16', defval = false, group = gr_sy, inline = '16')
sh17 = input.bool(title = '17', defval = false, group = gr_sy, inline = '17')
sh18 = input.bool(title = '18', defval = false, group = gr_sy, inline = '18')
sh19 = input.bool(title = '19', defval = false, group = gr_sy, inline = '19')
sh20 = input.bool(title = '20', defval = false, group = gr_sy, inline = '20')
tf01 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '01')
tf02 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '02')
tf03 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '03')
tf04 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '04')
tf05 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '05')
tf06 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '06')
tf07 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '07')
tf08 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '08')
tf09 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '09')
tf10 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '10')
tf11 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '11')
tf12 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '12')
tf13 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '13')
tf14 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '14')
tf15 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '15')
tf16 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '16')
tf17 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '17')
tf18 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '18')
tf19 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '19')
tf20 = input.timeframe(title = '', defval = '', group = gr_sy, inline = '20')
s01 = input.symbol(title = '', group = gr_sy, inline = '01', defval = 'BIST:THYAO')
s02 = input.symbol(title = '', group = gr_sy, inline = '02', defval = 'BIST:ISCTR')
s03 = input.symbol(title = '', group = gr_sy, inline = '03', defval = 'BIST:EREGL')
s04 = input.symbol(title = '', group = gr_sy, inline = '04', defval = 'BIST:YKBNK')
s05 = input.symbol(title = '', group = gr_sy, inline = '05', defval = 'BIST:AKBNK')
s06 = input.symbol(title = '', group = gr_sy, inline = '06', defval = 'BIST:TUPRS')
s07 = input.symbol(title = '', group = gr_sy, inline = '07', defval = 'BIST:KCHOL')
s08 = input.symbol(title = '', group = gr_sy, inline = '08', defval = 'BIST:GARAN')
s09 = input.symbol(title = '', group = gr_sy, inline = '09', defval = 'BIST:EKGYO')
s10 = input.symbol(title = '', group = gr_sy, inline = '10', defval = 'BIST:ASELS')
s11 = input.symbol(title = '', group = gr_sy, inline = '11', defval = 'BIST:SASA')
s12 = input.symbol(title = '', group = gr_sy, inline = '12', defval = 'BIST:TCELL')
s13 = input.symbol(title = '', group = gr_sy, inline = '13', defval = 'BIST:PGSUS')
s14 = input.symbol(title = '', group = gr_sy, inline = '14', defval = 'BIST:BIMAS')
s15 = input.symbol(title = '', group = gr_sy, inline = '15', defval = 'BIST:SISE')
s16 = input.symbol(title = '', group = gr_sy, inline = '16', defval = 'BIST:PETKM')
s17 = input.symbol(title = '', group = gr_sy, inline = '17', defval = 'BIST:ASTOR')
s18 = input.symbol(title = '', group = gr_sy, inline = '18', defval = 'BIST:GUBRF')
s19 = input.symbol(title = '', group = gr_sy, inline = '19', defval = 'BIST:KRDMD')
s20 = input.symbol(title = '', group = gr_sy, inline = '20', defval = 'BIST:TOASO')
// --- Fonksiyonlar ---
f_screener(s) =>
int x = na
int y = na
color z = na
if s
x := direction
y := ta.barssince(x != x[1])
z := x == 1 ? lb_cl : x == -1 ? lb_cs : c00
z
[x, y, z]
f_bars(x) =>
' [' + str.tostring(x) + '] '
f_size(x) =>
x == 'Otomatik' ? size.auto : x == 'Small' ? size.small : x == 'Normal' ? size.normal : x == 'Large' ? size.large : size.auto
// Label yönetimi için array kullanarak
var label_array = array.new<label>(21, na)
f_label(index, t, c) =>
var bool result = false
if lb_sh
// Eski label'ı sil
current_label = array.get(label_array, index)
if not na(current_label)
label.delete(current_label)
// Y pozisyonu hesaplama
fix_allign = ta.highest(high, 200)
y_pos = bar_index > 200 ? fix_allign * (1 + lb_ya / 1000) : hl2 * (1 + lb_ya / 1000)
// Yeni label oluştur
new_label = label.new(x = bar_index + lb_xa, y = y_pos + index * y_pos * 0.03, text = t, textcolor = c, textalign = text.align_right, style = label.style_label_left, size = f_size(lb_sz), color = color.new(color.white, 100)) // Her label için farklı Y pozisyonu text=t, textcolor=c, textalign=text.align_right, style=label.style_label_left, size=f_size(lb_sz), color=color.new(color.white, 100))
// Yeni label'ı array'e kaydet
array.set(label_array, index, new_label)
result := true
result
else
result := false
result
result
// --- Security ile tarama (her sembol için) ---
[a01, b01, c01] = request.security(s01, tf01 == '' ? timeframe.period : tf01, f_screener(sh01))
[a02, b02, c02] = request.security(s02, tf02 == '' ? timeframe.period : tf02, f_screener(sh02))
[a03, b03, c03] = request.security(s03, tf03 == '' ? timeframe.period : tf03, f_screener(sh03))
[a04, b04, c04] = request.security(s04, tf04 == '' ? timeframe.period : tf04, f_screener(sh04))
[a05, b05, c05] = request.security(s05, tf05 == '' ? timeframe.period : tf05, f_screener(sh05))
[a06, b06, c06] = request.security(s06, tf06 == '' ? timeframe.period : tf06, f_screener(sh06))
[a07, b07, c07] = request.security(s07, tf07 == '' ? timeframe.period : tf07, f_screener(sh07))
[a08, b08, c08] = request.security(s08, tf08 == '' ? timeframe.period : tf08, f_screener(sh08))
[a09, b09, c09] = request.security(s09, tf09 == '' ? timeframe.period : tf09, f_screener(sh09))
[a10, b10, c10] = request.security(s10, tf10 == '' ? timeframe.period : tf10, f_screener(sh10))
[a11, b11, c11] = request.security(s11, tf11 == '' ? timeframe.period : tf11, f_screener(sh11))
[a12, b12, c12] = request.security(s12, tf12 == '' ? timeframe.period : tf12, f_screener(sh12))
[a13, b13, c13] = request.security(s13, tf13 == '' ? timeframe.period : tf13, f_screener(sh13))
[a14, b14, c14] = request.security(s14, tf14 == '' ? timeframe.period : tf14, f_screener(sh14))
[a15, b15, c15] = request.security(s15, tf15 == '' ? timeframe.period : tf15, f_screener(sh15))
[a16, b16, c16] = request.security(s16, tf16 == '' ? timeframe.period : tf16, f_screener(sh16))
[a17, b17, c17] = request.security(s17, tf17 == '' ? timeframe.period : tf17, f_screener(sh17))
[a18, b18, c18] = request.security(s18, tf18 == '' ? timeframe.period : tf18, f_screener(sh18))
[a19, b19, c19] = request.security(s19, tf19 == '' ? timeframe.period : tf19, f_screener(sh19))
[a20, b20, c20] = request.security(s20, tf20 == '' ? timeframe.period : tf20, f_screener(sh20))
// Metin oluşturmalar (sadece aktif hisseler için)
t01 = sh01 ? a01 == 1 ? '▲' + f_bars(b01) + s01 : a01 == -1 ? '▼' + f_bars(b01) + s01 : '■' + f_bars(b01) + s01 : ''
t02 = sh02 ? a02 == 1 ? '▲' + f_bars(b02) + s02 : a02 == -1 ? '▼' + f_bars(b02) + s02 : '■' + f_bars(b02) + s02 : ''
t03 = sh03 ? a03 == 1 ? '▲' + f_bars(b03) + s03 : a03 == -1 ? '▼' + f_bars(b03) + s03 : '■' + f_bars(b03) + s03 : ''
t04 = sh04 ? a04 == 1 ? '▲' + f_bars(b04) + s04 : a04 == -1 ? '▼' + f_bars(b04) + s04 : '■' + f_bars(b04) + s04 : ''
t05 = sh05 ? a05 == 1 ? '▲' + f_bars(b05) + s05 : a05 == -1 ? '▼' + f_bars(b05) + s05 : '■' + f_bars(b05) + s05 : ''
t06 = sh06 ? a06 == 1 ? '▲' + f_bars(b06) + s06 : a06 == -1 ? '▼' + f_bars(b06) + s06 : '■' + f_bars(b06) + s06 : ''
t07 = sh07 ? a07 == 1 ? '▲' + f_bars(b07) + s07 : a07 == -1 ? '▼' + f_bars(b07) + s07 : '■' + f_bars(b07) + s07 : ''
t08 = sh08 ? a08 == 1 ? '▲' + f_bars(b08) + s08 : a08 == -1 ? '▼' + f_bars(b08) + s08 : '■' + f_bars(b08) + s08 : ''
t09 = sh09 ? a09 == 1 ? '▲' + f_bars(b09) + s09 : a09 == -1 ? '▼' + f_bars(b09) + s09 : '■' + f_bars(b09) + s09 : ''
t10 = sh10 ? a10 == 1 ? '▲' + f_bars(b10) + s10 : a10 == -1 ? '▼' + f_bars(b10) + s10 : '■' + f_bars(b10) + s10 : ''
t11 = sh11 ? a11 == 1 ? '▲' + f_bars(b11) + s11 : a11 == -1 ? '▼' + f_bars(b11) + s11 : '■' + f_bars(b11) + s11 : ''
t12 = sh12 ? a12 == 1 ? '▲' + f_bars(b12) + s12 : a12 == -1 ? '▼' + f_bars(b12) + s12 : '■' + f_bars(b12) + s12 : ''
t13 = sh13 ? a13 == 1 ? '▲' + f_bars(b13) + s13 : a13 == -1 ? '▼' + f_bars(b13) + s13 : '■' + f_bars(b13) + s13 : ''
t14 = sh14 ? a14 == 1 ? '▲' + f_bars(b14) + s14 : a14 == -1 ? '▼' + f_bars(b14) + s14 : '■' + f_bars(b14) + s14 : ''
t15 = sh15 ? a15 == 1 ? '▲' + f_bars(b15) + s15 : a15 == -1 ? '▼' + f_bars(b15) + s15 : '■' + f_bars(b15) + s15 : ''
t16 = sh16 ? a16 == 1 ? '▲' + f_bars(b16) + s16 : a16 == -1 ? '▼' + f_bars(b16) + s16 : '■' + f_bars(b16) + s16 : ''
t17 = sh17 ? a17 == 1 ? '▲' + f_bars(b17) + s17 : a17 == -1 ? '▼' + f_bars(b17) + s17 : '■' + f_bars(b17) + s17 : ''
t18 = sh18 ? a18 == 1 ? '▲' + f_bars(b18) + s18 : a18 == -1 ? '▼' + f_bars(b18) + s18 : '■' + f_bars(b18) + s18 : ''
t19 = sh19 ? a19 == 1 ? '▲' + f_bars(b19) + s19 : a19 == -1 ? '▼' + f_bars(b19) + s19 : '■' + f_bars(b19) + s19 : ''
t20 = sh20 ? a20 == 1 ? '▲' + f_bars(b20) + s20 : a20 == -1 ? '▼' + f_bars(b20) + s20 : '■' + f_bars(b20) + s20 : ''
// Etiketleri ekle
if lb_sh
f_label(0, t00, c00)
if t01 != ''
f_label(1, t01, c01)
if t02 != ''
f_label(2, t02, c02)
if t03 != ''
f_label(3, t03, c03)
if t04 != ''
f_label(4, t04, c04)
if t05 != ''
f_label(5, t05, c05)
if t06 != ''
f_label(6, t06, c06)
if t07 != ''
f_label(7, t07, c07)
if t08 != ''
f_label(8, t08, c08)
if t09 != ''
f_label(9, t09, c09)
if t10 != ''
f_label(10, t10, c10)
if t11 != ''
f_label(11, t11, c11)
if t12 != ''
f_label(12, t12, c12)
if t13 != ''
f_label(13, t13, c13)
if t14 != ''
f_label(14, t14, c14)
if t15 != ''
f_label(15, t15, c15)
if t16 != ''
f_label(16, t16, c16)
if t17 != ''
f_label(17, t17, c17)
if t18 != ''
f_label(18, t18, c18)
if t19 != ''
f_label(19, t19, c19)
if t20 != ''
f_label(20, t20, c20)
Bank of America (BoFA) gibi büyük finansal kurumların kullandığı “robotlar” (yani otomatik işlem sistemleri, algoritmik traderlar veya quant sistemleri), yüksek teknolojiye dayalıdır ve aşağıdaki temel unsurlar üzerine inşa edilir:
Bu sistemler, belirli kurallara dayalı otomatik alım-satım işlemleri yapar. Kurallar genellikle şu parametrelerle belirlenir:
Örnek algoritmalar:
BoFA gibi kurumlar, veri madenciliği ve derin öğrenme kullanarak piyasa davranışlarını tahmin eder.
Yapay zekâ sistemleri:
| Sistem Tipi | Özelliği |
|---|---|
| Algo Trading | Kurallara dayalı otomatik alım-satım |
| HFT | Yüksek hız, düşük gecikmeli işlemler |
| AI / ML | Tahminleme, öğrenme, adaptasyon |
| Sentiment Botları | Haber akışına göre anlık pozisyon |
| Arbitrage | Borsa farklarını kâr fırsatına çevirme |
| Market Maker | Alım-satım farkından kâr elde etme |
| Risk Engine | Pozisyon ve portföy güvenliği |
Son Yorumlar