PROTECTED SOURCE SCRIPT
My script

//version=5
indicator("NQ Fib + True Open Strategy [Error-Free]", overlay=true, max_lines_count=500)
// === Inputs ===
fibLevel1 = input.float(0.79, "79% Fib Level", minval=0, maxval=1, step=0.01)
fibLevel2 = input.float(0.85, "85% Fib Level", minval=0, maxval=1, step=0.01)
trueOpenTime = input.session("0930-1000", "True Open Time (EST)")
useVolumeFilter = input(true, "Use Volume Filter")
minVolumeRatio = input.float(1.5, "Volume Spike Ratio", minval=1, step=0.1)
trendLength = input.int(5, "Trend Leg Length", minval=1)
// === Trend Detection ===
upTrend = ta.highest(high, trendLength) > ta.highest(high, trendLength)[trendLength] and
ta.lowest(low, trendLength) > ta.lowest(low, trendLength)[trendLength]
downTrend = ta.lowest(low, trendLength) < ta.lowest(low, trendLength)[trendLength] and
ta.highest(high, trendLength) < ta.highest(high, trendLength)[trendLength]
// === Fibonacci Levels ===
swingHigh = ta.highest(high, 10)
swingLow = ta.lowest(low, 10)
priceRange = swingHigh - swingLow
fib79 = swingLow + priceRange * fibLevel1
fib85 = swingLow + priceRange * fibLevel2
// === True Open Price ===
isTrueOpenTime = time(timeframe.period, trueOpenTime)
var float trueOpenPrice = na
if isTrueOpenTime
trueOpenPrice := open
// === Volume Filter ===
volumeAvg = ta.sma(volume, 20)
validVolume = not useVolumeFilter or (volume >= volumeAvg * minVolumeRatio)
// === Entry Conditions ===
nearFib79 = math.abs(close - fib79) <= ta.atr(14) * 0.25
nearFib85 = math.abs(close - fib85) <= ta.atr(14) * 0.25
nearOpenPrice = not na(trueOpenPrice) and math.abs(close - trueOpenPrice) <= ta.atr(14) * 0.25
buySignal = upTrend and (nearFib79 or nearFib85) and nearOpenPrice and validVolume
sellSignal = downTrend and (nearFib79 or nearFib85) and nearOpenPrice and validVolume
// === Plots ===
plot(fib79, "79% Fib", color.new(color.blue, 0), linewidth=1)
plot(fib85, "85% Fib", color.new(color.purple, 0), linewidth=1)
plot(trueOpenPrice, "True Open Price", color.new(color.orange, 0), linewidth=2)
plotshape(buySignal, "Buy", shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)
plotshape(sellSignal, "Sell", shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
indicator("NQ Fib + True Open Strategy [Error-Free]", overlay=true, max_lines_count=500)
// === Inputs ===
fibLevel1 = input.float(0.79, "79% Fib Level", minval=0, maxval=1, step=0.01)
fibLevel2 = input.float(0.85, "85% Fib Level", minval=0, maxval=1, step=0.01)
trueOpenTime = input.session("0930-1000", "True Open Time (EST)")
useVolumeFilter = input(true, "Use Volume Filter")
minVolumeRatio = input.float(1.5, "Volume Spike Ratio", minval=1, step=0.1)
trendLength = input.int(5, "Trend Leg Length", minval=1)
// === Trend Detection ===
upTrend = ta.highest(high, trendLength) > ta.highest(high, trendLength)[trendLength] and
ta.lowest(low, trendLength) > ta.lowest(low, trendLength)[trendLength]
downTrend = ta.lowest(low, trendLength) < ta.lowest(low, trendLength)[trendLength] and
ta.highest(high, trendLength) < ta.highest(high, trendLength)[trendLength]
// === Fibonacci Levels ===
swingHigh = ta.highest(high, 10)
swingLow = ta.lowest(low, 10)
priceRange = swingHigh - swingLow
fib79 = swingLow + priceRange * fibLevel1
fib85 = swingLow + priceRange * fibLevel2
// === True Open Price ===
isTrueOpenTime = time(timeframe.period, trueOpenTime)
var float trueOpenPrice = na
if isTrueOpenTime
trueOpenPrice := open
// === Volume Filter ===
volumeAvg = ta.sma(volume, 20)
validVolume = not useVolumeFilter or (volume >= volumeAvg * minVolumeRatio)
// === Entry Conditions ===
nearFib79 = math.abs(close - fib79) <= ta.atr(14) * 0.25
nearFib85 = math.abs(close - fib85) <= ta.atr(14) * 0.25
nearOpenPrice = not na(trueOpenPrice) and math.abs(close - trueOpenPrice) <= ta.atr(14) * 0.25
buySignal = upTrend and (nearFib79 or nearFib85) and nearOpenPrice and validVolume
sellSignal = downTrend and (nearFib79 or nearFib85) and nearOpenPrice and validVolume
// === Plots ===
plot(fib79, "79% Fib", color.new(color.blue, 0), linewidth=1)
plot(fib85, "85% Fib", color.new(color.purple, 0), linewidth=1)
plot(trueOpenPrice, "True Open Price", color.new(color.orange, 0), linewidth=2)
plotshape(buySignal, "Buy", shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)
plotshape(sellSignal, "Sell", shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
Korumalı komut dosyası
Bu komut dosyası kapalı kaynak olarak yayınlanmaktadır. Ancak, özgürce ve herhangi bir sınırlama olmaksızın kullanabilirsiniz – daha fazla bilgi burada.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.
Korumalı komut dosyası
Bu komut dosyası kapalı kaynak olarak yayınlanmaktadır. Ancak, özgürce ve herhangi bir sınırlama olmaksızın kullanabilirsiniz – daha fazla bilgi burada.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, işlem veya diğer türden tavsiye veya tavsiyeler anlamına gelmez ve teşkil etmez. Kullanım Şartları'nda daha fazlasını okuyun.