Strateji
97 işlev. Her kaydın ne aldığı, ne verdiği ve çalışan örneği.
Hesap para birimi — SEMBOLDEN türetilir: kripto çiftinde kote para (BTCUSDT → "USDT"), BIST hisse/endeks ve VİOP kontratlarında "TRY", forex/emtia/global endekste "USD". YALNIZ ETİKETTİR: kur dönüşümü yapılmaz, sermaye ve kâr/zarar birimsiz sayı olarak hesaplanır.
Hesap para birimini döndürür — şu an sabit "USD".
Not
Hesap para birimi — SEMBOLDEN türetilir: kripto çiftinde kote para (BTCUSDT → "USDT"), BIST hisse/endeks ve VİOP kontratlarında "TRY", forex/emtia/global endekste "USD". YALNIZ ETİKETTİR: kur dönüşümü yapılmaz, sermaye ve kâr/zarar birimsiz sayı olarak hesaplanır. Değer sabittir ("USD"); çoklu para birimi/kur dönüşümü henüz modellenmez.
Ne zaman kullanılır
Çıktıya ya da etikete hesap para birimini iliştirmek için.
Sınırlar
Şimdilik her zaman "USD" döndürür; sembolün kotasyon para birimini yansıtmaz.
Değer sabittir ("USD"); çoklu para birimi/kur dönüşümü henüz modellenmez.
label(close, accountCurrency())
Fiyata para birimi etiketini (USD) iliştirir.
Gercek-zaman alarmi: kullanıcı KENDI if koşulu icinde cagirir, guncel (son) barda mesaji uretir. freq: alert.freq_once_per_bar / alert.freq_once_per_bar_close / alert.freq_all. v0.1: yalnizca calisma ciktisi.
Değer döndürmez; koşul son barda false→true olunca bir alarm olayı üretir.
Not
v0.1: yalnız çalışma çıktısı; alarm merkezi sonraki fazda bağlanacak.
alert("AL sinyali", alert.freq_once_per_bar_close)
Koşul sağlandığında "AL sinyali" uyarısını gönderir; bar kapanışında bir kez çalışır, aynı barın içinde tekrarlamaz.
alertcondition(condition, title?, message?)
Alarm tanımı: koşul son barda false→true olduğunda alarm olayı üretir (koşul-tabanlı, kenar-kayıt). alert()'ten ayrıdır — alert() mesaj+sıklık tabanlıdır.
Değer döndürmez; koşulun yükselen kenarında (false→true) bir alarm kaydeder.
Not
`alert()`'ten AYRIDIR: `alertcondition` koşul-tabanlı ve kenar-tetiklidir (koşul true'ya geçtiği ilk barda). Derleme-anı sabit başlık/mesaj alır.
Ne zaman kullanılır
Bir sinyal koşulu true'ya geçtiği anda tek bir bildirim istiyorsanız.
alertcondition(crossover(close, sma(close, 50)), "Kesişim", "Fiyat SMA50'yi yukarı kesti")
Fiyat SMA50'yi yukarı kestiği barda alarm.
İzin verilen giriş yönü (strategy.direction.long/short/all). İzin-dışı yön YENİ pozisyon açmaz; mevcut ters pozisyonu KAPATIR (reverse etmez).
Değer döndürmez. İzin verilmeyen yönde yeni pozisyon açılmasını engeller.
Not
İzin dışı yönde bir sinyal geldiğinde yeni pozisyon açılmaz; açık olan ters pozisyon KAPATILIR (yönü değiştirilmez, sadece kapanır). strategy.direction.all (varsayılan) hiçbir kısıtlama getirmez.
Sınırlar
Yalnız yeni pozisyon açılışını etkiler; pyramiding ile eklenen ek bacaklar da aynı kurala tabidir.
allowEntryIn(strategy.direction.long) enterLong(rsi(close,14) < 30) enterShort(rsi(close,14) > 70)
Kısa sinyali geldiğinde açık long kapanır, yeni short AÇILMAZ.
Kapanan kaybeden islemlerin ortalama % zarari (running, POZITIF-abs; grossLoss ile tutarli). Para için avgLosingTradeCurrency.
Not
grossLoss/lossTrades. grossLoss gibi POZITIF-abs (negatif degil). Para icin *Currency.
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(avgLosingTrade())
Zararla kapanan işlemlerin ortalama yüzde zararını ayrı bölmede çizer; değer pozitif verilir ve her işlem kapandıkça güncellenir.
Kapanan kaybeden islemlerin ortalama MUTLAK-PARA zarari (running, pozitif).
Not
grossLossCurrency/lossTrades. avgLosingTrade'in mutlak-para versiyonu (pozitif).
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(avgLosingTradeCurrency())
Zararla kapanan işlemlerin ortalama zararını para birimiyle çizer; yüzde değil, hesaptan çıkan tutar.
Ortalama işlem net % (running).
İşlem başına ortalama kâr/zararı ((brüt kâr − brüt zarar) / kapanan işlem) koşan seri olarak döndürür.
Not
Henüz kapanan işlem yoksa 0 döner (sıfıra bölme yok).
Ne zaman kullanılır
Stratejinin işlem başına beklentisini ölçmek için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(avgTrade(), "Ort. İşlem")
İşlem başına ortalama sonucu çizer.
Kapanan islemlerin ortalama MUTLAK-PARA K/Z (running). avgTrade YÜZDE dondurur; bu para-birimi.
Kapanan tum islemlerin ortalama MUTLAK-PARA K/Z (running).
Not
avgTrade'in MUTLAK-PARA versiyonu (pnlPct/100 x notional; equity-modda notional=baslangic-sermaye). Yuzde-isim (avgTrade) DEGISMEDI, geriye-uyumlu. Para-birimi ile yuzde karistirilmamali.
Ne zaman kullanılır
Pozisyon-boyutlandirma/risk raporlamasi mutlak para-birimi gerektirdiginde (yuzde yerine).
plot(avgTradeCurrency())
Kapanan işlemlerin ortalama kâr/zararını para birimiyle çizer; sıfırın üstü stratejinin ortalamada kazandığını gösterir.
Kapanan kazanan islemlerin ortalama % kari (running). Yüzde; mutlak-para için avgWinningTradeCurrency.
Not
grossProfit/winTrades. Yuzde-birincil; *Currency soneki mutlak-para verir (naming (A), grossProfit/avgTrade ailesiyle tutarli).
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(avgWinningTrade())
Kârla kapanan işlemlerin ortalama yüzde kârını çizer; kaybeden ortalamasıyla birlikte okununca kazanç/zarar dengesi görünür.
Kapanan kazanan islemlerin ortalama MUTLAK-PARA kari (running).
Not
grossProfitCurrency/winTrades. avgWinningTrade'in mutlak-para versiyonu (pnlPct/100 x notional).
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(avgWinningTradeCurrency())
Kârla kapanan işlemlerin ortalama kârını para birimiyle çizer.
Belirtilen kimlikli bekleyen emri iptal eder — hem bekleyen giriş (limit/stop) hem de bekleyen çıkış emri; aynı kimlik ikisinde de temizlenir (id sabit metin; when verilmezse her bar).
Değer döndürmez; belirtilen id'li bekleyen emri iptal eder.
Not
Aynı kimlik hem bekleyen giriş (limit/stop) hem de bekleyen çıkış emrinde temizlenir. Böyle bir emir yoksa bir şey yapmaz.
Ne zaman kullanılır
Belirli bir bekleyen emri koşula bağlı geri çekmek için (örn. sinyal geçerliliğini yitirince).
Sınırlar
id sabit metin olmalı (dinamik olamaz). Zaten dolmuş bir emri geri almaz.
Uygun değildir
Açık bir pozisyonu kapatmak için uygun değil — cancel yalnız henüz dolmamış bekleyen emri geri çeker; pozisyon kapatmak için exit kullanın. Zaten dolmuş bir emri de geri almaz. Tüm bekleyen emirleri tek seferde temizleyeceksen tek tek cancel yerine cancelAll daha pratiktir.
enterLong(barIndex==0, id='A', limit=close*0.98) cancel('A', when=barIndex==3) exit(barIndex==40)
0. barda kurulan 'A' limit emri, 3. barda dolmadıysa iptal olur.
enterLong(barIndex==0, id='A', limit=close*0.97) cancel('A', when=close < lowest(low,20)) exit(barIndex==40)
Fiyat 20 barlık dibin altına kırılırsa 'A' limit emri iptal edilir; işlem açılmaz.
Tüm bekleyen emirleri iptal eder — bekleyen giriş ve bekleyen çıkış emirleri birlikte temizlenir (when verilmezse her bar).
Değer döndürmez; tüm bekleyen emirleri iptal eder.
Not
Bekleyen giriş ve bekleyen çıkış emirlerinin tümü birlikte temizlenir.
Ne zaman kullanılır
Piyasa durumu değişince ya da gün sonunda tüm bekleyen emirleri tek seferde geri çekmek için.
Sınırlar
Açık pozisyonu kapatmaz (yalnız bekleyen emirleri temizler); pozisyon için exit kullanın.
Uygun değildir
Açık pozisyonu kapatmaz — yalnız bekleyen emirleri temizler; pozisyon için exit kullanın. Tek bir emri hedeflemek istiyorsanız cancelAll fazla geniştir; o zaman id ile cancel kullanın. Zaten dolmuş emirler üzerinde etkisi yoktur.
enterLong(barIndex==0, id='A', limit=close*0.98) enterLong(barIndex==0, id='B', stop=close*1.02) cancelAll(when=barIndex==2) exit(barIndex==40)
2. barda hem A hem B bekleyen emri iptal; dolmamışlarsa işlem açılmaz.
enterLong(barIndex==0, id='A', limit=close*0.98) enterShort(barIndex==0, id='B', stop=close*1.02) cancelAll(when=rsi(close,14) > 60) exit(barIndex==40)
RSI 60'ı aşınca hem A hem B bekleyen emri temizlenir.
Nakit (equity yaklaşımı). Sonuc: 10000
`equity()` ile birebir aynı sermaye serisini döndürür.
Not
`equity()`'nin eş adıdır.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(cash(), "Nakit")
Sermaye eğrisini çizer.
Koşul doğru olan barda açık pozisyonun TAMAMINI (tüm bacaklar) koşulsuz kapatır — market çıkış, sinyalin SONRAKİ barının açılış fiyatından dolar. exit() ile aynı çıkış yolunu kullanır ancak fromEntry/qtyPct filtresi yoktur — her zaman tümünü kapatır. Koşul verilmezse her bar kapatır. Koşulu adlandırılmış argümanla da verebilirsiniz: `condition=`, `kosul=` ve `koşul=` üçü de aynı işi yapar.
Değer döndürmez. Koşul doğru olan barda açık pozisyonun TAMAMINI (tüm bacaklar) market fiyatından — sinyalin SONRAKİ barının açılışında — kapatır.
Not
exit() ile aynı çıkış yolunu ve zamanlamasını kullanır (market çıkış sonraki barın açılışında dolar) ancak fromEntry/qtyPct filtresi yoktur — her zaman tümünü kapatır. Çoklu-giriş (pyramiding) veya kısmen kapatılmış pozisyonda kalan tüm bacakları kapatır. Henüz açık pozisyon yokken çağırmak bir şey yapmaz. ⚠ ÖNEMLİ: adlandırılmış argümanın adı TAM OLARAK `kosul` (ASCII, aksansız) olmalı — `condition=` ya da `koşul=` (ş'li) TANINMAZ ve HATA da vermez: koşul hiç verilmemiş sayılır, bu da closeAll'ı HER BAR koşulsuz çalıştırır (sessiz-yanlış bir tuzak). Kardeşi closePart farklı bir yazım (`koşul`, ş'li) kullanır — ikisi birbirinin yerine geçmez.
exit() ile aynı çıkış yolunu ve zamanlamasını kullanır (market çıkış sonraki barın açılışında dolar) ancak fromEntry/qtyPct filtresi yoktur — her zaman tümünü kapatır. Çoklu-giriş (pyramiding) veya kısmen kapatılmış pozisyonda kalan tüm bacakları kapatır. Henüz açık pozisyon yokken çağırmak bir şey yapmaz.
enterLong(crossover(close, sma(close,20))) closeAll(crossunder(close, sma(close,20))) plot(close)
20-periyot ortalama yukarı kesilince alır, aşağı kesilince tüm pozisyonu kapatır.
Pozisyonun bir oranını (%) kapatın; oran verilmezse tam kapanış. Koşulu adlandırılmış argümanla da verebilirsiniz: `condition=`, `kosul=` ve `koşul=` üçü de aynı işi yapar. Oran için `qtyPct`, `oran` ve `percent` eşdeğerdir. ⚠ `cond` ve `pct` KISALTMALARI tanınmaz — net hata verir, sessizce yanlış çalışmaz.
Değer döndürmez; koşul-true barında açık pozisyonun `oran`%'sini kapatır (oran verilmezse tam kapanış).
Not
`oran` o an açık KALAN miktar üzerinden uygulanır — ard-arda çağrılar kalanı birikimli azaltır (örn. 1.0 → %25 → 0.75 → %50 → 0.375). Adsız `exit(koşul, qtyPct=oran)` ile aynı kısmi-kapanış davranışı.
Sınırlar
`oran` sabit sayı olmalı ve 0 (hariç) - 100 (dahil) aralığında; aralık dışı veya dinamik değer → net hata.
DİKKAT: `oran` parametresi imzada var ama şu an dikkate alınmıyor — kısmi kapanış yerine TAM kapanış yapılır. Kısmi çıkış için `exit(koşul, qtyPct=...)` kullanın.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) closePart(crossunder(close, sma(close, 30)))
Alt-kesişimde pozisyonu tam kapatır.
n. kapanan işlemin komisyonu.
Kapanan işlemin round-trip (giriş+çıkış) komisyon maliyeti — para birimi.
Not
Giriş ve çıkış komisyonunun toplamıdır (yalnız komisyon oranı; kayma/slip DAHİL DEĞİL). Kaldıraç/marj ve pozisyon büyüklüğü hesaba katılır.
Sınırlar
commission() ayarı 0 ise 0 döner. Kayma (slip) bu değere katılmaz.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeCommission(-1), "Komisyon")
Son kapanan işlemin round-trip komisyon maliyetini verir.
n. kapanan işlemin giriş bar indeksi.
n. kapanan işlemin giriş bar indeksini döndürür (giriş zamanından çözülür).
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeEntryBar(-1), "Giriş Barı")
Son işlemin giriş bar sırasını çizer.
n. kapanan işlemin giriş notu.
n. kapanan işlemin GİRİŞ notu — `enterLong/enterShort(comment="…")` ile yazılan metin. comment verilmemişse boş metin döner.
Not
Bu alan şu an takip edilmez; her zaman boş metin döner (sözdizimi uyumu için mevcut).
Sınırlar
Gerçek değer üretmez — boş sabiti. Komisyon/MAE/MFE/yorum/kimlik modellenene dek yer tutucu.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, closedTradeEntryComment(-1))
Boş metin döner (yorum takibi yok).
n. kapanan işlemin giriş id'si.
n. kapanan işlemin GİRİŞ emri kimliği — `enterLong/enterShort(id="…")` ile verilen metin. id verilmemişse boş metin döner.
Not
Bu alan şu an takip edilmez; her zaman boş metin döner (sözdizimi uyumu için mevcut).
Sınırlar
Gerçek değer üretmez — boş sabiti. Komisyon/MAE/MFE/yorum/kimlik modellenene dek yer tutucu.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, closedTradeEntryId(-1))
Boş metin döner (kimlik takibi yok).
n. kapanan işlemin giriş fiyatı (neg=sondan).
n. kapanan işlemin giriş fiyatı — `tradeEntryPrice(n)` eş adı.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeEntryPrice(0), "Giriş")
Kapanan işlemin giriş fiyatını çizer.
n. kapanan işlemin giriş zamanı (epoch ms).
n. kapanan işlemin giriş zamanı — `tradeEntryTime(n)` eş adı.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeEntryTime(0), "Giriş Zamanı")
Kapanan işlemin giriş zamanını çizer.
n. kapanan işlemin çıkış bar indeksi.
n. kapanan işlemin çıkış bar indeksini döndürür (çıkış zamanından çözülür).
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeExitBar(-1), "Çıkış Barı")
Son işlemin çıkış bar sırasını çizer.
Kapanan islemde exit(comment=...) ile yazilan KULLANICI notu (yoksa bos). Sebep-kodu için closedTradeExitReason().
exit(comment=...) ile yazilan kullanici notu; yoksa bos metin.
Not
ONCE otomatik sebep-kodunu donduruyordu (yanlis-veri) — artik gercek kullanici notu. Sebep-kodu icin closedTradeExitReason().
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, closedTradeExitComment(-1))
Son işlemin çıkış nedenini etiketler.
Kapanisi tetikleyen bekleyen-çıkış emrinin id'si (exit(id=..., limit/stop=...)). Yoksa bos.
n. kapanan işlemin ÇIKIŞ emri kimliği — `exit(id="…")` ile verilen metin. ⚠ `id` yalnız BEKLEYEN çıkışta (limit/stop) anlamlıdır; koşul dolunca anında kapanan işlemde boş metin döner.
Not
Bu alan şu an takip edilmez; her zaman boş metin döner (sözdizimi uyumu için mevcut).
Sınırlar
Gerçek değer üretmez — boş sabiti. Komisyon/MAE/MFE/yorum/kimlik modellenene dek yer tutucu.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, closedTradeExitId(-1))
Boş metin döner.
n. kapanan işlemin çıkış fiyatı.
n. kapanan işlemin çıkış fiyatı — `tradeExitPrice(n)` eş adı.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeExitPrice(0), "Çıkış")
Kapanan işlemin çıkış fiyatını çizer.
Kapanan işlemin çıkış sebep-kodu: signal | stop | target | trail | partial1 | partial2 | eod | liq | manual | risk | exit. Kendi notunuz için closedTradeExitComment().
Otomatik cikis sebep-kodu (signal/stop/target/trail/partial1/partial2/eod/liq/manual/risk/exit).
Not
ONCE bu deger yanlislikla closedTradeExitComment() ile donuyordu; artik ikisi AYRI: comment = kullanici notu, reason = otomatik sebep-kodu.
Ne zaman kullanılır
Cikisin NEDEN gerceklestigini (stop mu hedef mi iz-suren mi) dala ayirmak icin.
plot(strLength(closedTradeExitReason(0)))
Son kapanan işlemin çıkış sebebini alıp metin uzunluğunu çizer; sebep bir metin olduğu için doğrudan çizilemez, bu örnek onu sayıya çeviriyor.
n. kapanan işlemin çıkış zamanı (epoch ms).
n. kapanan işlemin çıkış zamanı — `tradeExitTime(n)` eş adı.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeExitTime(0), "Çıkış Zamanı")
Kapanan işlemin çıkış zamanını çizer.
n. işlemin maks. düşüşü.
Kapanan işlemin süresince gördüğü en kötü geri-çekilme (MAE) — para birimi cinsinden.
Not
SAF fiyat-hareketidir: komisyon ve taşıma (carry) maliyeti HARİÇ — 'fiyat aleyhinize ne kadar gitti', hesap bakiyesinin salınımı değil. Uzun pozisyonda en düşük düşük (low), kısa pozisyonda en yüksek yüksek (high) esas alınır; giriş ve çıkış barları dahildir.
Sınırlar
Kaldıraç ve marj, kâr/zarar ile aynı ölçekte dahildir. Ölçüm saf fiyat hareketidir; komisyon ve taşıma maliyeti dışarıdadır. Başka platformların rakamlarıyla birebir örtüşmeyebilir.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeMaxDrawdown(-1), "MAE")
Son kapanan işlemin en kötü para-cinsinden geri-çekilmesini verir.
closedTradeMaxDrawdownPercent(n?)
n. işlemin maks. düşüş %'si.
Kapanan işlemin en kötü geri-çekilmesi (MAE) — yüzde.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Uzun pozisyonda en düşük düşük, kısa pozisyonda en yüksek yüksek; giriş ve çıkış barları dahildir. Yüzde, kâr/zarar yüzdesiyle aynı ölçektedir (kaldıraç dahil).
Sınırlar
Ölçüm saf fiyat hareketidir; komisyon ve taşıma maliyeti dışarıdadır. Başka platformların rakamlarıyla birebir örtüşmeyebilir.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeMaxDrawdownPercent(-1), "MAE %")
Son kapanan işlemin en kötü geri-çekilme yüzdesini verir.
n. işlemin maks. yükselişi.
Kapanan işlemin süresince ulaştığı en iyi yükseliş (MFE) — para birimi cinsinden.
Not
SAF fiyat-hareketidir: komisyon ve taşıma (carry) maliyeti HARİÇ — 'fiyat lehinize ne kadar gitti'. Uzun pozisyonda en yüksek yüksek (high), kısa pozisyonda en düşük düşük (low) esas alınır; giriş ve çıkış barları dahildir.
Sınırlar
Kaldıraç ve marj, kâr/zarar ile aynı ölçekte dahildir. Ölçüm saf fiyat hareketidir; komisyon ve taşıma maliyeti dışarıdadır. Başka platformların rakamlarıyla birebir örtüşmeyebilir.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeMaxRunup(-1), "MFE")
Son kapanan işlemin en iyi para-cinsinden yükselişini verir.
closedTradeMaxRunupPercent(n?)
n. işlemin maks. yükseliş %'si.
Kapanan işlemin en iyi yükselişi (MFE) — yüzde.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Uzun pozisyonda en yüksek yüksek, kısa pozisyonda en düşük düşük; giriş ve çıkış barları dahildir. Yüzde, kâr/zarar yüzdesiyle aynı ölçektedir (kaldıraç dahil).
Sınırlar
Ölçüm saf fiyat hareketidir; komisyon ve taşıma maliyeti dışarıdadır. Başka platformların rakamlarıyla birebir örtüşmeyebilir.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeMaxRunupPercent(-1), "MFE %")
Son kapanan işlemin en iyi yükseliş yüzdesini verir.
n. kapanan işlemin kârı (para birimi tahmini).
n. kapanan işlemin kâr/zararını PARA cinsinden döndürür (pnl% × başlangıç sermayesi / 100).
Not
Para birimi cinsidir. Yüzde için `closedTradeProfitPercent(n)`.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeProfit(-1), "Son İşlem K/Z")
Son kapanan işlemin para cinsi kâr/zararını çizer.
n. kapanan işlemin kâr yüzdesi.
n. kapanan işlemin kâr/zararını YÜZDE olarak döndürür (pnl%).
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeProfitPercent(-1), "Son İşlem %")
Son kapanan işlemin yüzde kâr/zararını çizer.
n. kapanan işlemin büyüklüğü.
n. kapanan işlemin yön/büyüklüğü — `tradeSize(n)` eş adı.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradeSize(0), "Yön")
Kapanan işlemin yönünü çizer.
Kapanan işlem sayısı (running).
O ana kadar kapanan toplam işlem sayısını koşan seri olarak döndürür.
Ne zaman kullanılır
İşlem sıklığını ve kazanma oranının paydasını izlemek için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTrades(), "Kapanan İşlem")
Kümülatif kapanan işlem sayısını çizer.
Kapanan işlem sayısı.
Kapanan toplam işlem sayısını döndürür — `tradeCount()` ile birebir aynı.
Not
`tradeCount()`'un eş adıdır.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(closedTradesCount(), "Kapanan")
Kapanan işlem sayısını çizer.
Kapanmış işlem listesinin ilk sırası. Bu yapıda işlem geçmişi hiç kırpılmaz (üst sınır yok), bu yüzden her zaman 0 döner. referans dil'dan taşınan `for i = closedTradesFirstIndex() to closedTradesCount() - 1` biçimindeki döngüler olduğu gibi çalışsın diye vardır.
Kapanmış işlem listesinin ilk sırası. Bu yapıda işlem geçmişi hiç kırpılmaz (üst sınır yok), bu yüzden her zaman 0 döner. `for i = closedTradesFirstIndex() to closedTradesCount() - 1` biçiminde yazılan döngüler, ileride kırpma eklenirse de doğru çalışsın diye vardır.
plot(closedTradesFirstIndex())
Kapanmış işlem listesinin ilk sırasını çizer; liste kırpıldıkça bu sayı büyür, yani en eski işlemlerin listeden düştüğünü gösterir.
Hesap para birimine çevirir (FX yoksa aynen).
Değeri DEĞİŞTİRMEDEN geri döndürür (birebir). Hesap ve sembol para birimi aynı kabul edildiğinden kur dönüşümü uygulanmaz.
Not
Sözdizimi uyumu için vardır; gerçek kur dönüşümü modellenmez (accountCurrency sabit "USD").
Ne zaman kullanılır
Bir değeri hesap para birimine çeviren kodları taşırken sözdizimi uyumu için.
Sınırlar
Değeri olduğu gibi geçirir; çoklu para birimi modellenmediğinden bir kur çarpanı uygulanmaz.
plot(convertToAccount(close), "Değer")
Değeri değişmeden çizer.
Sembol para birimine çevirir (FX yoksa aynen).
Değeri DEĞİŞTİRMEDEN geri döndürür (birebir). Kur dönüşümü uygulanmaz.
Not
`convertToAccount` ile aynı — yer tutucu geçiş; kur modeli yok.
plot(convertToSymbol(close), "Değer")
Değeri değişmeden çizer.
Her işlemde sabit adet (kontrat/hisse) alın. Çağrıldığında boyutlandırma %equity yerine adet-bazlıya geçer; kâr/zarar adet × fiyat-farkı ile hesaplanır. Hiç çağrılmazsa varsayılan %equity korunur.
Değer döndürmez. Çağrıldığında boyutlandırma varsayılan %equity yerine sabit adet-bazlıya geçer; kâr/zarar adet × fiyat-farkı ile hesaplanır.
Not
Hiç çağrılmazsa varsayılan %equity boyutlandırması korunur (mevcut stratejilerin sonucu değişmez). Kaldıraç, adet-bazlı modda kâr/zarara girmez; yalnız gereken teminatı ve tasfiye eşiğini belirler. Teminat yetersizse işlem açılmaz (adet kırpılmaz).
Sınırlar
Kontrat/nakit modunda çoklu-giriş (pyramiding) bu sürümde desteklenmez; kaldıraçla çoklu-giriş de kapalıdır.
defaultEntryQty(2) enterLong(crossover(close, sma(close, 20))) exit(crossunder(close, sma(close, 20))) plot(close)
Her işlemde sabit 2 adet alır; kâr/zarar 2 × fiyat-farkı ile hesaplanır.
Running maksimum drawdown (%).
O ana kadarki en yüksek sermaye tepesinden düşüşü (maksimum geri-çekilme) yüzde olarak döndürür.
Ne zaman kullanılır
Stratejinin risk profilini ve en kötü su-altı dönemini ölçmek için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(drawdownPct(), "Geri-çekilme %")
Koşan geri-çekilme yüzdesini çizer.
enterLong(condition, stopLoss?, takeProfit?, trailingStop?, id?, limit?, stop?, ocaGroup?, qty?, comment?, stopLossTicks?, takeProfitTicks?, trailTicks?, trailOffsetTicks?, trailFar?, trailNear?, trailThresh1?, trailThresh2?, stopLossAtr?, partial1Pct?, partial1Size?, partial2Pct?, partial2Size?)
Koşul true barda LONG giriş. limit VEYA stop verilirse bekleyen emir kurulur — ikisi birlikte olmaz; hiçbiri yoksa market emir, sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar (bir emir kendi barı kapanmadan doldurulamaz — gerçekçi zamanlama). id sabit metin ise giriş kimliği olur; id + limit/stop → bekleyen emir listesi (aynı kimlik günceller, farklı kimlikler birlikte bekler; cancel(id)/cancelAll ile iptal). ocaGroup sabit metin ise aynı gruptaki diğer bekleyen girişler, biri dolunca otomatik iptal edilir (çekişen kurulum: kırılımda da geri-çekilmede de emir kurun, ilki dolunca diğeri iptal edilir). pyramiding(n) ile aynı yönde n giriş parçasına kadar eklenir. Risk parametreleri (%): stopLoss / takeProfit / trailingStop. Bekleyen limit/stop emirler fiyat seviyeye değince bar içinde (high/low) dolar. qty verilirse o emir MUTLAK-kontrat (global boyutlandirmayi baypas eder; maxPositionSize yine kirpar). comment saf-metin not (entryComment() ile geri-okunur). qty ve comment yalnız adıyla yazılır (sırayla verilemez). Tick-goreli risk: stopLossTicks/takeProfitTicks = N x tickSize MUTLAK fiyat-farkı (yüzde/ATR ile birlesir: en-DAR stop, en-YAKIN hedef). trailTicks = trailing AKTIVASYON esigi (0 = aninda), trailOffsetTicks = TAKIP mesafesi; bir kez aktiflesince KALICI. tickSize sembolden cozulur; cozulemezse bu paramlar uyariyla uygulanmaz. trailOffsetTicks, trailTicks için ZORUNLUDUR (tek başına trailTicks iz-suren kurmaz; eksikse uyari verilir ve uygulanmaz). Aşağıdakilerin hepsi yalnız adıyla yazılır (sırayla verilemez): Kademeli iz-suren stop trailFar/trailNear/trailThresh1/trailThresh2 — kar% trailThresh1'e (vars. 2) ulasana kadar yalniz sabit stopLoss/stopLossAtr gecerli; trailThresh1-trailThresh2 (vars. 5) arasinda trailFar% ile iz-surer; trailThresh2 üstünde trailNear% (verilmezse trailFar) ile daha DAR iz-surer — her asama KALICIDIR, geri donmez. stopLossAtr: N x ATR(14), GIRIŞ barinda sabitlenir (işlem boyunca degismez); stopLoss/stopLossTicks ile birlikte verilirse EN DAR olan gecerli. Kismi kar-alma: partial1Pct/partial1Size ve partial2Pct/partial2Size — kar% esige (Pct) ulasinca o an ACIK KALAN miktarin Size oranı (0-1, orn. 0.5=%50) BIR KEZ kapatilir; iki eşik birbirinden BAGIMSIZ kontrol edilir (ayni barda ikisi de tetiklenebilir).
Değer döndürmez; strateji testine bir giriş emri bildirir.
Not
Risk değerleri yüzdedir (stopLoss=2 → %2). Market emir (limit/stop yok) sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar — bir emir kendi barı kapanmadan doldurulamaz (gerçekçi zamanlama). limit veya stop verilirse bunun yerine bekleyen emir kurulur (ikisi birlikte olmaz); bekleyen emirler fiyat seviyeye değince bar içinde gerçekçi dolar. id + limit/stop → bekleyen emir listesi: aynı id günceller, farklı id'ler birlikte bekler. Aynı ocaGroup verilen bekleyen girişlerden biri dolunca diğerleri otomatik iptal edilir (çekişen kurulum: kırılım ile geri-çekilme emirlerini birlikte kurun, ilki dolunca diğeri iptal edilir). pyramiding(n) ile aynı yönde n giriş parçasına kadar eklenir. Kural doğrudan koşul olarak verilir; ayrı bir giriş-emri fonksiyonu yoktur. Bekleyen emir ve kademeli giriş aynı çağrıda toplanır.
Ne zaman kullanılır
Market giriş (limit/stop yok — emir sinyal barının sonraki barının açılışında dolar); belirli bir fiyattan giriş için limit (dip alımı) ya da stop (kırılım). Çok giriş parçasılı ekleme için id + pyramiding.
Sınırlar
id dinamik olamaz (sabit metin şart). limit ve stop aynı çağrıda birlikte verilemez. pyramiding tavanı dolunca yeni giriş parçası eklenmez, emir bekler.
Uygun değildir
Yalnız grafiğe bir işaret koymak istiyorsanız uygun değil — o iş için plotshape kullanın, enterLong gerçek bir işlem açar ve backtest sonucunu etkiler. Zaten açık bir long giriş parçasını korumak/kapatmak için de kullanmayın; çıkış ve koruma exit ile yönetilir. Short yönlü giriş için enterShort'a geçin.
İpucu
Kural doğrudan koşul olarak verilir; ayrı bir giriş-emri fonksiyonu yoktur. Bekleyen emir ve kademeli giriş aynı çağrıda toplanır.
Risk değerleri yüzdedir (stopLoss=2 → %2). Market emir (limit/stop yok) sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar — bir emir kendi barı kapanmadan doldurulamaz (gerçekçi zamanlama). limit veya stop verilirse bunun yerine bekleyen emir kurulur (ikisi birlikte olmaz); bekleyen emirler fiyat seviyeye değince bar içinde gerçekçi dolar. id + limit/stop → bekleyen emir listesi: aynı id günceller, farklı id'ler birlikte bekler. Aynı ocaGroup verilen bekleyen girişlerden biri dolunca kardeşleri otomatik iptal olur (çekişen kurulum: kırılım ile geri-çekilme emirlerini birlikte kurun, ilki dolunca öbürü düşer). pyramiding(n) ile aynı yönde n giriş parçasına kadar eklenir.
Kural doğrudan koşul olarak verilir; ayrı bir giriş-emri fonksiyonu yoktur. Bekleyen emir ve kademeli giriş aynı çağrıda toplanır.
enterLong(crossover(close, sma(close,20))) exit(crossunder(close, sma(close,20)))
Fiyat SMA20'yi yukarı kesince AL, aşağı kesince kapanış.
enterLong(barIndex==0, limit=sma(close,20)*0.98) exit(barIndex==40)
SMA20'nin %2 altına bekleyen limit; fiyat oraya düşünce dolar.
enterShort(condition, stopLoss?, takeProfit?, trailingStop?, id?, limit?, stop?, ocaGroup?, qty?, comment?, stopLossTicks?, takeProfitTicks?, trailTicks?, trailOffsetTicks?, trailFar?, trailNear?, trailThresh1?, trailThresh2?, stopLossAtr?, partial1Pct?, partial1Size?, partial2Pct?, partial2Size?)
Koşul true barda SHORT giriş. limit VEYA stop verilirse bekleyen emir kurulur — ikisi birlikte olmaz; hiçbiri yoksa market emir, sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar (bir emir kendi barı kapanmadan doldurulamaz — gerçekçi zamanlama). id sabit metin ise giriş kimliği olur; id + limit/stop → bekleyen emir listesi (aynı kimlik günceller, farklı kimlikler birlikte bekler; cancel(id)/cancelAll ile iptal). ocaGroup sabit metin ise aynı gruptaki diğer bekleyen girişler, biri dolunca otomatik iptal edilir (çekişen kurulum: kırılımda da geri-çekilmede de emir kurun, ilki dolunca diğeri iptal edilir). pyramiding(n) ile aynı yönde n giriş parçasına kadar eklenir. Risk parametreleri (%): stopLoss / takeProfit / trailingStop. qty verilirse o emir MUTLAK-kontrat (global boyutlandirmayi baypas eder; maxPositionSize yine kirpar). comment saf-metin not (entryComment() ile geri-okunur). qty ve comment yalnız adıyla yazılır (sırayla verilemez). Tick-goreli risk: stopLossTicks/takeProfitTicks = N x tickSize MUTLAK fiyat-farkı (yüzde/ATR ile birlesir: en-DAR stop, en-YAKIN hedef). trailTicks = trailing AKTIVASYON esigi (0 = aninda), trailOffsetTicks = TAKIP mesafesi; bir kez aktiflesince KALICI. tickSize sembolden cozulur; cozulemezse bu paramlar uyariyla uygulanmaz. trailOffsetTicks, trailTicks için ZORUNLUDUR (tek başına trailTicks iz-suren kurmaz; eksikse uyari verilir ve uygulanmaz). Aşağıdakilerin hepsi yalnız adıyla yazılır (sırayla verilemez): Kademeli iz-suren stop trailFar/trailNear/trailThresh1/trailThresh2 — kar% trailThresh1'e (vars. 2) ulasana kadar yalniz sabit stopLoss/stopLossAtr gecerli; trailThresh1-trailThresh2 (vars. 5) arasinda trailFar% ile iz-surer; trailThresh2 üstünde trailNear% (verilmezse trailFar) ile daha DAR iz-surer — her asama KALICIDIR, geri donmez. stopLossAtr: N x ATR(14), GIRIŞ barinda sabitlenir (işlem boyunca degismez); stopLoss/stopLossTicks ile birlikte verilirse EN DAR olan gecerli. Kismi kar-alma: partial1Pct/partial1Size ve partial2Pct/partial2Size — kar% esige (Pct) ulasinca o an ACIK KALAN miktarin Size oranı (0-1, orn. 0.5=%50) BIR KEZ kapatilir; iki eşik birbirinden BAGIMSIZ kontrol edilir (ayni barda ikisi de tetiklenebilir). Şort için kâr yönü TERSTİR (fiyat düşünce kâr artar) — trail/partial eşikleri buna göre hesaplanır.
Değer döndürmez; strateji testine bir short giriş emri bildirir.
Not
enterLong'un short karşılığı; aynı id/limit/stop/pyramiding/ocaGroup kuralları ve doluş zamanlaması geçerli (market emir sinyalin sonraki barının açılış fiyatından dolar), risk değerleri yüzdedir.
Ne zaman kullanılır
enterLong ile aynı mantık; tek fark yön short (aşağı). Market giriş sonraki barın açılışında dolar, belirli fiyat için limit/stop, ekleme için id + pyramiding.
Sınırlar
SPOT modda short açılmaz. id dinamik olamaz; limit ve stop birlikte verilemez. pyramiding tavanı dolunca yeni giriş parçası beklemede kalır.
Uygun değildir
SPOT modda short açılmadığı için orada uygun değil; yalnız futures/short destekli modda kullanın. Grafiğe işaret koymak için değil (plotshape), açık giriş parçasını kapatmak için de değil (exit). Yükseliş beklentisiyle giriş yapacaksan enterLong'a geçin.
enterShort(crossunder(close, sma(close,20))) exit(crossover(close, sma(close,20)))
Fiyat SMA20'yi aşağı kesince SAT, yukarı kesince kapanış.
enterShort(barIndex==0, id='S', stop=sma(close,20)*1.02) exit(barIndex==40)
SMA20'nin %2 üstüne bekleyen stop; fiyat oraya çıkınca short dolar.
Aktif pozisyonun giriş-emrindeki comment (saf-metin not; id'den AYRI). Pozisyon yoksa "".
Aktif pozisyonun giris-emrindeki comment string'i; pozisyon yoksa bos string.
Not
enterLong/Short(comment=...) ile yazilan saf-metin notu okur. id'den AYRIDIR (tracking/cancel yapmaz). Pyramiding'de son-eklenen bacagin comment'i aktiftir.
Ne zaman kullanılır
Ayni stratejide farkli giris-sebeplerini (ornek "trend"/"reversal") ayirt edip cikis/raporlama mantigini buna gore kurmak icin.
plot(entryComment()=="trend" ? 1 : 0)
Açık pozisyonun giriş notu "trend" ise 1, değilse 0 çizer; aynı grafikte farklı giriş sebeplerini ayırt etmeye yarar.
entryMarket(condition, direction?)
Piyasa girişi (yön: long/short).
Değer döndürmez; koşul-true barında piyasa emri yönlendirir. enterLong/enterShort'un sade sarmalayıcısıdır.
Not
`order` bu fonksiyonun eş adıdır (aynı davranış). Yön argümanı ile tek çağrıda uzun/kısa seçilir; stop/kâr-al gibi risk argümanları için enterLong/enterShort kullanın.
Ne zaman kullanılır
Yönü bir değişkenle belirleyip tek satırda giriş yönlendirmek istediğinde.
yon = close > open ? "long" : "short" entryMarket(crossover(close, sma(close, 20)), yon)
Kesişim barında, mum yönüne göre uzun ya da kısa piyasa emri.
Backtest equity serisi (kâr/zarar zaman içinde). plot(equity()) ile çizin.
Backtest sermaye (equity) serisini döndürür (risk-sonrası, emir-öncesi, bar kapanışında değerlenir).
Not
Başlangıç sermayesi belirtilmezse 10000 kabul edilir. `cash()` bu fonksiyonun eş adıdır.
Ne zaman kullanılır
Strateji performansını grafiğe çizmek ya da sermaye tabanlı pozisyon boyutlandırmada.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(equity(), "Sermaye")
Sermaye eğrisini alt panoda çizer.
exit(condition, fromEntry?, qtyPct?, id?, limit?, stop?, comment?, commentProfit?, commentLoss?, profit?, loss?)
Koşul doğru olan barda açık pozisyonu kapatın — market çıkış, sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar (giriş gibi gerçekçi zamanlama). fromEntry sabit metin ise yalnız o giriş parçasını hedefler; qtyPct kalanın yüzdesini kapatır. limit ve/veya stop verilirse kimlikli bekleyen çıkış emri kurulur (fiyat seviyeye değince bar içinde dolar; id sabit metin şart). limit+stop birlikte = bracket (kâr-al + zarar-kes): biri dolunca diğeri iptal (OCO). comment: cikisa yazilan SAF-METIN not — closedTradeExitComment() ile geri okunur; otomatik sebep-kodu (signal/stop/target/trail/eod...) AYRI olarak closedTradeExitReason() ile okunur. commentProfit/commentLoss: limit ya da stop seviyesinden hangisi dolduysa o notu yazar (yoksa comment). profit/loss: koruma seviyesini FİYAT yerine TİK cinsinden verir — giriş fiyatından profit×tik yukarısı kâr-al, loss×tik aşağısı zarar-kes (kısa pozisyonda ters). Girişin risk ayarına yazılır, yani stopLossTicks/takeProfitTicks ile AYNI mekanizmadır. Koşulsuz çağrıda geçerlidir; koşula bağlı yazımda kurulmaz ve uyarı verilir.
Değer döndürmez; market çıkış (sonraki barın açılışında) tetikler ya da id'li bir bekleyen çıkış emri kurar.
Not
limit/stop verilmezse market çıkış olur: sinyalin oluştuğu barın SONRAKİ barının açılış fiyatından dolar (giriş gibi gerçekçi zamanlama). Yalnız limit ya da yalnız stop → kimlikli bekleyen çıkış (fiyat seviyeye değince bar içinde dolar). limit ve stop birlikte → bracket (kâr-al + zarar-kes çifti): biri dolunca diğeri otomatik iptal olur (OCO). qtyPct kısmi kapatır; bracket tek seferliktir (dolunca silinir, kalan giriş parçası korumasız kalır).
Ne zaman kullanılır
Kurala bağlı market çıkış için sade exit(koşul) — sinyalin sonraki barının açılışında dolar. Belirli hedef/zarar seviyesi için bekleyen limit/stop. Kâr-al ve zarar-kes çiftini tek emirde yönetmek için bracket (limit+stop).
Sınırlar
id ve fromEntry dinamik olamaz. Bracket'te aynı barda hem hedefe hem zarar seviyesine dokunulursa önce erişilen dolar; tam eşitlikte zarar-kes önceliklidir. Pozisyon seviyesindeki risk-kes (stopLoss/takeProfit) aynı barda önce değerlendirilir; pozisyonu kapatırsa bekleyen çıkış emirleri o bar dolmaz.
Uygun değildir
Yeni bir pozisyon açmak için uygun değil — giriş enterLong/enterShort iledir; exit yalnız açık bir giriş parçasını kapatır ya da ona koruma emri kurar. Henüz açık pozisyon yokken exit çağırmak bir şey yapmaz. Bekleyen bir giriş emrini geri çekmek istiyorsanız exit değil cancel/cancelAll kullanın.
İpucu
Tek çağrı hem market çıkışı hem de bekleyen kâr-al / zarar-kes emrini yönetir; limit ve stop birlikte verildiğinde biri dolunca diğeri iptal olur.
Tek çağrı hem market çıkışı hem de bekleyen kâr-al / zarar-kes emrini yönetir; limit ve stop birlikte verildiğinde biri dolunca diğeri iptal olur.
enterLong(crossover(close, sma(close,10))) exit(crossunder(close, sma(close,10)))
Kurala bağlı anlık çıkış: SMA10 aşağı kesilince kapanış.
enterLong(barIndex==0, id='L') exit(barIndex==5, fromEntry='L', qtyPct=50) exit(barIndex==40)
5. barda L giriş parçasının yalnız %50'si kapanır; kalanı 40. barda.
Kapanan zararlı işlemlerin toplam % zararı (running).
Zararlı kapanan işlemlerin toplam zararını (brüt zarar, pozitif büyüklük) koşan seri olarak döndürür.
Ne zaman kullanılır
Kâr faktörü ve risk oranlarında payda olarak.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(grossLoss(), "Brüt Zarar")
Kümülatif brüt zararı çizer.
Kapanan zararli islemlerin toplam MUTLAK-PARA zarari (running, pozitif). grossLoss YÜZDE dondurur; bu para-birimi.
Kapanan zararli islemlerin toplam MUTLAK-PARA zarari (running, pozitif sayi).
Not
grossLoss'in MUTLAK-PARA versiyonu (pnlPct/100 x notional; equity-modda notional=baslangic-sermaye). Yuzde-isim (grossLoss) DEGISMEDI, geriye-uyumlu. Para-birimi ile yuzde karistirilmamali.
Ne zaman kullanılır
Pozisyon-boyutlandirma/risk raporlamasi mutlak para-birimi gerektirdiginde (yuzde yerine).
plot(grossLossCurrency())
Zararla kapanan tüm işlemlerin toplam zararını para birimiyle çizer; pozitif sayı olarak verilir.
Kapanan kârlı işlemlerin toplam % kârı (running).
Kazançlı kapanan işlemlerin toplam kârını (brüt kâr) koşan seri olarak döndürür.
Ne zaman kullanılır
Kâr faktörü (grossProfit/grossLoss) gibi performans oranlarını hesaplamak için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(grossProfit(), "Brüt Kâr")
Kümülatif brüt kârı çizer.
Kapanan karli islemlerin toplam MUTLAK-PARA kari (running). grossProfit YÜZDE dondurur; bu para-birimi (pnlPct/100 x notional).
Kapanan karli islemlerin toplam MUTLAK-PARA kari (o bara kadar, running).
Not
grossProfit'in MUTLAK-PARA versiyonu (pnlPct/100 x notional; equity-modda notional=baslangic-sermaye). Yuzde-isim (grossProfit) DEGISMEDI, geriye-uyumlu. Para-birimi ile yuzde karistirilmamali.
Ne zaman kullanılır
Pozisyon-boyutlandirma/risk raporlamasi mutlak para-birimi gerektirdiginde (yuzde yerine).
plot(grossProfitCurrency())
Kârla kapanan tüm işlemlerin toplam kârını para birimiyle çizer.
Tek-işlem en-büyük % zarar (running, POZITIF-abs). Para için largestLosingTradeCurrency.
Not
Simdiye kadarki tek kapanan islemin en-buyuk % zarari, POZITIF-abs. Para icin *Currency.
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(largestLosingTrade())
Tek bir işlemde görülen en büyük yüzde zararı çizer; stratejinin en kötü anını gösterir.
Tek-işlem en-büyük MUTLAK-PARA zarar (running, pozitif).
Not
Tek bir kapanan işlemde görülen en büyük zarar. Ölçü birimi yüzdedir; `Currency` ekli sürüm mutlak para değerini verir (yüzde ÷ 100 × pozisyon büyüklüğü). Zarar ölçütleri pozitif sayı olarak verilir — `grossLoss` ile aynı kural.
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
Tek kapanan islemin en-buyuk mutlak-para zarari (pozitif).
plot(largestLosingTradeCurrency())
Tek bir işlemde görülen en büyük zararı para birimiyle çizer.
Tek-işlem en-büyük % kar (running). Para için largestWinningTradeCurrency.
Not
Simdiye kadarki tek kapanan islemin en-buyuk % kari. Para icin *Currency.
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(largestWinningTrade())
Tek bir işlemde görülen en büyük yüzde kârı çizer.
Tek-işlem en-büyük MUTLAK-PARA kar (running).
Not
Tek kapanan islemin en-buyuk mutlak-para kari (pnlPct/100 x notional bazinda).
Ne zaman kullanılır
Islem-kalitesi/risk raporlamasi (ortalama kazanc-kayip, en-buyuk tek-islem) gerektiginde.
plot(largestWinningTradeCurrency())
Tek bir işlemde görülen en büyük kârı para birimiyle çizer.
Kaybeden işlem sayısı (running).
O ana kadar zararla kapanan işlem sayısını koşan seri olarak döndürür.
Ne zaman kullanılır
Kayıp oranı ve beklenti hesaplarında.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(lossTrades(), "Kaybeden")
Kümülatif kaybeden işlem sayısını çizer.
Kaldiracli pozisyonda marj-likidasyon fiyati: long → giriş x (1 - 1/kaldirac), short → giriş x (1 + 1/kaldirac). Kaldirac yoksa (1x) veya pozisyon yoksa bos.
Not
Fiyat bu seviyeye ulasirsa pozisyon likide olur (equity sifirlanir). Likidasyon kontrolunde kullanilan AYNI formul. Kaldiracsiz hesapta anlamsiz oldugu icin bos doner.
Ne zaman kullanılır
Kaldirac/marj riskini ve pozisyon-buyuklugu tepe-noktasini raporlarken.
plot(marginLiquidationPrice())
Kaldıraçlı pozisyonun tasfiye fiyatını fiyatın üstüne çizer; fiyat bu çizgiye ulaşırsa pozisyon zorla kapatılır.
n ardışık ZARARLI günden sonra pozisyonlar ZORLA KAPANIR ve yeni emir kalıcı engellenir. Adlandırılmış argüman olarak `count` da kullanılabilir (n ile birebir aynı).
Değer döndürmez. n ardışık zararlı günün ardından açık pozisyon kapatılır ve strateji kalıcı olarak durur.
Not
Bir gün, o günün kapanış sermayesi gün başındakinden düşükse zararlı sayılır. Sınır bir kez aşıldığında etkisi kalıcıdır; aynı çalıştırmada strateji bir daha pozisyon açmaz.
Sınırlar
Yalnız backtest/paper simülasyonunu etkiler; gerçek bir brokere bağlı canlı emirler bu sürümde yoktur.
maxConsecLossDays(2) enterLong(true)
2 ardışık zararlı günün ardından pozisyon kapanır, strateji bir daha giriş yapmaz.
Simdiye kadar TUTULAN en yüksek kontrat sayısı (yon farketmeksizin, mutlak değer).
Not
Kaynak: her bardaki pozisyon buyuklugu (positionSize) uzerinden running-max. %equity modunda oran-bazli, kontrat/nakit modunda gercek kontrat sayisidir.
Ne zaman kullanılır
Kaldirac/marj riskini ve pozisyon-buyuklugu tepe-noktasini raporlarken.
plot(maxContractsHeldAll())
Şimdiye kadar aynı anda tutulan en büyük pozisyonu çizer; alış ve satış ayrımı yapmaz.
Simdiye kadar TUTULAN en yüksek LONG kontrat sayısı.
Not
Yalnızca long taraf; short barlar 0 sayılır. Değer, bar bar kaydedilen pozisyon büyüklüğünün o ana kadarki en yükseğidir — tasfiye hesabında kullanılan formülün aynısı.
Ne zaman kullanılır
Kaldirac/marj riskini ve pozisyon-buyuklugu tepe-noktasini raporlarken.
Yalnizca long taraf; short barlar 0 sayilir.
plot(maxContractsHeldLong())
Şimdiye kadar tutulan en büyük alış pozisyonunu çizer.
Simdiye kadar TUTULAN en yüksek SHORT kontrat sayısı.
Not
Yalnızca short taraf; long barlar 0 sayılır. Değer, bar bar kaydedilen pozisyon büyüklüğünün o ana kadarki en yükseğidir — tasfiye hesabında kullanılan formülün aynısı.
Ne zaman kullanılır
Kaldirac/marj riskini ve pozisyon-buyuklugu tepe-noktasini raporlarken.
Yalnizca short taraf; long barlar 0 sayilir.
plot(maxContractsHeldShort())
Şimdiye kadar tutulan en büyük satış pozisyonunu çizer.
Maksimum düşüş limiti; aşılınca pozisyonlar ZORLA KAPANIR ve yeni emir kalıcı engellenir. tip: strategy.percent_of_equity (tepe-equity %si) | strategy.cash (mutlak).
Değer döndürmez. Düşüş bu sınırı aşınca açık pozisyon kapatılır ve strateji kalıcı olarak durur.
Not
Sınır bir kez aşıldığında etkisi kalıcıdır; aynı çalıştırmada strateji bir daha pozisyon açmaz. Düşüş GİRİŞ fiyatına göre değil, stratejinin o ana kadar ulaştığı EN YÜKSEK equity'ye (tepe) göre ölçülür — pozisyon giriş fiyatına göre hâlâ kârda olsa bile equity kendi tepesinden bu oranda gerilerse yine tetiklenir.
Sınırlar
Yalnız backtest/paper simülasyonunu etkiler; gerçek bir brokere bağlı canlı emirler bu sürümde yoktur.
maxDrawdownRisk(10, strategy.percent_of_equity) enterLong(true)
Pozisyon giriş fiyatına göre hâlâ kârda olsa bile, equity kendi tepesinden %10 düşünce pozisyon kapanır, strateji bir daha giriş yapmaz.
Günde n dolan emirden sonra pozisyonlar ZORLA KAPANIR ve seans sonuna dek yeni emir engellenir. Adlandırılmış argüman olarak `count` da kullanılabilir (n ile birebir aynı).
Değer döndürmez. Gün içinde n emir dolduktan sonra açık pozisyon kapatılır ve o gün için yeni giriş engellenir.
Not
Amaç, aşırı sık işlem yapılmasını sınırlamaktır. Sınır bir sonraki gün (UTC gün değişiminde) sıfırlanır.
Sınırlar
Yalnız backtest/paper simülasyonunu etkiler; gerçek bir brokere bağlı canlı emirler bu sürümde yoktur.
maxIntradayFilledOrders(3) enterLong(barIndex % 2 == 0) enterShort(barIndex % 2 == 1)
Gün içinde 3. emir dolunca pozisyon kapanır, o gün yeni giriş açılmaz.
Gün içi maksimum zarar; aşılınca o gün pozisyonlar ZORLA KAPANIR ve yeni emir engellenir (ertesi gün sıfırlanır). tip: percent_of_equity | cash.
Değer döndürmez. Gün içi zarar bu sınırı aşınca açık pozisyon kapatılır ve o gün için yeni giriş engellenir.
Not
Kısıtlama yalnız o gün geçerlidir; bir sonraki gün (UTC gün değişiminde) sıfırlanır ve strateji normal çalışmaya döner.
Sınırlar
Yalnız backtest/paper simülasyonunu etkiler; gerçek bir brokere bağlı canlı emirler bu sürümde yoktur.
maxIntradayLoss(5, strategy.percent_of_equity) enterLong(true)
Gün içinde sermayenin %5'i kaybedilince pozisyon kapanır; ertesi gün sınır sıfırlanır.
Kontrat/nakit modunda (defaultEntryQty/sizeByCash) pozisyonun ulaşabileceği en yüksek kontrat/hisse adedi; istenen büyüklük bu sınırı aşarsa sınıra indirilir. %equity modunda etkisizdir.
Değer döndürmez. Kontrat/nakit modunda (defaultEntryQty veya sizeByCash) pozisyonun ulaşabileceği en yüksek adedi sınırlar; istenen büyüklük bu sınırı aşarsa sınıra indirilir.
Not
Yalnız adet-bazlı boyutlandırmayla (defaultEntryQty/sizeByCash) birlikte anlamlıdır. Varsayılan %equity modunda kontrat kavramı olmadığından etkisizdir ve çağrıldığında bir uyarı verilir.
Sınırlar
%equity modunda etkisizdir (uyarı verir). Kontrat sınırı için önce defaultEntryQty veya sizeByCash ile adet-bazlı moda geçin.
defaultEntryQty(5) maxPositionSize(2) enterLong(crossover(close, sma(close, 20))) exit(crossunder(close, sma(close, 20))) plot(close)
5 adet istense de pozisyon en fazla 2 adete kadar açılır (sınıra indirilir).
Başlangıç sermayesine göre net kâr veya zararı bar bar verir. Sıfırın üstü kâr, altı zarar demektir. Bir stratejinin eğrisini çizmek ya da belirli bir kayıptan sonra davranış değiştirmek için okunur.
Net kâr/zarar serisini döndürür: sermaye − başlangıç sermayesi.
Ne zaman kullanılır
Stratejinin başlangıca göre kümülatif kazancını izlemek için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(netPnl(), "Net K/Z")
Kümülatif net kâr/zararı çizer.
Açık pozisyonun hesaptan AYIRDIĞI (kilitlediği) para: nominal ÷ kaldıraç. Kaldıraç yoksa nominale eşittir, 10 kat kaldıraçta onda biri olur. Nominal tabanı openTradeProfit ile aynıdır (varsayılan %%equity → başlangıç sermayesi, kontrat modu → adet × giriş fiyatı, nakit modu → ayrılan nakit). Pozisyon yoksa boş değer.
plot(openTradeCapitalHeld())
Açık pozisyonun hesapta kilitlediği parayı çizer; kaldıraç büyüdükçe aynı pozisyon için kilitlenen tutar küçülür.
Açık işlem komisyonu.
Açık işlemin şu ana kadar ödediği komisyon (yalnız giriş) — para birimi. Açık pozisyon yoksa na.
Not
Yalnız giriş komisyonudur (çıkış henüz gerçekleşmedi); tüm açık bacakların toplamı, kalan miktar üzerinden. Kayma (slip) hariç.
enterLong(crossover(close, sma(close, 10))) plot(openTradeCommission(), "Açık komisyon")
Açık pozisyonun şu ana kadar ödediği giriş komisyonunu verir (pozisyon yoksa na).
Açık işlemin giriş bar indeksi.
Açık pozisyonun giriş bar indeksini döndürür; flat ise na.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeEntryBar(), "Açık Giriş Barı")
Açık pozisyonun giriş bar sırasını çizer.
Açık işlem giriş notu.
Açık işlemin GİRİŞ notu — `enterLong/enterShort(comment="…")` ile yazılan metin. comment verilmemişse boş metin döner.
Not
Yorum takibi yok; boş metin.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, openTradeEntryComment())
Boş metin döner.
Açık işlem giriş id'si.
Açık işlemin GİRİŞ emri kimliği — `enterLong/enterShort(id="…")` ile verilen metin. id verilmemişse boş metin döner.
Not
Kimlik takibi yok; boş metin.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) label(close, openTradeEntryId())
Boş metin döner.
Açık işlemin giriş fiyatı.
Açık pozisyonun giriş fiyatını döndürür; flat ise na.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeEntryPrice(), "Açık Giriş")
Açık pozisyonun giriş fiyatını çizer.
Açık işlemin giriş zamanı (epoch ms).
Açık pozisyonun giriş zamanını (epoch ms) döndürür; flat ise na.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeEntryTime(), "Açık Giriş Zamanı")
Açık pozisyonun giriş zamanını çizer.
Açık işlem maks. düşüş.
Açık işlemin şu ana kadar gördüğü en kötü geri-çekilme (MAE) — para birimi. Açık pozisyon yoksa na.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Açık pozisyon boyunca 'şimdiye kadarki en kötü' kümülatif değer; okunan barın düşük/yükseği de katılır. Kaldıraç/marj dahil. Başka platformların rakamlarıyla birebir örtüşmeyebilir; fark bu ölçüt seçiminden gelir.
enterLong(crossover(close, sma(close, 10))) plot(openTradeMaxDrawdown(), "Açık MAE")
Açık pozisyonun şu ana kadarki en kötü para-cinsinden geri-çekilmesini verir (pozisyon yoksa na).
Açık işlem maks. düşüş (%).
Açık işlemin şu ana kadarki en kötü geri-çekilmesi (MAE) — yüzde. Açık pozisyon yoksa na.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Açık pozisyon boyunca kümülatif 'en kötü' yüzde; okunan barın düşük/yükseği de katılır. Kaldıraç dahil (kâr/zarar yüzdesiyle aynı ölçek). Başka platformların rakamlarıyla birebir örtüşmeyebilir; fark bu ölçüt seçiminden gelir.
enterLong(crossover(close, sma(close, 10))) plot(openTradeMaxDrawdownPercent(), "Açık MAE %")
Açık pozisyonun şu ana kadarki en kötü geri-çekilme yüzdesini verir (pozisyon yoksa na).
Açık işlem maks. yükseliş.
Açık işlemin şu ana kadar ulaştığı en iyi yükseliş (MFE) — para birimi. Açık pozisyon yoksa na.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Açık pozisyon boyunca 'şimdiye kadarki en iyi' kümülatif değer; okunan barın yüksek/düşüğü de katılır. Kaldıraç/marj dahil. Başka platformların rakamlarıyla birebir örtüşmeyebilir; fark bu ölçüt seçiminden gelir.
enterLong(crossover(close, sma(close, 10))) plot(openTradeMaxRunup(), "Açık MFE")
Açık pozisyonun şu ana kadarki en iyi para-cinsinden yükselişini verir (pozisyon yoksa na).
Açık işlem maks. yükseliş (%).
Açık işlemin şu ana kadarki en iyi yükselişi (MFE) — yüzde. Açık pozisyon yoksa na.
Not
SAF fiyat-hareketidir: komisyon/carry HARİÇ. Açık pozisyon boyunca kümülatif 'en iyi' yüzde; okunan barın yüksek/düşüğü de katılır. Kaldıraç dahil (kâr/zarar yüzdesiyle aynı ölçek). Başka platformların rakamlarıyla birebir örtüşmeyebilir; fark bu ölçüt seçiminden gelir.
enterLong(crossover(close, sma(close, 10))) plot(openTradeMaxRunupPercent(), "Açık MFE %")
Açık pozisyonun şu ana kadarki en iyi yükseliş yüzdesini verir (pozisyon yoksa na).
Açık işlem gerçekleşmemiş kâr (tahmini).
Açık pozisyonun gerçekleşmemiş kâr/zararını PARA cinsinden döndürür (unrealized% × başlangıç / 100); flat ise na.
Not
Yüzde için `openTradeProfitPercent()`.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeProfit(), "Açık K/Z")
Açık pozisyonun para cinsi gerçekleşmemiş K/Z'sini çizer.
Açık işlem gerçekleşmemiş kâr %'si.
Açık pozisyonun gerçekleşmemiş kâr/zararını YÜZDE olarak döndürür; flat ise na.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeProfitPercent(), "Açık %")
Açık pozisyonun yüzde gerçekleşmemiş K/Z'sini çizer.
Açık işlem yönü/büyüklüğü.
Açık pozisyonun yönünü döndürür: +1 uzun, −1 kısa, 0 flat.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradeSize(), "Açık Yön")
Açık pozisyon yönünü çizer.
Açık işlem sayısı (0/1).
Açık işlem sayısını döndürür: pozisyon varsa 1, flat ise 0.
Not
En çok tek açık işlem modellenir (piramitleme seviyelerine göre ayrışmaz).
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(openTradesCount(), "Açık İşlem")
Açık pozisyon olup olmadığını (1/0) çizer.
Açık işlem listesinin ilk sırası. Bu yapıda işlem geçmişi hiç kırpılmaz (üst sınır yok), bu yüzden her zaman 0 döner. referans dil'dan taşınan `for i = openTradesFirstIndex() to openTradesCount() - 1` biçimindeki döngüler olduğu gibi çalışsın diye vardır.
Açık işlem listesinin ilk sırası. Bu yapıda işlem geçmişi hiç kırpılmaz (üst sınır yok), bu yüzden her zaman 0 döner. `for i = openTradesFirstIndex() to openTradesCount() - 1` biçiminde yazılan döngüler, ileride kırpma eklenirse de doğru çalışsın diye vardır.
plot(openTradesFirstIndex())
Açık işlem listesinin ilk sırasını çizer.
Genel emir (yön: long/short).
Değer döndürmez; `entryMarket` ile birebir aynı — koşul-true barında piyasa emri yönlendirir.
Not
`entryMarket`'in eş adıdır. İkisi de aynı çekirdeği (enterLong/enterShort) çağırır.
order(crossover(close, sma(close, 20)))
Kesişim barında uzun piyasa emri.
O bardaki pozisyon yönünü verir: uzunsa +1, kısaysa -1, pozisyon yoksa 0. Bir göstergeyi pozisyona göre renklendirmek ya da yalnız pozisyon varken hesap yapmak için kullanılır. Miktarı değil yönü söyler.
Bar başına pozisyon yönü: +1 long, -1 short, 0 flat.
Not
Yalnız YÖNÜ verir (büyüklük değil). Büyüklük/giriş parçası için positionSize.
Ne zaman kullanılır
Pozisyon yönüne göre renklendirme ya da filtre için (örn. long iken mumu yeşile boya).
Sınırlar
Yalnız +1/-1/0; kaç giriş parçası açık olduğunu göstermez.
Uygun değildir
Kaç giriş parçası açık olduğunu ya da büyüklüğü öğrenmek için uygun değil — yalnız yönü (+1/-1/0) verir; büyüklük için positionSize kullanın. Pozisyon açmak/kapatmak da bu fonksiyonla olmaz; enterLong/enterShort/exit kullanın. Yönden bağımsız bir işaret çizmek istiyorsanız plotshape daha uygundur.
enterLong(crossover(close,sma(close,20))) exit(crossunder(close,sma(close,20))) barcolor(iff(position() > 0, "#26a69a", na))
Long taşınan barlarda mumlar yeşil; flat barlar boyanmaz.
enterLong(crossover(close,sma(close,20))) plot(position(), "yön", "#ff9800")
Alt panoda 0/+1 arası basamaklı yön çizgisi.
Açık pozisyonun giriş fiyatı (flat'te boş).
Açık pozisyonun ortalama giriş fiyatını döndürür; pozisyon yokken (flat) na.
Not
Flat iken na döner — kullanmadan önce `position() != 0` ile guard'la.
Ne zaman kullanılır
Açık pozisyona göre stop/hedef seviyesi hesaplamak için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(positionAvg(), "Giriş Fiyatı")
Açık pozisyonun giriş fiyatını çizer.
Pozisyon büyüklüğü/yönü (+/-).
Yön × açık giriş parçalarının kalan miktar toplamı (kesirli olabilir).
Not
position() yalnız yön verirken positionSize açık giriş parçası sayısı ve kısmi kapanışları yansıtır: 3 giriş parçası → +3, %50 kapanınca +2.5.
Ne zaman kullanılır
Piramitleme ya da kısmi çıkışın etkisini izlemek için (kaç birim açık kaldı).
Sınırlar
Mutlak lot/kontrat değil; giriş parçası-oranı bazlı bir büyüklüktür.
Uygun değildir
Gerçek lot/kontrat adedi beklediğiniz yerde uygun değil — giriş parçası-oranı bazlı bir büyüklük verir, borsa emri boyutu değil. Yalnız yön (long/short/flat) lazımsa position() daha sadedir. Pozisyon açıp kapatma bu fonksiyonla yapılmaz; onlar için enterLong/enterShort/exit kullanın.
pyramiding(3) enterLong(rsi(close,14)<40, id='L') exit(rsi(close,14)>60) plot(positionSize(), "boyut", "#2962ff")
Alt panoda basamak: +1→+2→+3, çıkışta 0.
enterLong(barIndex==0, id='L') exit(barIndex==10, fromEntry='L', qtyPct=50) plot(positionSize(), "kalan", "#2962ff") exit(barIndex==40)
10. barda %50 kısmi çıkış → boyut +1'den +0.5'e düşer.
Running maksimum yükseliş (%).
O ana kadarki en düşük sermaye dibinden yükselişi (run-up) yüzde olarak döndürür.
Ne zaman kullanılır
Stratejinin lehte hareket potansiyelini ölçmek için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(runupPct(), "Yükseliş %")
Koşan yükseliş yüzdesini çizer.
scan(condition, title?, score?, note?)
Son barda koşul true ise tarama satiri uretir. v0.1: yalnizca calisma ciktisi; Avci/persist henuz bagli degil.
Değer döndürmez; son barda koşul sağlanırsa bir tarama satırı üretir.
Not
v0.1: yalnız çalışma çıktısı; tarayıcı/kalıcı kayıt sonraki fazda bağlanacak.
scan(close > sma(close, 20), title="MA ustu", score=roc(close, 1))
Son barda fiyat 20 barlık ortalamanın üstündeyse sembolü tarama sonucuna ekler; satır "MA üstü" başlığıyla görünür ve son barın yüzde değişimine göre sıralanır.
n. işlemin bar süresi.
n. kapanan işlemin kaç bar sürdüğünü döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeBars(0), "Bar Süresi")
İlk işlemin bar süresini çizer.
Kapanan işlem sayısı (skaler).
Kapanan toplam işlem sayısını (skaler) döndürür.
Not
`closedTradesCount()` bunun eş adıdır. Seri değil, o-anki toplam sayıdır.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeCount(), "İşlem Sayısı")
Şu ana dek kapanan işlem sayısını çizer.
n. işlemin giriş fiyatı (0-tabanlı; -1=son).
n. kapanan işlemin giriş fiyatını döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeEntryPrice(0), "İlk Giriş")
İlk kapanan işlemin giriş fiyatını çizer.
n. işlemin giriş zamanı (epoch ms).
n. kapanan işlemin giriş zamanını (epoch ms) döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeEntryTime(0), "Giriş Zamanı")
İlk işlemin giriş zamanını çizer.
n. işlemin çıkış fiyatı.
n. kapanan işlemin çıkış fiyatını döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeExitPrice(0), "İlk Çıkış")
İlk kapanan işlemin çıkış fiyatını çizer.
n. işlemin çıkış zamanı (epoch ms).
n. kapanan işlemin çıkış zamanını (epoch ms) döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeExitTime(0), "Çıkış Zamanı")
İlk işlemin çıkış zamanını çizer.
n. işlemin net % kâr/zararı.
n. kapanan işlemin kâr/zararını YÜZDE olarak döndürür (pnl%).
Not
Birim YÜZDEDİR, para değil. Para birimiyle isterseniz `closedTradeProfit(n)` kullanın.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeProfit(0), "İlk K/Z %")
İlk işlemin yüzde kâr/zararını çizer.
n. işlemin boyut oranı.
n. kapanan işlemin yön/büyüklüğünü döndürür.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(tradeSize(0), "Yön")
İlk işlemin yönünü çizer.
Kazanan işlem sayısı (running).
O ana kadar kazançla kapanan işlem sayısını koşan seri olarak döndürür.
Ne zaman kullanılır
Kazanma oranı (winTrades/closedTrades) hesaplamak için.
enterLong(crossover(close, sma(close, 10))) exit(crossunder(close, sma(close, 10))) plot(winTrades(), "Kazanan")
Kümülatif kazanan işlem sayısını çizer.
Başabaş (kâr sıfır) kapanan işlem sayısı (running).
O ana kadar BAŞABAŞ (kâr sıfır) kapanan işlem sayısını koşan seri olarak döndürür.
Ne zaman kullanılır
Kazanan + kaybeden + başabaş = kapalı işlem kimliğini doğrulamak ve kazanma oranını başabaş işlemleri saymadan hesaplamak için.
plot(evenTrades())
Başabaş kapanan, yani ne kâr ne zarar bırakan işlemlerin sayısını çizer.