SDC

  • Menü
    • Teknik Analiz
    • BorsaPin
    • Bitmeyen Senfoni
    • Halet-i Ruhiye
    • Anlık Tepkiler
    • Teknoloji
    • Karma Karışık
  • Hakkında
  • İletişim
  • BorsaPin
  • Home
  • Menü
    • Teknik Analiz
    • BorsaPin
    • Bitmeyen Senfoni
    • Halet-i Ruhiye
    • Anlık Tepkiler
    • Teknoloji
    • Karma Karışık
  • Hakkında
  • İletişim
  • BorsaPin
sdc 209
Website

Kürşat Şentürk 1978 tarihinde doğdu. Türkiyenin İlk bilgisayar korsanlarından olup en meşhurudur. 31 Şubat 2014′te FBI tarafından yakalanmıştır. Microsoft , Fujitsu, Motorola, Nokia ve Sun Microsystems gibi şirketlerin bilgisayar ağlarına izinsiz girmekten suçlu bulunarak 3 yıl hapis cezası almıştır.

Hepsi yalan ..

Aşk siyahı beyaz görebilme körlüğüydü, biz siyahı hep beyaz gördük.”

01 Ağustos 2025 Anlık Tepkiler, Halet-i Ruhiye

 

Birlikte geçirdiğimiz kısa ama güzel anlar, dostluğunun ne kadar kıymetli olduğunu hep hatırlatacak bana. Sessizliğin artık çok daha derin, eksikliğin ise tarif edilemez…
Huzur içinde uyu, dostum. Seni hiç unutmayacağız.

Kitabında yer verdiğin cümlem içinde sonsuz teşekkürler..

“Aşk siyahı beyaz görebilme körlüğüydü,  biz siyahı hep beyaz gördük.”
O satırlarda ismimi anman, beni her zaman onurlandırdı..

Şiirlerin artık sensiz, sessiz ve sahipsiz…
Ama bil ki, her dizede seni yaşatmaya devam edeceğiz.
Hoşçakal Kel Adam..

 

Python ile Borsa İstanbul (BIST) Hisse Kapanış Verisi Çekme

01 Ağustos 2025 BorsaPin, Code is prority, PythonBIST hisse senedi verisi, BIST verisi otomatik çekme, borsa analiz otomasyonu, Excel'e hisse senedi yazdırma, pandas excel kaydetme, Python hisse senedi analizi, Python ile BIST verisi çekme, Python kapanış verisi indir, Python teknik analiz hazırlığı, yfinance Borsa İstanbul, yfinance Türk hisseleri

Finansal analiz ve algoritmik işlem geliştirmek isteyen herkesin ilk adımı, güvenilir hisse senedi kapanış verilerini elde etmektir. Bu veriler, teknik analizden sinyal üretimine kadar pek çok işlemin temelini oluşturur. Elinizdeki veriler ne kadar doğru ve güncelse, analizleriniz de o kadar isabetli olur.

Python ve yfinance kütüphanesi kullanılarak oluşturulmuş, Borsa İstanbul (BIST) hisselerine ait kapanış verilerini otomatik olarak indiren gelişmiş bir scripti detaylıca ele alacağız. Script, .xlsx formatında çıktılar üreterek analizlerinize doğrudan entegre edilebilir veriler sunar.

Kodun Amacı Nedir?

hisselistesi_txt.txt adlı dosyadan hisse senedi sembollerini okumak
Yahoo Finance üzerinden kapanış verilerini çekmek (yfinance)
Verileri işleyip Excel’e kaydetmek (pandas ve openpyxl)
Başarısız işlemleri tespit edip yeniden denemek
Kullanıcıya görsel ve metinsel özet rapor sunmak

Script’in öne çıkan teknik özellikler

Otomatik Hisse Formatlama
Yahoo Finance üzerinde işlem gören BIST hisseleri .IS uzantısına sahiptir.
Örneğin THYAO → THYAO.IS formatına otomatik olarak dönüştürülür.

Yeniden Deneme Mekanizması
Veri çekimi sırasında yaşanan geçici sorunlar için belirli aralıklarla otomatik yeniden deneme yapılır (max_retries, retry_delay).

 Excel Kaydı ve Türkçe Sütunlar
Çekilen veriler şu sütunlar ile .xlsx dosyasına kaydedilir:

Tarih  Açılış Yüksek Düşük Kapanış Hacim

Eksik Veri ve NaN Temizliği
İndirilen verilerdeki eksik veya bozuk kayıtlar otomatik olarak temizlenir. Bu sayede daha sağlıklı analizler yapılabilir.

Kullanıcı Dostu Konsol Çıktıları
colorama kütüphanesi sayesinde kullanıcıya renkli ve bilgilendirici çıktılar sunulur (örn. yeşil = başarı, kırmızı = hata).

Klasör Yapısı ve Çıktı
Kaydedilen dosyalar StokData/Kapanis/ klasörü altında saklanır. Her hisse senedi için ayrı bir Excel dosyası oluşturulur:
StokData/Kapanis/THYAO.xlsx gibi.

Kullanım Adımları
hisselistesi_txt.txt dosyasına BIST hisse sembollerini yazın (her satıra bir hisse, örn. AKBNK).
Temeli sağlam şirketleri listeleyebilirsiniz. Ya da belirli sektör yada endeks şirketlerin sembollerini de yazabilirsiniz. (XU100, XU030)

Scripti çalıştırdığınızda

Kapanış verileri indirilecek, işlenecek ve .xlsx olarak kaydedilecektir. Başarısız olan hisseler için sistem size yeniden deneme opsiyonu sunacaktır. Süreç sonunda konsolda özet rapor gösterilecektir.

Örnek Konsol Çıktısı

Veri çekiliyor: AKBNK (Deneme 1/3)…
✅ AKBNK verisi başarıyla kaydedildi.

Veri çekiliyor: THYAO (Deneme 1/3)…
❌ THYAO için hata (Deneme 1): Connection timed out.
⏳ 2 saniye bekleniyor…
…
===== ÖZET RAPOR =====
✅ Başarılı: 18
❌ Başarısız: 2
Başarı oranı: 90.0%
Başarısız hisseler: THYAO, TAVHL
Sonraki Adım

X_01_BorsaPin_StokData.py olarak kayıt edebilirsiniz.
Pyhon Kodumuz

import yfinance as yf
import os
import pandas as pd
from datetime import datetime, timedelta
from colorama import Fore, init
import time
from typing import List, Optional

"""
      Borsapin StokData Yahoo Finans Üzerinden Kapanış Datalarını çekmeye yarar
      www.kursatsenturk.com

      """
init(autoreset=True)


class StockDownloader:
    def __init__(self, max_retries: int = 3, retry_delay: int = 2):
        """
        Hisse senedi veri indirici sınıfı

        Args:
            max_retries: Maksimum yeniden deneme sayısı
            retry_delay: Denemeler arası bekleme süresi (saniye)
        """
        self.max_retries = max_retries
        self.retry_delay = retry_delay
        self.failed_tickers: List[str] = []
        self.successful_tickers: List[str] = []

    @staticmethod
    def read_tickers(file_path: str) -> List[str]:
        """Hisse kodlarını dosyadan okuma fonksiyonu"""
        try:
            with open(file_path, 'r', encoding='utf-8') as f:
                tickers = [line.strip() for line in f.readlines() if line.strip()]
            return tickers
        except FileNotFoundError:
            print(f"{Fore.RED}❌ {file_path} dosyası bulunamadı!")
            return []
        except Exception as e:
            print(f"{Fore.RED}❌ Dosya okuma hatası: {e}")
            return []

    @staticmethod
    def format_ticker(ticker: str) -> str:
        """Hisse sembolüne .IS eklemek"""
        if not ticker.endswith('.IS'):
            ticker = ticker + '.IS'
        return ticker

    @staticmethod
    def save_to_excel(data: pd.DataFrame, file_path: str) -> bool:
        """Veriyi Excel'e kaydetme fonksiyonu"""
        try:
            data.to_excel(file_path, index=False)
            return True
        except Exception as e:
            print(f"{Fore.RED}❌ Excel kaydetme hatası: {e}")
            return False

    def download_single_ticker(self, ticker: str, start_date: str, end_date: str, attempt: int = 1) -> bool:
        """Tek hisse için veri çekme fonksiyonu"""
        formatted_ticker = self.format_ticker(ticker)
        ticker_name = formatted_ticker.replace(".IS", "")

        print(f"{Fore.YELLOW} Veri çekiliyor: {ticker_name} (Deneme {attempt}/{self.max_retries})...")

        try:
            # Veri çekme
            stock_data = yf.download(
                formatted_ticker,
                start=start_date,
                end=end_date,
                progress=False,
                timeout=30,
                auto_adjust=True,  # Uyarıyı önlemek için explicit olarak True
                prepost=True,
                threads=True
            )

            if stock_data is None or stock_data.empty:
                raise ValueError("Veri boş veya None")

            # MultiIndex sütunlarını düzelt
            if isinstance(stock_data.columns, pd.MultiIndex):
                # MultiIndex'i tek seviyeye indir
                stock_data.columns = stock_data.columns.droplevel(1)

            # Sütun isimlerini temizle
            stock_data.columns = [str(col).strip() for col in stock_data.columns]

            # Veri işleme - sadece gerekli sütunları al
            required_columns = ['Open', 'High', 'Low', 'Close', 'Volume']
            available_columns = [col for col in required_columns if col in stock_data.columns]

            if not available_columns:
                raise ValueError("Gerekli sütunlar bulunamadı")

            stock_data = stock_data[available_columns]

            # Sayıları düzgün formatta işleme
            for column in stock_data.columns:
                if stock_data[column].dtype == 'object':
                    try:
                        stock_data[column] = pd.to_numeric(
                            stock_data[column].astype(str).str.replace(',', '.'),
                            errors='coerce'
                        )
                    except Exception:
                        continue

            # NaN değerleri temizle
            stock_data = stock_data.dropna()

            # Boş veri kontrolü
            if stock_data.empty:
                raise ValueError("İşlenen veri boş")

            # Dosya kaydetme
            folder_path = "StokData/Kapanis/"
            os.makedirs(folder_path, exist_ok=True)
            file_path = os.path.join(folder_path, f"{ticker_name}.xlsx")

            # Tarih formatı düzenleme
            stock_data_copy = stock_data.copy()

            # Index'i reset et ve tarih sütununu ekle
            stock_data_copy.reset_index(inplace=True)

            # Tarih sütunu varsa formatla
            if 'Date' in stock_data_copy.columns:
                stock_data_copy['Date'] = pd.to_datetime(stock_data_copy['Date']).dt.date
                stock_data_copy.rename(columns={"Date": "Tarih"}, inplace=True)

            # Sütun isimlerini Türkçeye çevirme
            column_mapping = {
                'Open': 'Açılış',
                'High': 'Yüksek',
                'Low': 'Düşük',
                'Close': 'Kapanış',
                'Volume': 'Hacim'
            }

            # Mevcut sütunları yeniden adlandır
            for eng_name, tr_name in column_mapping.items():
                if eng_name in stock_data_copy.columns:
                    stock_data_copy.rename(columns={eng_name: tr_name}, inplace=True)

            # Kaydetme
            if self.save_to_excel(stock_data_copy, file_path):
                print(f"{Fore.GREEN}✅ {ticker_name} verisi başarıyla kaydedildi.")
                return True
            else:
                raise Exception("Excel kaydetme başarısız")

        except Exception as e:
            print(f"{Fore.RED}❌ {ticker_name} için hata (Deneme {attempt}): {str(e)}")
            return False

    def download_with_retry(self, ticker: str, start_date: str, end_date: str) -> bool:
        """Yeniden deneme mekanizması ile veri çekme"""
        for attempt in range(1, self.max_retries + 1):
            if self.download_single_ticker(ticker, start_date, end_date, attempt):
                self.successful_tickers.append(ticker)
                return True

            if attempt < self.max_retries:
                print(f"{Fore.YELLOW}⏳ {self.retry_delay} saniye bekleniyor...")
                time.sleep(self.retry_delay)

        # Tüm denemeler başarısız
        self.failed_tickers.append(ticker)
        print(f"{Fore.RED} {ticker} için tüm denemeler başarısız!")
        return False

    def retry_failed_tickers(self, start_date: str, end_date: str) -> None:
        """Başarısız hisseleri tekrar deneme"""
        if not self.failed_tickers:
            print(f"{Fore.GREEN} Yeniden denenecek hisse yok!")
            return

        print(f"\n{Fore.CYAN} Başarısız {len(self.failed_tickers)} hisse tekrar deneniyor...")
        print(f"{Fore.CYAN}Başarısız hisseler: {', '.join(self.failed_tickers)}")

        retry_failed = []
        retry_successful = []

        # Başarısız hisselerin kopyasını al
        failed_copy = self.failed_tickers.copy()

        for ticker in failed_copy:
            print(f"\n{Fore.MAGENTA} Tekrar deneniyor: {ticker}")

            if self.download_with_retry(ticker, start_date, end_date):
                retry_successful.append(ticker)
                self.failed_tickers.remove(ticker)
            else:
                retry_failed.append(ticker)

        # Sonuçları yazdır
        if retry_successful:
            print(f"\n{Fore.GREEN}✅ Tekrar denemede başarılı: {', '.join(retry_successful)}")

        if retry_failed:
            print(f"\n{Fore.RED}❌ Hala başarısız: {', '.join(retry_failed)}")

    def save_failed_list(self, filename: str = "basarisiz_hisseler.txt") -> None:
        """Başarısız hisseleri dosyaya kaydet"""
        if self.failed_tickers:
            try:
                with open(filename, 'w', encoding='utf-8') as f:
                    f.write('\n'.join(self.failed_tickers))
                print(f"{Fore.YELLOW} Başarısız hisseler {filename} dosyasına kaydedildi.")
            except Exception as e:
                print(f"{Fore.RED}❌ Başarısız hisse listesi kaydetme hatası: {e}")

    def print_summary(self) -> None:
        """Özet rapor yazdır"""
        total = len(self.successful_tickers) + len(self.failed_tickers)
        success_rate = (len(self.successful_tickers) / total * 100) if total > 0 else 0

        print(f"\n{Fore.CYAN} ===== ÖZET RAPOR =====")
        print(f"{Fore.GREEN}✅ Başarılı: {len(self.successful_tickers)}")
        print(f"{Fore.RED}❌ Başarısız: {len(self.failed_tickers)}")
        print(f"{Fore.BLUE} Başarı oranı: {success_rate:.1f}%")

        if self.failed_tickers:
            print(f"{Fore.RED} Başarısız hisseler: {', '.join(self.failed_tickers)}")

    def main(self) -> None:
        """Ana fonksiyon"""
        print(f"{Fore.CYAN} Veri çekme başlıyor...")

        # Parametreler
        tickers = self.read_tickers("hisselistesi_txt.txt")
        if not tickers:
            print(f"{Fore.RED}❌ Hisse listesi okunamadı, işlem sonlandırılıyor.")
            return

        start_date = '2020-01-01'
        end_date = (datetime.today() + timedelta(days=1)).strftime('%Y-%m-%d')

        print(f"{Fore.BLUE} Tarih aralığı: {start_date} - {end_date}")
        print(f"{Fore.BLUE} Toplam hisse sayısı: {len(tickers)}")
        print(f"{Fore.BLUE} Maksimum deneme sayısı: {self.max_retries}")
        print(f"{Fore.BLUE}⏱️ Deneme arası bekleme: {self.retry_delay} saniye\n")

        # İlk deneme
        for i, ticker in enumerate(tickers, 1):
            print(f"\n{Fore.BLUE}[{i}/{len(tickers)}] İşleniyor...")
            self.download_with_retry(ticker, start_date, end_date)

        # Başarısız hisseleri tekrar deneme
        if self.failed_tickers:
            user_input = input(
                f"\n{Fore.YELLOW}❓ Başarısız {len(self.failed_tickers)} hisseyi tekrar denemek istiyor musunuz? (e/h): "
            ).lower().strip()

            if user_input in ['e', 'evet', 'y', 'yes']:
                self.retry_failed_tickers(start_date, end_date)

        # Sonuçları kaydet ve yazdır
        self.save_failed_list()
        self.print_summary()

        print(f"\n{Fore.GREEN} İşlem tamamlandı!")


# Kullanım
if __name__ == "__main__":
    # Özelleştirilebilir parametreler
    downloader = StockDownloader(
        max_retries=3,  # Maksimum deneme sayısı
        retry_delay=2  # Denemeler arası bekleme süresi (saniye)
    )

    downloader.main()

 

Bu script, ileri seviye analizlerin temelini oluşturur. Bir sonraki yazımızda, bu verileri kullanarak:

5 8 13 21 34 55 89 144 233 370  EMA  seviyelerini hesaplayan  EMAs script yayınlayacağım.

Ve yatırım kararları için Python tabanlı teknik analiz sistemleri geliştirmeye devam edeceğiz.

Python ile Borsa Verilerine Giriş: Gerekli Kütüphanelerin Otomatik Kurulumu

01 Ağustos 2025 BorsaPin, Python, Teknik AnalizBorsa İstanbul Python verisi, hisse senedi verisi çekme, openpyxl ile Excel yazma, pandas Excel işlemleri, Python borsa analizi, Python finans kütüphaneleri, Python finansal göstergeler, Python ile BIST verisi çekme, Python ile finansal veri analizi, Python otomatik kütüphane yükleme, Python teknik analiz, Python yatırım sinyalleri, teknik analiz Python scripti, yfinance ile hisse verisi çekme

Finansal analiz projelerinde Python, sunduğu zengin kütüphane ekosistemi ile güçlü bir araçtır. Borsa İstanbul (BIST) hisselerine ait kapanış verilerini çekmek ve bu veriler üzerinden teknik sinyaller üretmek için öncelikle bazı temel Python kütüphanelerine ihtiyaç duyarız.
Bu yazıda, gerekli kütüphanelerin sisteminizde yüklü olup olmadığını kontrol eden ve eksik olanları otomatik olarak kuran bir Python scriptini ele alacağız. Bu adım, ileri aşamalarda Borsa İstanbul Kapanış ve Hacim verilerini çekme ve analiz etme işlemleri için altyapı hazırlığı niteliğindedir.

Kullanılan Kütüphaneler

Aşağıdaki kütüphaneler, veri çekme ve analiz süreçlerinde kullanılacaktır:

pandas: Veri manipülasyonu ve analiz için temel kütüphane.
numpy: Sayısal hesaplamalar için kullanılır.
colorama: Konsolda renkli yazı yazmak için kullanılır (bilgilendirici çıktılar için).
yfinance: Yahoo Finance üzerinden hisse senedi verilerini çekmeye yarar.
openpyxl: Excel dosyaları oluşturmak ve düzenlemek için kullanılır.

Kod özetle şunları yapar:
1. Belirlenen `required_packages` listesinde yer alan kütüphanelerin sistemde kurulu olup olmadığını kontrol eder.
2. Eğer bir kütüphane yüklü değilse, `pip install` komutu ile yükler.
3. Her bir paket için yükleme durumu kullanıcıya yazdırılır.

GerekliKütüphaneler.py diye kayıt edebilirsiniz.

Python Kodu

import subprocess
import sys

# Gerekli kütüphaneler listesi
required_packages = [
"pandas",
"numpy",
"colorama",
"yfinance",
"openpyxl"
]

def install_missing_packages():
for package in required_packages:
try:
__import__(package)
print(f"{package} zaten yüklü.")
except ImportError:
print(f"{package} eksik, yükleniyor...")
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

if __name__ == "__main__":
install_missing_packages()

 

Sonraki Adımlar
Eğer farklı bir kütüphaneye ihtiyaç duyduğumuzda bu betiğe ekleme yapacağız.
Şimdi bu temel kurulumu yaptıktan sonra, aşağıdaki adımlarla devam edeceğiz:

Borsa İstanbul Hisse Verilerinin Çekilmesi
yfinance kütüphanesini kullanarak BIST hisselerine ait günlük kapanış verilerini çekeceğiz. (2 Ocak 2020 tarihinden itibaren)

Verilerin Excel’e Aktarılması
pandas ve openpyxl kütüphaneleri sayesinde çekilen veriler .xlsx formatında saklanacak.

Teknik Göstergeler ve Sinyallerin Hesaplanması
EMA, EMA ALIGNMENT (İdeal Ema, Ema Sıralama), WaveTrend, Günlük Haftalık Aylık Yıllık Pivot, Lineer Regresyon kanalları gibi göstergeleri hesaplayıp, yatırım kararlarında kullanılabilecek potansiyel al/sat sinyallerinide analiz edeceğiz.

Sonuç olarak bu script, Python tabanlı finansal veri analizlerine başlamadan önce gerekli kütüphaneleri yükleyerek ortam hazırlığını otomatikleştirir. Böylece kullanıcılar doğrudan veri çekme ve analiz etme adımlarına geçebilirler.

Python ve PyCharm Kurulumu: Başlangıç Rehberi

01 Ağustos 2025 Code is prority, Python, Teknik AnalizBIST hisse verileri, Borsa analiz, Ema Alignment, EMA hesaplama, Excel borsa analiz, hisse senedi analizi, lineer regresyon kanalı, osilatör analizi, otomatik hisse tarama, Pearson korelasyonu, PyCharm, PyCharm kurulumu, Python, Python başlangıç rehberi, Python borsa verisi çekme, Python Excel çıktısı, Python kurulumu, teknik analiz Python, wave trend sinyali, Yahoo Finance Python

Python, günümüzün en popüler programlama dillerinden biridir. Veri bilimi, yapay zeka, web geliştirme, otomasyon ve daha birçok alanda yaygın olarak kullanılır. Bu makalede, Python’u bilgisayarınıza nasıl kuracağınızı ve PyCharm adlı güçlü bir geliştirme ortamını (IDE) nasıl kullanmaya başlayacağınızı adım adım öğreneceksiniz.

Python Nedir?
Python, okunabilirliği yüksek, öğrenmesi kolay ve güçlü bir programlama dilidir. Açık kaynaklıdır ve çok geniş bir kullanıcı topluluğuna sahiptir.

Python Kurulumu

Adım 1: Python Web Sitesine Gidin
Tarayıcınızda https://www.python.org adresine gidin.

Adım 2: Python Sürümünü İndirin

Ana sayfadaki “Download Python X.X.X” (örneğin 3.13.5) butonuna tıklayın. İşletim sisteminiz otomatik olarak algılanır (Windows, macOS veya Linux).

Adım 3: Kurulum Dosyasını Çalıştırın

İndirilen .exe dosyasını çalıştırın.

Kurulum ekranında mutlaka “Add Python to PATH” seçeneğini işaretleyin.

Ardından “Install Now” seçeneğine tıklayın.

Adım 4: Kurulumu Doğrulayın

Başlat Menüsü > Komut İstemi’ni (cmd) açın ve şu komutu yazın:

python –version
Python sürümünüzün yazıldığını görüyorsanız kurulum başarılıdır.

PyCharm Kurulumu

PyCharm Nedir?

PyCharm, Python için özel olarak geliştirilmiş bir IDE’dir. Kod yazmayı, çalıştırmayı, hata ayıklamayı ve projeleri yönetmeyi kolaylaştırır.

Adım 1: PyCharm Web Sitesine Gidin

https://www.jetbrains.com/pycharm adresini ziyaret edin.

Adım 2: Sürüm Seçimi

İki farklı sürüm vardır:

Community (Ücretsiz) – Başlangıç için yeterlidir.

Professional (Ücretli) – Web geliştirme, veri bilimi gibi ek özellikler içerir.

Community Edition’ı indirin.

Adım 3: Kurulumu Başlatın

İndirilen kurulum dosyasını açın ve yönergeleri takip ederek PyCharm’ı kurun.

Kurulum sırasında aşağıdaki seçenekleri işaretleyebilirsiniz:

64-bit launcher ekle

.py dosyalarını PyCharm ile ilişkilendirin

Adım 4: İlk Çalıştırma

Kurulum tamamlandıktan sonra PyCharm’ı başlatın ve tema (açık/koyu) gibi başlangıç ayarlarını yapın.

İlk Python Projeni Oluşturma

PyCharm’ı açın ve “New Project” seçeneğini seçin.

Projeye bir ad verin (örneğin: ilk_proje).

Python interpreter (yürütücü) olarak daha önce kurduğunuz Python sürümünü seçin.  (Mesela venv)

main.py adlı bir dosya oluşturun ve şu kodu yazın:

python

print(“Merhaba, Python dünyası!”)

Sağ üstteki yeşil “Run” (Çalıştır) butonuna tıklayarak kodunuzu çalıştırın.

Ek Tavsiyeler

PyCharm kısayollarına zamanla alışmak size büyük hız kazandırır.
Terminal kullanarak pip komutu ile paketler kurabilirsiniz.

Örneğin: pip install numpy
Virtual environment (sanallaştırılmış çalışma ortamı) kullanmak projelerinizi izole tutar ve karışıklığı önler.

Bir Sonraki Adımda Neler Var?

İzleyen makalelerde, Python kullanarak Yahoo Finance üzerinden BIST Spot hisse senetlerinin kapanış verilerini nasıl çekeceğimizi adım adım öğreneceğiz. Elde ettiğimiz bu verileri Excel formatında kaydederek, şu analizleri gerçekleştireceğiz:

Farklı periyotlara göre EMA (Üssel Hareketli Ortalama) hesaplamaları

Osilatör ve momentum göstergeleri

EMA Alignment analizi (ideal dizilim ve sapma durumları)

WaveTrend tabanlı sinyal üretimi

Belirli periyotlarda Doğrusal Regresyon (Linear Regression Channel) hesaplamaları

Her hisse için bu analizlerin Pearson korelasyon katsayısı ile değerlendirilmesi

Tüm bu analiz sonuçlarını Python ile  tasarlanmış Excel şablonlarına aktararak, hisse senetlerinin teknik durumlarını görsel olarak kolayca takip edebileceğiniz tarama dosyaları oluşturabileceksiniz.

Pine Script ile Günlük, Haftalık, Aylık ve Yıllık Pivot Noktaları Gösteren Gelişmiş Tablo İndikatörü

27 Temmuz 2025 BorsaPin, Code is prority, İndikatör, Pine Scriptgüncel destek direnç seviyeleri, klasik fibonacci woodie pivot hesaplama, pine script ile pivot indikatörü, pivot noktaları nasıl hesaplanır, teknik analiz destek direnç tablosu, tradingview pivot destek direnç göstergesi

 

Pivot noktaları, teknik analizde sıklıkla kullanılan ve bir varlığın olası destek ve direnç seviyelerini belirlemek için kullanılan matematiksel seviyelerdir. Bu seviyeler, yatırımcılara alım-satım kararlarında yardımcı olan önemli araçlardan biridir.

TradingView platformu üzerinde Pine Script ile geliştirilen ve grafik üzerinde çizim yapmadan sadece tablo formatında çalışan gelişmiş bir pivot analiz aracını tanıtacağız. Ayrıca kullanıcıların tercihlerine göre Klasik, Fibonacci veya Woodie pivot yöntemlerinden birini seçerek analiz yapabilmesi mümkün olacak. Youtubeda ki bir çok yayıncının yaptığı gibi bilgiyi para karşılığı satan bir zihniyette olmadığım için ücretsiz bir şekilde yararlanabilirsiniz.

İndikatörün Özellikleri

Zaman Dilimi Seçimi: Günlük, Haftalık, Aylık ve Yıllık pivot seviyeleri hesaplanır.

Yöntem Seçimi: Kullanıcı, Klasik, Fibonacci veya Woodie hesaplama yöntemlerinden birini tercih edebilir.

Tablo Üzerinden Görselleştirme: Pivot, 3 destek ve 3 direnç seviyesi; ilgili zaman dilimi ve yönteme göre tablo halinde görüntülenir.

Kapanış Bekleme Opsiyonu: Haftalık, aylık ve yıllık mum kapanışları henüz gerçekleşmediyse, bir önceki dönemin verileri kullanılır. Ancak kullanıcı, ayarlardan  Güncel veriyi kullanmak isterse bu seçeneği  pasifleştirerek o anki mum verileriyle hesaplama yapabilir.

Pivot Noktaları Nasıl Hesaplanır?

1. Klasik Pivot (Classic Pivot)

P = (High + Low + Close) / 3
R1 = (2 * P) – Low
S1 = (2 * P) – High
R2 = P + (High – Low)
S2 = P – (High – Low)
R3 = High + 2*(P – Low)
S3 = Low – 2*(High – P)

2. Fibonacci Pivot

P = (High + Low + Close) / 3
R1 = P + 0.382 * (High – Low)
R2 = P + 0.618 * (High – Low)
R3 = P + 1.000 * (High – Low)
S1 = P – 0.382 * (High – Low)
S2 = P – 0.618 * (High – Low)
S3 = P – 1.000 * (High – Low)

3. Woodie Pivot

P = (High + Low + 2 * Close) / 4
R1 = (2 * P) – Low
S1 = (2 * P) – High
R2 = P + (High – Low)
S2 = P – (High – Low)
R3 = High + 2*(P – Low)
S3 = Low – 2*(High – P)

Kullanım Şekli

TradingView’de yeni bir Pine Script oluşturun.

Kodunuzu yapıştırarak çalıştırın.

İndikatör, grafikte herhangi bir çizim yapmaz. Ancak ekranın sağ üst köşesinde pivot değerlerini detaylı bir şekilde gösteren bir tablo oluşturur.

Ayarlar kısmından:

Pivot türünü (Classic, Fibonacci, Woodie)

Zaman dilimini (Günlük, Haftalık , Aylık, Yıllık)

Text uzantılı dosya olarak indirmek isterseniz buraya tıklayın.

Trading View Günlük haftalık Aylık Yıllık PivotTablo Pine Script Kodu

// Bu, Pine Script™ kodu Mozilla Kamu Lisansı 2.0 (MPL-2.0) altında lisanslandı
// © krstsntrk © BorsaPin code is priority
//@version=5
indicator(title = 'BorsaPin Pivot Sistem', shorttitle = 'BorsaPin Pivot Sistem', overlay = true)

// === Kullanıcı Ayarları ===
pivotType = input.string("Woodie", title="Pivot Tipi", options=["Classic", "Fibonacci", "Woodie"])
useCurrentBar = input.bool(true, title="Kapanış Bekleme Opsiyonu (Açık mum yerine önceki kapanışı kullanır.)")
showDaily = input.bool(true, title="Günlük Pivot Göster")
showWeekly = input.bool(true, title="Haftalık Pivot Göster")
showMonthly = input.bool(true, title="Aylık Pivot Göster")
showYearly = input.bool(true, title="Yıllık Pivot Göster")

// === Zaman Aralığına Göre High/Low/Close ===
getHigh(_tf) => useCurrentBar ? request.security(syminfo.tickerid, _tf, high) : request.security(syminfo.tickerid, _tf, high[1])
getLow(_tf) => useCurrentBar ? request.security(syminfo.tickerid, _tf, low) : request.security(syminfo.tickerid, _tf, low[1])
getClose(_tf) => useCurrentBar ? request.security(syminfo.tickerid, _tf, close) : request.security(syminfo.tickerid, _tf, close[1])

// === Pivot Hesaplayıcı Fonksiyon ===
calcPivots(high_, low_, close_, _type) =>
    pivot = 0.0
    r1 = 0.0
    r2 = 0.0
    r3 = 0.0
    s1 = 0.0
    s2 = 0.0
    s3 = 0.0

    if _type == "Classic"
        pivot := (high_ + low_ + close_) / 3
        r1 := 2 * pivot - low_
        s1 := 2 * pivot - high_
        r2 := pivot + (high_ - low_)
        s2 := pivot - (high_ - low_)
        r3 := high_ + 2 * (pivot - low_)
        s3 := low_ - 2 * (high_ - pivot)

    else if _type == "Fibonacci"
        pivot := (high_ + low_ + close_) / 3
        r1 := pivot + 0.382 * (high_ - low_)
        r2 := pivot + 0.618 * (high_ - low_)
        r3 := pivot + 1.000 * (high_ - low_)
        s1 := pivot - 0.382 * (high_ - low_)
        s2 := pivot - 0.618 * (high_ - low_)
        s3 := pivot - 1.000 * (high_ - low_)

    else if _type == "Woodie"
        pivot := (high_ + low_ + 2 * close_) / 4
        r1 := (2 * pivot) - low_
        s1 := (2 * pivot) - high_
        r2 := pivot + (high_ - low_)
        s2 := pivot - (high_ - low_)
        r3 := high_ + 2 * (pivot - low_)
        s3 := low_ - 2 * (high_ - pivot)

    [pivot, r1, r2, r3, s1, s2, s3]

// === Her Zaman Dilimi İçin High / Low / Close Al ===
dH = getHigh("D")
dL = getLow("D")
dC = getClose("D")

wH = getHigh("W")
wL = getLow("W")
wC = getClose("W")

mH = getHigh("M")
mL = getLow("M")
mC = getClose("M")

yH = getHigh("12M")
yL = getLow("12M")
yC = getClose("12M")

// === Pivotları Hesapla ===
[dP, dR1, dR2, dR3, dS1, dS2, dS3] = calcPivots(dH, dL, dC, pivotType)
[wP, wR1, wR2, wR3, wS1, wS2, wS3] = calcPivots(wH, wL, wC, pivotType)
[mP, mR1, mR2, mR3, mS1, mS2, mS3] = calcPivots(mH, mL, mC, pivotType)
[yP, yR1, yR2, yR3, yS1, yS2, yS3] = calcPivots(yH, yL, yC, pivotType)

// === Tablo Oluştur ===
var table pivotTable = table.new(position.top_right, 8, 20, border_width=1)

// === Başlıklar ===
if bar_index % 10 == 0
    table.cell(pivotTable, 0, 0, "Zaman", text_color=color.black, bgcolor=color.gray)
    table.cell(pivotTable, 1, 0, "P", text_color=color.navy)
    table.cell(pivotTable, 2, 0, "R1", text_color=color.lime)
    table.cell(pivotTable, 3, 0, "R2", text_color=color.lime)
    table.cell(pivotTable, 4, 0, "R3", text_color=color.lime)
    table.cell(pivotTable, 5, 0, "S1", text_color=color.red)
    table.cell(pivotTable, 6, 0, "S2", text_color=color.red)
    table.cell(pivotTable, 7, 0, "S3", text_color=color.red)

// === Veri Satırı Ekleme Fonksiyonu ===
addRow(idx, label, p, r1, r2, r3, s1, s2, s3) =>
    table.cell(pivotTable, 0, idx, label, text_color=color.black)
    table.cell(pivotTable, 1, idx, str.tostring(p, format.mintick))
    table.cell(pivotTable, 2, idx, str.tostring(r1, format.mintick))
    table.cell(pivotTable, 3, idx, str.tostring(r2, format.mintick))
    table.cell(pivotTable, 4, idx, str.tostring(r3, format.mintick))
    table.cell(pivotTable, 5, idx, str.tostring(s1, format.mintick))
    table.cell(pivotTable, 6, idx, str.tostring(s2, format.mintick))
    table.cell(pivotTable, 7, idx, str.tostring(s3, format.mintick))

// === Tabloda Göster ===
row = 1
if showDaily
    addRow(row, "Günlük", dP, dR1, dR2, dR3, dS1, dS2, dS3)
    row += 1
if showWeekly
    addRow(row, "Haftalık", wP, wR1, wR2, wR3, wS1, wS2, wS3)
    row += 1
if showMonthly
    addRow(row, "Aylık", mP, mR1, mR2, mR3, mS1, mS2, mS3)
    row += 1
if showYearly
    addRow(row, "Yıllık", yP, yR1, yR2, yR3, yS1, yS2, yS3)

 

Bank of America (BoFA) gibi büyük finansal kurumların robotları nasıl çalışır.

22 Temmuz 2025 BorsaPinC++, Compliance, Data Ingestion, Java, KDB+/q, LSTM, Machine Learning ve AI, Python, PyTorch, Redis, Statistical Arbitrage, TensorFlow



Bank of America (BoFA) gibi büyük finansal kurumların robotları (otomatik alım-satım sistemleri, “trading bots”) çok katmanlı, yüksek teknolojiye dayalı ve sürekli güncellenen yapılarla çalışır. Aşağıda bu robotların nasıl çalıştığını ana başlıklarla özetleyeceğim.


1. Veri Toplama (Data Ingestion)

  • Gerçek zamanlı fiyat verisi (Level 1/2 order book, tick-by-tick).
  • Temel veriler: bilanço, gelir tablosu, makroekonomik göstergeler.
  • Haber akışı: Reuters, Bloomberg, sosyal medya sentiment analizi.
  • Alternatif veriler: uydu görüntüleri, lojistik verileri, tüketici verisi.

2. Algoritma Türleri

a. Statistical Arbitrage (StatArb)

  • Farklı piyasalardaki fiyat sapmalarından kar elde etmeye çalışır.
  • Cointegration, mean reversion, pairs trading gibi yöntemler kullanılır.

b. Market Making

  • Alım ve satım arasında sürekli fiyat teklifi verir.
  • Hızlı işlem (latency < 1 ms) ile küçük farklardan kâr sağlar.

c. Trend Following / Momentum

  • Teknik göstergeler (EMA, RSI, MACD) veya fiyat hareketleriyle pozisyon açar.
  • Genellikle daha uzun zaman dilimlerine dayanır.

d. Machine Learning ve AI

  • Derin öğrenme, reinforcement learning gibi tekniklerle karar verir.
  • Örn: LSTM ile zaman serisi tahmini, transformer ile haber analizi.

e. Execution Algoritmaları

  • VWAP, TWAP, POV gibi algoritmalar büyük emirleri piyasa etkisi yaratmadan parçalara bölerek işler.

3. Karar Alma ve Uygulama Süreci

  1. Sinyal üretimi: Model, al/sat/sus gibi kararlar üretir.
  2. Risk kontrolü: Pozisyon boyutu, kaldıraç, stop loss limitleri kontrol edilir.
  3. Order Routing: En uygun borsaya veya likidite sağlayıcısına yönlendirilir.
  4. Gerçek zamanlı izleme: Tüm sistem anlık olarak izlenir, anomaliler tespit edilir.

4. Yapısal Özellikler

  • Ultra düşük gecikme: New York–London arası fiber-optik hatlar veya mikrodalga iletişim.
  • Kolokasyon: Borsa sunucularına fiziksel olarak en yakın lokasyonlarda işlem yapılır.
  • Yüksek frekanslı işlem (HFT): Milyonlarca işlem/gün mümkün.

5. Denetim ve Uyum (Compliance)

  • Algoritmalar sürekli olarak düzenleyici kurallara uygunluk açısından izlenir.
  • Anormal davranışlar (manipülasyon, spoofing) algoritma tarafından engellenir.

6. Geliştirme Süreci

  • Kuant analistleri, yazılımcılar ve risk yöneticileri birlikte çalışır.
  • Algoritmalar önce backtest, sonra paper trading, en son da canlı işlem ortamına alınır.

Örnek Kullanılan Teknolojiler:

  • Python, C++, Java: Algoritma geliştirme
  • KDB+/q, Redis: Hızlı veri erişimi
  • TensorFlow, PyTorch: Yapay zeka modelleri
  • FIX protokolü: Emir iletimi
  • GPU/FPGA: Yüksek işlem gücü için

Fibonacci Düzeltme ve Genişleme Seviyeleri: Teknik Analizde Kullanımı ve Stratejik Önemi

21 Temmuz 2025 BorsaPin, Teknik AnalizFibonacci, Fibonacci + Trend Takibi, Fibonacci Düzeltme (Retracement) Seviyeleri, Fibonacci Genişleme (Extension) Seviyeleri, Fibonacci seviyeleri, golden ratio, long pozisyon

Teknik analizde en çok kullanılan araçlardan biri olan Fibonacci seviyeleri, doğadaki oransal düzeni finansal piyasalara taşıyan güçlü bir analiz yöntemidir. Fiyatların belirli oranlarda düzeltme veya genişleme yapma eğilimi olduğu düşüncesiyle, Fibonacci seviyeleri yatırımcılara hem trend takibi hem de geri çekilme (pullback) noktalarında stratejik kararlar alma imkânı sunar. Bu yazıda, Fibonacci dizisinin mantığı, düzeltme ve genişleme seviyeleri, hesaplama yöntemleri ve pratik kullanım alanlarını detaylı bir şekilde ele alacağız.


Fibonacci Dizisi Nedir?

Fibonacci dizisi, her sayının kendisinden önce gelen iki sayının toplamı olduğu bir sayı serisidir:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

Bu diziden türeyen bazı altın oranlar (golden ratio) teknik analizde kullanılır:

0.236
0.382
0.500 (teknik analizde psikolojik oran olarak kabul edilir)
0.618 (Altın Oran)
0.786
1.000
1.272
1.618
2.618, vb.

Fibonacci Düzeltme (Retracement) Seviyeleri

Trendin tersine yapılan düzeltmeleri ölçmek için kullanılır. Yatırımcılar, fiyatın bu oranlara kadar geri çekilip ardından trend yönünde devam etmesini bekler.

Nasıl Hesaplanır?

Bir yükseliş trendinde:

  • Başlangıç noktası: dip seviye
  • Bitiş noktası: tepe seviye
    (veya tersi bir düşüş trendinde)

Örneğin fiyat 100’den 200’e çıktıysa, düzeltme seviyeleri:

  • 0.236: 200 − (100 × 0.236) = 176.4
  • 0.382: 200 − (100 × 0.382) = 161.8
  • 0.618: 200 − (100 × 0.618) = 138.2

Fibonacci Genişleme (Extension) Seviyeleri

Fiyatın mevcut trend yönünde devam edeceği potansiyel hedef seviyeleri tahmin etmek için kullanılır. Genellikle 1.272, 1.618, 2.618 gibi oranlar kullanılır.

Kullanım Şekli:

  1. Dip → Tepe → Düzeltme noktası belirlenir.
  2. Fiyatın trend yönünde hangi seviyelere uzanabileceği tahmin edilir.

Teknik Analizde Kullanım Alanları

1. Destek ve Direnç Bölgeleri

Fibonacci seviyeleri, potansiyel destek (aşağı yönlü) ve direnç (yukarı yönlü) alanlarını gösterir. Fiyat bu seviyelere yaklaştıkça tepki verme olasılığı artar.

2. Geri Çekilme Noktası Tespiti

Trend devam ederken fiyat düzeltme yapar. Bu düzeltmenin sona erip trendin devam edeceği seviyeler Fibonacci oranları ile tahmin edilir.

3. Hedef Belirleme

Bir pozisyona girdikten sonra kar al (take-profit) seviyeleri, genişleme oranları kullanılarak belirlenebilir.

4. Risk Yönetimi

Stop-loss noktaları, genellikle fibonacci seviyeleri altına yerleştirilerek daha mantıklı ve ölçülebilir riskler alınır.


Fibonacci ile Diğer Göstergelerin Birlikte Kullanımı

Fibonacci seviyeleri çoğu zaman EMA, RSI, MACD, trend çizgileri, formasyonlar veya harmonik desenlerle birlikte kullanılır. Bu kombinasyonlar, daha güçlü alım-satım sinyalleri üretir.

Örnek:

  • RSI aşırı satımda iken fiyat 0.618 seviyesine geliyorsa → tepki alımı beklenebilir
  • 0.382 seviyesi ile EMA kesişimi varsa → çift teyitli destek oluşabilir

Dikkat Edilmesi Gerekenler

  • Fibonacci seviyeleri her zaman kesin dönüş noktaları değildir.
  • Psikolojik seviyelerle çakışmaları daha anlamlı sinyaller doğurur.
  • Yatay piyasalarda etkisiz kalabilir.
  • Sadece Fibonacci’ye dayalı işlem yapmak risklidir. Çoklu teyit sistemleri önerilir.

Strateji Örneği: Fibonacci + Trend Takibi

  1. Yükselen trend belirlenir.
  2. Tepe ve dip noktası işaretlenerek fibonacci çizilir.
  3. Fiyat düzeltme yapar ve 0.618 seviyesine gelir.
  4. RSI aşırı satımda ve hacim artışı varsa, long pozisyon açılır.
  5. Hedef: 1.618 seviyesi
  6. Stop-loss: 0.786 seviyesinin altında

Sonuç

Fibonacci seviyeleri, teknik analizde fiyatların olası geri çekilme ve ilerleme noktalarını belirlemede oldukça etkili ve yaygın kullanılan araçlardandır. Doğru bir şekilde kullanıldığında, alım-satım stratejilerine disiplin, hedef ve netlik kazandırır. Ancak her göstergede olduğu gibi, Fibonacci seviyeleri de tek başına yeterli değildir; mutlaka diğer analiz teknikleriyle birlikte kullanılmalı ve piyasa koşulları göz önünde bulundurularak esnek bir bakış açısıyla değerlendirilmelidir.

Günlük, Haftalık, Aylık ve Yıllık Pivot, Destek ve Direnç Bölgelerinin Önemi ve Teknik Analizde Kullanımı

21 Temmuz 2025 BorsaPin, Teknik AnalizAylık Pivot, Günlük Pivot, Haftalık Pivot, kırılma ya da dönüş bölgesi, negatif trend, pivot, pozitif trend, Stop-Loss, Take-Profit, Yıllık Pivot

Teknik analizde pivot noktaları, yatırımcıların potansiyel destek ve direnç seviyelerini belirlemek için kullandığı güçlü araçlardır. Bu seviyeler, fiyatın yönü hakkında ipuçları sunar ve stratejik alım-satım kararlarında kritik rol oynar. Günlük, haftalık, aylık ve yıllık pivot seviyeleri, farklı zaman dilimlerinde yatırım yapan trader’lara piyasanın genel yönü hakkında fikir verir. Bu yazıda, bu seviyelerin nasıl hesaplandığı, hangi amaçlarla kullanıldığı ve teknik analiz stratejilerindeki yerini ele alacağız.

1. Pivot Noktaları Nedir?

Pivot noktaları, önceki zaman diliminin yüksek (High), düşük (Low) ve kapanış (Close) fiyatlarının ortalaması alınarak hesaplanır. Bu noktalar temel alınarak destek (S1, S2, S3) ve direnç (R1, R2, R3) seviyeleri belirlenir.

Temel Pivot Formülü:

Pivot = (High + Low + Close) / 3

Ardından destek ve direnç seviyeleri şu şekilde hesaplanır:

  • R1 = (2 × Pivot) − Low
  • S1 = (2 × Pivot) − High
  • R2 = Pivot + (High − Low)
  • S2 = Pivot − (High − Low)
  • R3 = High + 2 × (Pivot − Low)
  • S3 = Low − 2 × (High − Pivot)

2. Günlük Pivot Seviyeleri

Günlük pivot seviyeleri, bir önceki işlem gününün fiyat verileriyle hesaplanır. Kısa vadeli işlem yapanlar için önemlidir.

Kullanım Alanları:

  • Gün içi alım-satım stratejilerinde yön belirleme.
  • Destek ve direnç seviyelerini anlık takip.

3. Haftalık Pivot Seviyeleri

Haftalık pivotlar, bir önceki haftanın verilerine göre hesaplanır. Swing trader’lar için daha uygundur.

Kullanım Alanları:

  • Orta vadeli yön belirleme.
  • Haftalık stratejik giriş ve çıkış seviyelerini belirleme.

4. Aylık Pivot Seviyeleri

Aylık pivot seviyeleri, uzun vadeli trader ve yatırımcılar için önemli sinyaller verir. Büyük trendleri analiz etmekte kullanılır.

Kullanım Alanları:

  • Uzun vadeli destek/direnç seviyeleri.
  • Stratejik pozisyon planlaması.

5. Yıllık Pivot Seviyeleri

Yıllık pivotlar, özellikle büyük fonlar, kurumsal yatırımcılar veya portföy yöneticileri için uzun vadeli yatırım kararlarında dikkate alınır.

Kullanım Alanları:

  • Yıllık destek ve dirençlerin belirlenmesi.
  • Uzun vadeli trendin yönü hakkında fikir sahibi olunması.

6. Pivot Seviyeleri ile Strateji Geliştirme

Piyasa fiyatı pivot seviyesinin üzerindeyse, bu durum yükseliş eğilimine; altındaysa düşüş eğilimine işaret edebilir.

Basit Strateji Örneği:

  • Fiyat Pivot’un üzerindeyse → alım düşünülür.
  • Fiyat Pivot’un altındaysa → satış düşünülür.
  • Hedefler → R1, R2, R3
  • Zarar kes (stop loss) → S1, S2, S3

7. Pivot Noktalarının Avantajları

  • Nispeten basit hesaplanabilir.
  • Tüm trader’lar için uygulanabilir.
  • Destek ve dirençleri objektif olarak sunar.

8. Pivot Noktaları ile İlgili Uyarılar

  • Tek başına kullanmak yerine diğer indikatörlerle birlikte değerlendirilmelidir (EMA, RSI, MACD vb.).
  • Fiyat, destek ya da direnç seviyelerini her zaman net bir şekilde kırmayabilir. Fiyatların bu seviyelere tepki verme şekli önemlidir.

9. Otomatik Pivot Hesaplayıcılar ve TradingView

TradingView gibi platformlarda, günlük, haftalık, aylık pivotları otomatik hesaplayan göstergeler mevcuttur. Ayarlardan istediğiniz zaman dilimini seçerek grafik üzerine kolayca entegre edebilirsiniz.

10. Sonuç

Pivot noktaları, piyasada olası dönüş noktalarını öngörmek ve stratejik kararlar almak için etkili bir araçtır. Günlükten yıllığa kadar farklı zaman dilimlerinde uygulanabilirliği sayesinde, hem kısa vadeli hem de uzun vadeli yatırımcılara yardımcı olur.

EMA Alignment : Trendin Gücünü Anlamanın Anahtarı

19 Temmuz 2025 BorsaPin, Teknik AnalizBearish Crossover, Bullish Crossover, Çift EMA Kesişimleri, Ema Alignment, EMA Alignment Stratejileri, EMA Alignment stratejisi, EMA Crossovers, İdeal Ema, İdeal Ema Dizilimi, Sürekli EMA Alignment



Finansal piyasalarda başarılı işlem stratejilerinin temelinde, trendin yönünü ve gücünü doğru analiz edebilme yetisi yatar. Bu bağlamda, teknik analizde sıklıkla kullanılan Exponential Moving Average (EMA), fiyatların geçmiş değerlerini ağırlıklı olarak hesaba katarak daha duyarlı ortalamalar sunar. EMA’nın farklı periyotları bir arada analiz edildiğinde ortaya çıkan EMA Alignment (EMA Uyumu) ise, piyasanın yönü ve gücü hakkında çok daha derin sinyaller verir. Bu yazıda, EMA Alignment kavramını detaylarıyla inceleyip, yatırımcıların nasıl stratejik avantaj elde edebileceğini açıklayacağız.


EMA Nedir?

EMA, “Üssel Hareketli Ortalama” anlamına gelir ve son fiyatlara daha fazla ağırlık vererek fiyat hareketlerine daha duyarlı bir ortalama sunar. Bu sayede, klasik hareketli ortalamaya (SMA) kıyasla trend dönüşlerine daha erken tepki verir.


EMA Alignment Nedir?

EMA Alignment, farklı vadelerdeki EMA’ların birbirine göre konumunu analiz ederek piyasa trendinin yönünü ve kuvvetini yorumlama yöntemidir. Özellikle kısa, orta ve uzun vadeli EMA’lar arasında kurulan bu ilişki, trendin sürekliliği ya da zayıflığı hakkında fikir verir.

EMA Türleri:

  • Kısa Vadeli EMA: 5, 9, 13, 21 gibi periyotlar – Günlük dalgalanmaları izler.
  • Orta Vadeli EMA: 34, 55, 89 gibi periyotlar – Genel yönü destekler.
  • Uzun Vadeli EMA: 100, 144, 200, 233, 370 gibi periyotlar – Büyük trendleri gösterir.

Trend Yorumlamaları: EMA’ların Konumuna Göre

Boğa (Yükseliş) Trendi:

  • Kısa vadeli EMA’lar, uzun vadeli EMA’ların üzerindedir.
  • EMA’lar yukarı yönlü hizalanmış ve birbirinden uzaklaşma eğilimindedir.
  • Fiyat, tüm EMA’ların üzerinde seyrediyorsa, güçlü bir yükseliş eğilimi mevcuttur.

Örnek: EMA 9 > EMA 21 > EMA 50 > EMA 100 > EMA 200 → Güçlü bir boğa trendi

Ayı (Düşüş) Trendi:

  • Kısa vadeli EMA’lar, uzun vadeli EMA’ların altındadır.
  • EMA’lar aşağı yönlü dizilmişse, düşüş trendi güç kazanıyor olabilir.
  • Fiyat, EMA’ların altında kapanıyorsa, satış baskısı güçlüdür.

Örnek: EMA 9 < EMA 21 < EMA 50 < EMA 100 < EMA 200 → Güçlü bir ayı trendi


EMA Alignment Stratejileri

1. Çift EMA Kesişimleri (EMA Crossovers)

  • Bullish Crossover (Alım Sinyali): Kısa vadeli EMA (örneğin EMA 21), uzun vadeli EMA’yı (örneğin EMA 50) aşağıdan yukarı doğru keserse yükseliş başlangıcına işaret eder.
  • Bearish Crossover (Satım Sinyali): Kısa vadeli EMA, uzun vadeli EMA’yı yukarıdan aşağıya keserse düşüş başlayabilir.

Bu kesişimler genellikle EMA Alignment’ın ilk bozulduğu ya da oluştuğu noktalardır.

2. Sürekli EMA Alignment

  • Eğer kısa vadeli EMA’lar, uzun vadeli EMA’ların üzerinde uzun süre kalırsa bu, istikrarlı bir yükseliş trendinin göstergesidir.
  • Tersine, kısa vadeli EMA’lar uzunların altında uzun süre kalırsa düşüş trendinin sürekliliği anlamına gelir.

EMA’ların paralel ve açılarak yukarı yönlü hareket etmesi, trendin güçlendiğini gösterir. EMA’ların daralması ya da birbirine yaklaşması, potansiyel trend değişimine işaret edebilir.


EMA Alignment’ın Avantajları

  • Trend Onayı: Trend başlangıçlarında güvenilir bir filtre görevi görür. Yalancı sinyallerin önüne geçer.
  • Zamanlama İyileştirmesi: Trend yönüne uygun işlem açma zamanlamasını netleştirir.
  • Risk Yönetimi: Trendin zayıfladığı bölgelerde pozisyon kapatmak için sinyal üretir.
  • Görsel Netlik: Grafik üzerinde hızlıca trend durumu anlaşılabilir.

Uygulama Örneği (Teorik Senaryo)

Bir hisse senedinin EMA’ları şu şekilde sıralanmış:

  • EMA 9: 20.10
  • EMA 21: 19.50
  • EMA 50: 18.20
  • EMA 200: 15.00
  • Günlük kapanış: 20.30

Bu yapı, güçlü bir yükseliş trendine işaret eder. Fiyat, tüm EMA’ların üzerinde ve EMA’lar sırayla yukarıdan aşağıya doğru artan vadeye sahip. Yatırımcı bu uyumu trend devam ettiği sürece değerlendirebilir.


Sonuç: Trendin Haritasını EMA Alignment ile Çizin

EMA Alignment, sadece “trend var mı?” sorusuna yanıt vermez; aynı zamanda trendin gücü, istikrarı ve devam potansiyeli hakkında da değerli bilgiler sunar. Yalnızca kısa vadeli sinyallere göre değil, zaman içinde EMA’ların konumlanmasına göre strateji geliştirmek, hem risk kontrolünü artırır hem de trendleri daha güvenilir bir şekilde takip etmenizi sağlar.

Unutmayın: Her teknik analiz aracında olduğu gibi, EMA Alignment da tek başına kullanılmamalı; Wave Trend, Elliott Dalga Prensibi, RSI, Hacim, Pivot destek/dirençleri, Linear ve Polinomsal Regresyon gibi diğer analiz yöntemleriyle desteklenmelidir.


Kısaca Önerilen EMA Periyotları

Vadeler Önerilen EMA’lar
Kısa 9, 13, 21
Orta 34, 55, 89
Uzun 100, 144, 200, 233, 370

İyi yapılandırılmış bir EMA Alignment stratejisi, trend takibinde sağlam bir yol haritası oluşturur. Doğru analiz, sabır ve disiplinle birleştiğinde yatırımcılara yüksek doğrulukta sinyaller sunabilir.

Bilgi Toplumunda Bilgiye Kapalı Olma Paradoksu

19 Temmuz 2025 Anlık TepkilerBilgi elitizmi, Dezenformasyon, Ego yönetimi, Katılımcı demokrasi, Kolektif akıl, Sosyal medya okuryazarlığı




Bilgi toplumu, bilgi üretiminin, paylaşımının ve kullanımının ekonomik ve sosyal gelişmenin temel kaynağı olduğu bir toplum modelidir. Ancak:

  • Bilgiye erişim kolaylaştıkça, insanlar arasında doğrulanmış bilgiye ulaşma ile kendi doğrularında ısrar etme arasındaki fark derinleştirir.
  • Dijital ortamda bilgi kirliliği ve doğrulama eksikliği, insanların güvenilir bilgiye yönelmesini zorlaştırır.
  • Algı yönetimi, kutuplaşma ve sosyal medya yankı odaları, bireylerin kendi dünya görüşleri dışındaki bilgileri reddetmesine neden olmaktadır.

İnsanlar Neden Bilgiye Direnir? Kişisel Egonun Rolü Nedir?

  • Ego, bireyin benlik algısıdır. Kimi zaman birey, kendi inançlarının, bilgeliğinin veya pozisyonunun sorgulanmasını bir tehdit olarak görür.
  • Yeni bilgiyi kabul etmek, bireyin geçmişteki yanlışlarını da kabul etmesini gerektirebilir. Bu durum, egosu güçlü bireylerde bir savunma mekanizması doğurur: “Ben zaten biliyordum”, “Bu bilgi saçma” gibi tepkilerle direnç gelişir.
  • Statü koruma isteği, özellikle entelektüel çevrelerde, bilgiye kapalı olmaya da neden olabilir. Kişi, öğrenmeye açık görünmenin zayıflık olarak algılanacağından korkabilir.

Toplumsal Yansımalar

Bu bireysel dirençlerin toplum ölçeğinde yansıması ise şu şekillerde görülür:

  • Dezenformasyonun yayılması kolaylaşır çünkü insanlar “doğru” bilgiyi kabul etmeye değil, kendi düşüncelerini doğrulayacak bilgileri aramaya yönelir (onay yanlılığı).
  • Bilgi elitizmi doğar: Bilgiyi sahiplenen azınlık ile ona kapalı olan çoğunluk arasında uçurum büyür.
  • Katılımcı demokrasi ve kolektif akıl zayıflar; çünkü herkesin görüşü değerlidir ilkesi, yerini “ben haklıyım” savaşlarına bırakır.

Çözüm Önerileri

  • Eleştirel düşünce eğitimi yaygınlaştırılmalı; insanlar farklı fikirleri dinlemeyi, sorgulamayı ve gerektiğinde kendi fikrini değiştirmeyi öğrenmelidir.
  • Ego yönetimi, bireysel gelişimin parçası olarak ele alınmalı; kendini bilgiyle sürekli geliştiren kişi, eksik bilginin bir zayıflık değil, bir fırsat olduğunu anlamalıdır.
  • Sosyal medya okuryazarlığı kazandırılarak, bilgiye ulaşmakla onu sorgulamak arasındaki fark öğretilmelidir.

Sonuç

Bilgi toplumunda yaşamak, bilgiyi tüketmek kadar onu içselleştirmeyi ve ego bariyerini aşmayı da gerektirir. Gerçek gelişim, sadece bilgiye sahip olmakla değil, ona açık olmakla mümkündür. Ego ile bilgelik arasında ince bir çizgi vardır: Bilge insan, bilmediklerini öğrenmekten korkmaz.

Toplam 21 sayfa, 2. sayfa gösteriliyor.«12345...1020...»Son »
Etiketler
Teknik AnalizaşkPythonhisse senedi analiziEma AlignmentÜstel Hareketli OrtalamaPine Scripthayattrend analizipivotEmaallahalgoritmik tradingtrend takibiyatırım stratejisiBorsaPinotomatik analizpiyasa momentumuyatırım stratejileriborsa eğitimifinansal analizborsa stratejileriborsaPython ile BIST verisi çekmePython teknik analizPython borsa analiziPearson korelasyonuStop-Lossİdeal EmadirençdestekFibonacciİdeal Ema UpTrading ViewCem Sultansonbaharmuhsin yazıcıoğlukehanetözlemhayalmasalatatürkistanbulfiravunPhp Melody
Arşiv
  • Ağustos 2025
  • Temmuz 2025
  • Nisan 2025
  • Şubat 2025
  • Ocak 2025
  • Kasım 2024
  • Ekim 2024
  • Temmuz 2024
  • Mart 2024
  • Ocak 2023
  • Ağustos 2018
  • Temmuz 2016
  • Kasım 2015
  • Kasım 2014
  • Aralık 2013
  • Eylül 2013
  • Kasım 2012
  • Ekim 2012
  • Haziran 2011
  • Mart 2011
  • Şubat 2011
  • Ocak 2011
  • Aralık 2010
  • Kasım 2010
  • Eylül 2010
  • Ağustos 2010
  • Temmuz 2010
  • Haziran 2010
  • Mayıs 2010
  • Nisan 2010
  • Mart 2010
  • Şubat 2010
  • Ocak 2010
  • Aralık 2009
  • Kasım 2009
  • Ekim 2009
  • Eylül 2009
  • Ağustos 2009
  • Temmuz 2009
  • Haziran 2009
  • Mayıs 2009
  • Nisan 2009
  • Mart 2009
  • Şubat 2009
  • Ocak 2009
  • Aralık 2008
  • Kasım 2008
Sponsor Bağlantılar
Kategoriler
  • Anlık Tepkiler
  • Bilinçaltı Sayıklamaları
  • Bitmeyen Senfoni
  • Blog
  • BorsaPin
  • Bu nedir ?
  • Code is prority
  • Halet-i Ruhiye
  • İndikatör
  • Karma Karışık
  • Pine Script
  • Python
  • Teknik Analiz
  • Teknoloji
  • Trading View
  • Wordpress
  • Telegram
  • YouTube
Son Yorumlar
  • PHP Mobil Cihazları yönlendirme için Azmi Güneş
  • Son bir hatıra için sdc
  • Arkadaşlık siteleri ve Tuzakları için can
  • Windows 7’de EasyPHP kurulumu (resimli anlatım) için mustafa
  • Bir daha sorgulayın kendinizi.. için Abdullah Çağrı ELGÜN


Borsapin Proje Google Drive

Sponsor Bağlantılar
Sponsor Bağlantılar
.

.

.

.

2026 © SDC