Untitled
//@version=5 strategy("Variety RSI w/ Fibonacci Auto Channel [Loxx] - Strategy", shorttitle="VRSIFAC Strategy", overlay=false) // Girişler ve ayarlar rsitype = input.string("Regular", "RSI Type", options=["RSX", "Regular", "Slow", "Rapid", "Harris", "Cuttler", "Ehlers Smoothed"], group="RSI Settings") rsiper = input.int(15, "RSI Period", group="RSI Settings") smthper = input.int(15, "Smoothing Period", group="RSI Settings") hlper = input.int(25, "Hilo Period", group="RSI Settings") type = input.string("SMA", "RSI Smoothing Type", options=["EMA", "WMA", "RMA", "SMA", "VWMA"], group="RSI Settings") sigtype = input.string("Middle Crossover", "Signal Type", options=["Signal", "Middle Crossover", "Fib Level 1 Crossover", "Fib Level 2 Crossover", "Fib Level 3 Crossover", "Fib Level 4 Crossover"], group="Signal Settings") lev1in = input.float(0.236, "Fib Level 1", group="Fibonacci Levels") lev2in = input.float(0.382, "Fib Level 2", group="Fibonacci Levels") lev3in = input.float(0.618, "Fib Level 3", group="Fibonacci Levels") lev4in = input.float(0.764, "Fib Level 4", group="Fibonacci Levels") src = close // Varsayılan kaynak kapanış fiyatı // RSI Hesaplama variant(type, src, len) => type == "SMA" ? ta.sma(src, len) : type == "EMA" ? ta.ema(src, len) : type == "WMA" ? ta.wma(src, len) : type == "RMA" ? ta.rma(src, len) : type == "VWMA" ? ta.vwma(src, len) : na srcout = variant(type, src, smthper) rsi = switch rsitype "RSX" => ta.rsi(srcout, rsiper) // Örnek olarak "Regular" => ta.rsi(srcout, rsiper) "Slow" => ta.rma(srcout, rsiper) "Rapid" => ta.wma(srcout, rsiper) "Harris" => ta.ema(srcout, rsiper) "Cuttler" => ta.sma(srcout, rsiper) "Ehlers Smoothed" => ta.ema(ta.rsi(srcout, rsiper), smthper) // Fibonacci seviyeleri ll = ta.lowest(rsi, hlper) hh = ta.highest(rsi, hlper) rng = hh - ll lev1 = ll + lev1in * rng lev2 = ll + lev2in * rng lev3 = ll + lev3in * rng lev4 = ll + lev4in * rng mid = (hh + ll) / 2 // Giriş ve çıkış koşulları goLong = sigtype == "Signal" ? ta.crossover(rsi, ta.sma(rsi, rsiper)) : sigtype == "Middle Crossover" ? ta.crossover(rsi, mid) : sigtype == "Fib Level 1 Crossover" ? ta.crossover(rsi, lev1) : sigtype == "Fib Level 2 Crossover" ? ta.crossover(rsi, lev2) : sigtype == "Fib Level 3 Crossover" ? ta.crossover(rsi, lev3) : ta.crossover(rsi, lev4) goShort = sigtype == "Signal" ? ta.crossunder(rsi, ta.sma(rsi, rsiper)) : sigtype == "Middle Crossover" ? ta.crossunder(rsi, mid) : sigtype == "Fib Level 1 Crossover" ? ta.crossunder(rsi, lev1) : sigtype == "Fib Level 2 Crossover" ? ta.crossunder(rsi, lev2) : sigtype == "Fib Level 3 Crossover" ? ta.crossunder(rsi, lev3) : ta.crossunder(rsi, lev4) // Strateji işlemleri if (goLong) strategy.entry("Long", strategy.long) if (goShort) strategy.close("Long") // Grafik öğeleri plot(lev1, color=color.new(color.green, 50), title="Level 1") plot(lev2, color=color.new(color.yellow, 50), title="Level 2") plot(lev3, color=color.new(color.orange, 50), title="Level 3") plot(lev4, color=color.new(color.red, 50), title="Level 4") plot(mid, color=color.blue, title="Midline") plot(rsi, color=color.white, linewidth=2, title="RSI")
Leave a Comment