TradingView'de göstergeler nasıl yazılır? Örnekler ve işlem ayarlarıyla birlikte.
Bu makalede, TradingView'de bir gösterge yazmayı ve adım adım uygulamayı öğreneceksiniz. Ayrıca güvenlik ve borsalara bağlanma ile ilgili önemli noktalara da değinilecektir.

TradingView'de göstergeler nasıl yazılır? Örnekler ve işlem ayarlarıyla birlikte.

Bu makale, TradingView'de göstergeler yazmayı ve bunları Pine Script kullanarak borsalara bağlamayı öğretecektir. Güvenli ve etkili işlem yapmak için uygulama detayları, güvenlik ve teknik ipuçları da ele alınacaktır.
0 Hisse senetleri
0
0
0
0

 

TradingView'de göstergeler ve stratejiler nasıl yazılır ve bir borsaya nasıl bağlanır?

Bu kapsamlı ve pratik kılavuz, Pine Script sürüm 5 ile göstergeler ve stratejiler yazmayı, TradingView'de webhook alarmları oluşturmayı, Flask ve ccxt ile güvenli bir webhook sunucusu kurmayı ve gecikmeyi azaltmak için teknik/güvenlik ipuçları ve konum seçimini adım adım açıklamaktadır. Bu makale, yatırımcılar, geliştiriciler ve operasyon ekipleri için uygundur.

 

Bölüm 1 — Pine Script ile Başlangıç (Sürüm 5)

Pine Script sürüm 5, yeni özellikler ve gelişmiş işlevler içeriyor. Başlamak için:

  • Sürümü seçin: İtibaren //@version=5 Kullanmak.
  • İki ana türü vardır: gösterge (grafikte görüntülenmesi ve sinyal üretimi için) ve strateji (Geçmişe dönük testler ve varsayımsal emirlerin yürütülmesi için.).
  • Giriş değişkenleri: Fonksiyondan giriş Kullanıcı tarafından değiştirilebilir parametreler için kullanılır.
  • Alarmlar: İtibaren uyarı durumu TradingView'de kullanılabilir alarm koşullarını tanımlamak için kullanın.

 

Basit gösterge örneği (EMA kesişimi + RSI filtresi)

//@version=5
indicator("EMA Crossover + RSI Filter", overlay=true)

// Inputs
shortLen = input.int(9, "EMA Short Length")
longLen  = input.int(21, "EMA Long Length")
rsiLen   = input.int(14, "RSI Length")
rsiThresh = input.int(50, "RSI Threshold")

// Price
price = close

// Indicators
emaShort = ta.ema(price, shortLen)
emaLong  = ta.ema(price, longLen)
rsi = ta.rsi(price, rsiLen)

// Signals
bull = ta.crossover(emaShort, emaLong) and rsi > rsiThresh
bear = ta.crossunder(emaShort, emaLong) and rsi < rsiThresh

plot(emaShort, color=color.blue)
plot(emaLong, color=color.orange)
plotshape(bull, title="Long", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
plotshape(bear, title="Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")

// Alerts
alertcondition(bull, title="Long Alert", message="LONG_SIGNAL")
alertcondition(bear, title="Short Alert", message="SHORT_SIGNAL")

Pratik ipuçları: Alarm mesajı, web sunucusunun kolayca ayrıştırabileceği şekilde JSON formatında veya belirli bir yapıda olmalıdır; örneğin: {"signal":"LONG","symbol":"BTCUSDT","timeframe":"1m"}.

 

Risk yönetimi içeren basit strateji örneği

//@version=5
strategy("EMA Crossover Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

// inputs ...
// (same indicators as above)
shortLen = input.int(9, "EMA Short Length")
longLen  = input.int(21, "EMA Long Length")
rsiLen   = input.int(14, "RSI Length")
rsiThresh = input.int(50, "RSI Threshold")

price = close
emaShort = ta.ema(price, shortLen)
emaLong  = ta.ema(price, longLen)
rsi = ta.rsi(price, rsiLen)

bull = ta.crossover(emaShort, emaLong) and rsi > rsiThresh
bear = ta.crossunder(emaShort, emaLong) and rsi < rsiThresh

if bull
    strategy.entry("Long", strategy.long)
if bear
    strategy.entry("Short", strategy.short)

// Example Stop Loss / Take Profit
strategy.exit("Exit Long", from_entry="Long", loss=100, profit=200)
strategy.exit("Exit Short", from_entry="Short", loss=100, profit=200)

Açıklama: Daha doğru geriye dönük testler için strateji Kullanım ve parametreler stop loss Ve kar al Ve konum boyutunu ayarlayın.

 

Bölüm 2 — TradingView'de Alarmların ve Web Kancalarının Yapısı

Grafiğe bir gösterge veya strateji ekledikten sonra, Uyarılar menüsünden yeni bir uyarı oluşturun. Ayarlar bölümünde:

  • Uyarı türü: Seçenek Webhook URL Sunucu adresinizi seçin ve girin (örneğin: https://trade.example.com/webhook).
  • Mesaj: Standart JSON kullanın; alanları ekleyin. sembol, aksiyon, fiyat, zaman aralığı, uuid Ve zaman damgası.

Alarm mesajı örneği:

{"symbol":"BTCUSDT","action":"LONG","price":"${close}","timeframe":"1m","strategy":"EMA_CROSS_V1"}

 

Bölüm 3 — Alarm almak ve borsaya emir göndermek için bir web sunucusu kurma

Önerilen mimari:

  • TradingView (Uyarı) → HTTPS Webhook (NGINX + Flask/Node) → Bot (İş Mantığı) → Borsa API'si (ccxt veya SDK)

Önkoşulların yüklenmesi (Ubuntu örneği)

sudo apt update
sudo apt install -y python3 python3-venv python3-pip
python3 -m venv venv
source venv/bin/activate
pip install flask ccxt

Flask ve ccxt ile örnek app.py dosyası.

from flask import Flask, request, jsonify
import ccxt, os, hmac, hashlib, time

app = Flask(__name__)

API_KEY = os.getenv("EXCHANGE_API_KEY")
API_SECRET = os.getenv("EXCHANGE_API_SECRET")

exchange = ccxt.binance({
    'apiKey': API_KEY,
    'secret': API_SECRET,
    'enableRateLimit': True,
})

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.json
    # simple validation: check data presence (use HMAC in production)
    if not data:
        return jsonify({"error":"no data"}),400

    symbol = data.get("symbol")
    action = data.get("action")
    qty = data.get("qty", 0.001)

    try:
        if action == "LONG":
            order = exchange.create_market_buy_order(symbol, qty)
        elif action == "SHORT":
            order = exchange.create_market_sell_order(symbol, qty)
        else:
            return jsonify({"error":"unknown action"}),400
        return jsonify(order)
    except Exception as e:
        return jsonify({"error":str(e)}),500

 

Bölüm 4 — Güvenli Sunucu Dağıtımı (Linux/Docker/systemd)

Öneri: Ters proxy olarak nginx ve TLS için certbot ile birlikte Docker Compose kullanın.

docker-compose.yml örneği

version: '3.8'
services:
  app:
    build: .
    restart: always
    environment:
      - EXCHANGE_API_KEY
      - EXCHANGE_API_SECRET
  nginx:
    image: nginx:stable
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./certs:/etc/letsencrypt
    ports:
      - "80:80"
      - "443:443"

Docker olmadan çalıştırılacak örnek systemd birimi

[Unit]
Description=Trading Webhook Bot
After=network.target

[Service]
User=trade
WorkingDirectory=/home/trade/app
Environment=EXCHANGE_API_KEY=your_key_here
Environment=EXCHANGE_API_SECRET=your_secret_here
ExecStart=/home/trade/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app
Restart=always

[Install]
WantedBy=multi-user.target

Örnek yönetim komutları:

sudo systemctl daemon-reload
sudo systemctl enable --now tradebot.service
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp

 

Bölüm 5 — Güvenlik ve İstikrar İpuçları

  • API Anahtarının güvenli bir şekilde saklanması: Ortam değişkeninden, dosya ile chmod 600 Veya Secret Manager'ı kullanın.
  • TLS: HTTPS için geçerli bir sertifika kullanın (certbot + nginx).
  • Mesaj onayı: Gelen TradingView mesajlarını doğrulamak için HMAC-SHA256 algoritmasını kullanın.
  • Sınırlamalar ve Yeniden Deneme: Hız sınırlama ve yeniden deneme/geri çekilme algoritmalarını uygulayın.
  • İzleme ve kayıt tutma: Sağlık durumunu ve yanıt sürelerini izlemek için Prometheus + Grafana veya ELK kullanın.
  • Saldırılara karşı koruma: Herkese açık uç noktalar için Fail2Ban, iptables ve DDoS karşıtı veya CDN hizmetleri kullanın.

 

Bölüm 6 — Geriye Dönük Test, Optimizasyon ve İleriye Dönük Test

  • Geri test: Fonksiyonlardan strateji.* Tarihsel analiz için Pine'ı kullanın, ancak Pine'ın parametrik sınırlamalarının farkında olun.
  • Optimizasyon: Parametreleri manuel olarak veya harici komut dosyaları kullanarak test edin (örneğin, farklı parametrelerle birden fazla grafik oluşturarak).
  • İleri test: Geriye dönük testlerden sonra her zaman demo hesapta veya düşük gecikmeli bir VPS'de küçük bir veri hacmiyle test yapın.
  • Kayma ve Gecikme Ölçümü: Webhook'un alınma zamanını ve borsadaki siparişin gerçekleşme zamanını kaydedin ve analiz edin.

 

Bölüm 7 — Alım Satım İçin Veri Merkezi Konumlarının Karşılaştırılması

Veri merkezi konumu, yüksek frekanslı stratejilerin başarısında her milisaniyenin önemini ortaya koyabilir. Konum seçimi, değişim noktalarına ve BGP rotalarına göre yapılmalıdır.

  • Avrupa (Frankfurt, Amsterdam): Avrupa borsaları ve bazı likidite fonları için uygundur.
  • ABD'nin doğu kesimi (New York, NJ): New York'taki Coinbase ve ilgili piyasalar için uygundur.
  • Asya (Singapur, Tokyo, Hong Kong): Binance Asia, OKX ve Asya pazarları için uygundur.

Eğer ağırlıklı olarak Binance veya Asya borsalarında işlem yapıyorsanız, Singapur veya Tokyo'daki bir VPS daha uygun olacaktır; ABD borsaları için ise New York/New Jersey lokasyonu daha iyi sonuç verecektir.

 

Bölüm 8 — Alım Satım İçin Önerilen Sunucu Yapılandırmaları

Alım Satım için VPS (Düşük Gecikmeli)

  • İşlemci: 2-4 yüksek frekanslı sanal işlemci
  • RAM: 4-8 GB
  • Depolama: NVMe SSD 50-100 GB
  • Ağ: düşük gecikme süresi/1 Gbps, gerekirse BGP/Anycast

Yoğun işlem gücü/geriye dönük test sunucusu

  • İşlemci: 8+ sanal işlemci
  • RAM: 32+ GB
  • Depolama: NVMe 1TB
  • GPU: Modellerin işlenmesi için makine öğrenimi/yapay zekâ gerekiyorsa

Ayrıca, hizmet istikrarını ve güvenliğini artırmak için DDoS saldırılarına karşı koruma, özel ağ oluşturma ve güvenlik duvarı yönetimi gibi güvenlik özelliklerini kullanın.

 

Bölüm 9 — Otomasyonlu alım satım işlemlerinde riski azaltmaya yönelik pratik ipuçları

  • Zarar Durdurma ve Maksimum Maruz Kalma: Her emir için bir stop loss ve maksimum pozisyon miktarı belirleyin.
  • API Hesap Durumu: Kısıtlamaları ve KYC durumunu kontrol edin.
  • Devre kesici: Hata oranları artarsa veya gecikme süresi önemli ölçüde yükselirse botu durdurun.
  • Sağlık takibi: Çalışma süresini, gecikmeyi ve dolum durumunu izleyin ve destek ekibi için uyarılar ayarlayın.

 

Çözüm

Bu kılavuz, Pine Script (sürüm 5) ile göstergeler ve stratejiler yazmaktan, TradingView'de webhook alarmları oluşturmaya, Flask/ccxt ile güvenli bir webhook sunucusu kurmaya, önemli güvenlik hususlarına, veri merkezi konumunu seçmeye ve önerilen sunucu yapılandırmalarına kadar ana adımları kapsamaktadır.

Düşük gecikmeli VPS, DDoS saldırılarına karşı korumalı sunucular veya yoğun işlem gerektiren grafik sunucu hizmetleri gibi altyapı çözümlerine ihtiyacınız varsa, şirketimiz 85'ten fazla küresel lokasyonda bu olanakları sunmakta ve altyapınızı kurup optimize edebilmektedir.

 

Sıkça Sorulan Sorular

Ayrıca Şunları da Beğenebilirsiniz