Untitled
unknown
plain_text
7 months ago
3.2 kB
5
Indexable
//@version=5
strategy("KULE Strateji", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Giriş Parametreleri
rsiPeriod = input.int(14, title="RSI Periyodu", minval=1)
upperLevel = input.float(67, title="RSI Üst Seviye", minval=50, maxval=100)
lowerLevel = input.float(33.3333, title="RSI Alt Seviye", minval=0, maxval=50)
startDate = input.time(timestamp("2024-08-01"), "Başlama Tarihi")
endDate = input.time(timestamp("2025-12-31"), "Bitiş Tarihi")
APIKEY = input.string(title="API Key ", display = display.none, defval="", inline = "Algo Ayarlari")
TOKEN = input.string(title=" TOKEN ", display = display.none, defval="", inline = "Algo Ayarlari")
// Hesaplamalar
C = close
rsiValue = ta.rsi(C, rsiPeriod)
// Değişkenler
var string sonYon = ""
var string sinyal = ""
var int sayacYukari = 0
var int sayacAsagi = 0
var float referansFiyatYukari = 0.0
var float referansFiyatAsagi = 0.0
var float referansRSIYukari = 0.0
var float referansRSIAsagi = 0.0
var bool onaylandiYukari = false
var bool onaylandiAsagi = false
// Strateji için ek değişkenler
var bool longPozisyon = false
// Mevcut Barın Zamanı
currentTime = time
// Strateji sadece belirtilen tarih aralığında çalışacak
isInDateRange = (currentTime >= startDate and currentTime <= endDate)
// Ana Hesaplamalar
if (ta.rsi(C[1], rsiPeriod) <= upperLevel and rsiValue > upperLevel)
referansFiyatYukari := C
referansRSIYukari := rsiValue
sayacYukari := 2
onaylandiYukari := false
if (ta.rsi(C[1], rsiPeriod) >= lowerLevel and rsiValue < lowerLevel)
referansFiyatAsagi := C
referansRSIAsagi := rsiValue
sayacAsagi := 2
onaylandiAsagi := false
if (sayacYukari == 0 and C > referansFiyatYukari and rsiValue > upperLevel)
onaylandiYukari := true
if (sayacAsagi == 0 and C < referansFiyatAsagi and rsiValue < lowerLevel)
onaylandiAsagi := true
// Sayaçları azalt
if (sayacYukari > 0)
sayacYukari := sayacYukari - 1
if (sayacAsagi > 0)
sayacAsagi := sayacAsagi - 1
// Sinyaller
if (onaylandiYukari)
sinyal := "A" // AL
onaylandiYukari := false
if (onaylandiAsagi)
sinyal := "S" // SAT
onaylandiAsagi := false
// Yönü güncelle ve işlem stratejisi
if (sinyal != sonYon and sinyal != "")
sonYon := sinyal
// Strateji işlemleri
if (sinyal == "A" and not longPozisyon and isInDateRange)
strategy.entry("Long", strategy.long, comment="AL")
longPozisyon := true
if (sinyal == "S" and longPozisyon and isInDateRange)
strategy.close("Long", comment="SAT")
longPozisyon := false
// Mumları renklendir
barcolor(sonYon == "A" ? color.green : sonYon == "S" ? color.red : na)
// Alım Satım Sinyallerini Göster
plotshape(onaylandiYukari ? 1 : na, title="Al Sinyali", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(onaylandiAsagi ? 1 : na, title="Sat Sinyali", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
Editor is loading...
Leave a Comment