Untitled

 avatar
unknown
plain_text
23 days ago
3.2 kB
3
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