Dolgu, backtest ve sanal işlem
Koşullu dolgu bulutları ve sunucuda çalışan Premium işlem simülasyonları.
Dolgu bulutu
plot.fill(a, b, title="Bulut", color="#22c55e40", visible=true) iki sayısal seri arasını doldurur. Çizgilerin ayrıca gösterilmesi gerekmez. Dolgu mumların ve çizgilerin arkasındadır; na değerlerinde boşluk bırakır, kesişimlerde alanı böler. plot.line dönüş tipi değişmez.
//@selscript=1
indicator("EMA cloud", overlay=true)
fast = ta.ema(close, 12)
slow = ta.ema(close, 26)
plot.fill(fast, slow, title="EMA Cloud", color=fast >= slow ? "#22c55e40" : "#ef444440")Dolgu mevcut SelScript erişimine dahildir. Ayarlar → Stil bölümünden görünürlük, her koşulun rengi ve opaklığı değiştirilebilir. Her script örneğinin dolgusu bağımsızdır.
Strateji bildirimi
Bir script tam olarak bir indicator(...) veya strategy(...) bildirimi içerir. İşlem komutları yalnız stratejilerde kullanılabilir. signal("BUY") görseldir; emre dönüşmez.
//@selscript=1
strategy("EMA paper strategy", overlay=true)
fast = ta.ema(close, 12)
slow = ta.ema(close, 26)
buy = ta.crossover(fast, slow)
sell = ta.crossunder(fast, slow)
plot.fill(fast, slow, color=fast >= slow ? "#22c55e40" : "#ef444440")
if buy:
strategy.entry("L", strategy.long)
if sell:
strategy.close("L")
if strategy.position_size > 0:
strategy.exit("Protection", "L", stop=strategy.position_avg_price * 0.97, limit=strategy.position_avg_price * 1.06)| API | Davranış |
|---|---|
strategy.entry(id, direction) | "long" / "short" veya strategy.long / strategy.short; çalışma ayarlarındaki büyüklükle piyasa girişi |
strategy.close(entryId) | Eşleşen açık pozisyonu piyasa emriyle kapatma |
strategy.exit(id, from_entry, stop, limit) | Fiyat bazlı SL/TP; en az biri gereklidir. Aynı id seviyeleri günceller |
strategy.position_size | Long için pozitif, short için negatif miktar; pozisyon yoksa sıfır |
strategy.position_avg_price | Açık pozisyonun gerçekleşme fiyatı; pozisyon yoksa na |
strategy.equity | Bakiye ve gerçekleşmemiş kâr/zarar toplamı |
Aynı anda tek enstrümanda tek pozisyon vardır. Yeni girişler açık pozisyonu büyütmez veya tersine çevirmez. Aynı karar mumunda birden fazla giriş komutu varsa girişler reddedilir ve günlüğe yazılır.
Backtest ve sanal işlem
Kayıtlı scriptin veya erişebildiğiniz yayının ayarlarından Backtest / Sanal işlem alanını açın. Başlatma Premium gerektirir. Kaydedilmemiş yerel taslağı önce kaydedip uygulayın. Mevcut indikatörlerin backtest için açık işlem komutlarıyla stratejiye dönüştürülmesi gerekir.
Backtestte sembol, zaman dilimi ve UTC tarih aralığı seçilir. Sonuçlarda özsermaye eğrisi, net sonuç, maksimum düşüş, kazanma oranı, profit factor ve işlemler bulunur. Kaybeden işlem yoksa profit factor tanımsızdır (—). Açık pozisyon ayrıca gösterilir; test sonunda zorla kapatılmaz.
Sanal işlem sunucuda çalışır; tarayıcı kapansa da devam eder. Bekleyen emirler, bakiye, özsermaye, açık pozisyon ve geçmiş saklanır. Durdurulan oturumda açık pozisyon varsa, sonraki mevcut kesinleşmiş mumun açılış fiyatıyla simüle kapatma tamamlanana kadar durum stopping olur. Yeni veri yoksa kapanış fiyatı uydurulmaz.
Premium veya yayın erişimi biterse oturum suspended olur. Geçmiş korunur; erişim geri geldiğinde Yeniden başlat işlemi gerekir. Askıya alınan dönemde yeni işlemler oluşturulmaz; bekleyen piyasa emirleri yeniden başlatmada temizlenir. İşlemleri grafikte göster düğmesi aynı sembol ve zaman dilimindeki grafiğe giriş/çıkış ve SL/TP işaretlerini ekler.
Hesaplama varsayımları
- Canlı Order Flow okuyan stratejiler tarihsel backtestte veya sanal işlemde çalışamaz:
ORDERFLOW_LIVE_ONLY. Veri açık grafik oturumunda yakalanır; geçmişi doldurulmaz. - Karar yalnız kesinleşmiş mumda verilir; piyasa emri sonraki mum açılışında gerçekleşir. Yeni SL/TP karar mumunda çalışmaz; sonraki mumdan itibaren değerlendirilir.
- Bir mumda SL ve TP birlikte görülürse SL önce kabul edilir. Stop ötesinde açılışta açılış fiyatı, TP'de hedef fiyat kullanılır.
- Kayma piyasa ve stop gerçekleşmelerine olumsuz yönde uygulanır. TP'ye kayma uygulanmaz. Her gerçekleşmede komisyon alınır.
- Varsayılan sermaye 10.000 kotasyon birimi, büyüklük özsermayenin %10'u, komisyon %0,1 ve kayma 5 bps'dir. Giriş büyüklüğü ve giriş komisyonu birlikte kullanılabilir özsermayeyi aşamaz.
- Short simülasyondur; fonlama ve borçlanma maliyetleri modellenmez. Kaldıraç, gerçek borsa emirleri, API anahtarları, webhook, çoklu pozisyon ve limit girişleri yoktur.
- Yalnız desteklenen kripto verileri kullanılır. Sentetikler, kripto dışı bağımlılıklar, ters sözleşmeler ve tarihsel olarak o anda bilinen veriyi sunmayan
request.financialreddedilir. - Isınma dahil dataset başına 50.000 mum ve toplam 5 dataset sınırı vardır. Eksik tarih aralıkları kırpılmaz; çalışma açıklayıcı durumla durur. Sanal oturum da bu mum sınırına ulaşınca askıya alınır.
- Farklı zaman dilimlerinde yalnız karar anında kapanmış veriler kullanılır. Backtest ve canlı yeniden oynatma aynı motoru kullanır.
Her çalışma değişmez script sürümü, girdiler, motor sürümü, işlem ayarları ve veri parmak izine bağlıdır. Yayın güncellemeleri çalışan oturumu değiştirmez. Kapalı kaynak kod ve motor checkpoint'i istemciye gönderilmez. Özellikler dolgu → backtest → sanal işlem sırasıyla ayrı yayın bayrakları üzerinden açılır.