PROTECTED SOURCE SCRIPT
更新済

1012多空n

19
//version=5
indicator("三階段多空訊號(極致穩定版)", overlay=true)

maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
tick = syminfo.mintick

var bool l1 = false
var bool l2 = false
var float l2Open = na
var float l2Close = na
var label lArrow = na

var bool s1 = false
var bool s2 = false
var float s2Open = na
var float s2Close = na
var label sArrow = na

// ===== 做多 =====
if close > ma and not l1
l1 := true

if l1 and close < close[1] and open > ma and close > ma
l2 := true
l2Open := open
l2Close := close

if l2
if not ((open > ma and close > ma) or (not na(l2Close) and open == l2Close))
l1 := false
l2 := false
l2Open := na
l2Close := na

longTrigger = barstate.isconfirmed and l2 and close > l2Open and close > l2Close

if longTrigger
if not na(lArrow)
label.delete(lArrow)
lArrow := label.new(bar_index, low - tick * 5, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
l1 := false
l2 := false
l2Open := na
l2Close := na

// ===== 做空 =====
if close < ma and not s1
s1 := true

if s1 and close > close[1] and open < ma and close < ma
s2 := true
s2Open := open
s2Close := close

if s2
if not ((open < ma and close < ma) or (not na(s2Close) and open == s2Close))
s1 := false
s2 := false
s2Open := na
s2Close := na

shortTrigger = barstate.isconfirmed and s2 and close < s2Open and close < s2Close

if shortTrigger
if not na(sArrow)
label.delete(sArrow)
sArrow := label.new(bar_index, high + tick * 5, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
s1 := false
s2 := false
s2Open := na
s2Close := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート
//version=5
indicator("三階段多空(僅收盤訊號|保留全部箭頭)", overlay=true)

maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
tick = syminfo.mintick

// ===== 做多狀態 =====
var bool l1 = false
var bool l2 = false
var float l2Close = na

// ===== 做空狀態 =====
var bool s1 = false
var bool s2 = false
var float s2Close = na

// ================== 做多 ==================

// 條件一:收盤 > MA
if close > ma and not l1
l1 := true

// 條件二:開盤 + 收盤 > MA
if l1 and open > ma and close > ma
l2 := true
l2Close := close

// 條件三:MA 限制 / 例外
if l2
longException = not na(l2Close) and open >= l2Close
if not (open > ma and close > ma) and not longException
l1 := false
l2 := false
l2Close := na

// ✅ 只在「收盤確認」才成立
longTrigger = barstate.isconfirmed and l2 and close >= l2Close

if longTrigger
label.new(bar_index, low - tick * 5, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
l1 := false
l2 := false
l2Close := na

// ================== 做空 ==================

// 條件一:收盤 < MA
if close < ma and not s1
s1 := true

// 條件二:開盤 + 收盤 < MA
if s1 and open < ma and close < ma
s2 := true
s2Close := close

// 條件三:MA 限制 / 例外
if s2
shortException = not na(s2Close) and open <= s2Close
if not (open < ma and close < ma) and not shortException
s1 := false
s2 := false
s2Close := na

// ✅ 只在「收盤確認」才成立
shortTrigger = barstate.isconfirmed and s2 and close <= s2Close

if shortTrigger
label.new(bar_index, high + tick * 5, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
s1 := false
s2 := false
s2Close := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート
//version=5
indicator("三階段多空(新條件版)", overlay=true)

// === 參數 ===
maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
tick = syminfo.mintick

// ================= 做多狀態 =================
var bool longStage1 = false
var bool longStage2 = false
var float longRefOpen = na
var float longRefClose = na

// ================= 做空狀態 =================
var bool shortStage1 = false
var bool shortStage2 = false
var float shortRefOpen = na
var float shortRefClose = na

// ================== 做多流程 ==================

// 條件一:收盤 > MA
if close > ma and not longStage1
longStage1 := true

// 條件二(新版):收盤 <= 前一根收盤,且開收都 > MA
if longStage1 and close <= close[1] and open > ma and close > ma
longStage2 := true
longRefOpen := open
longRefClose := close

// 條件三 MA 限制 / 例外
longException = longStage2 and not na(longRefClose) and open >= longRefClose
longCond3Hold = (open > ma and close > ma) or longException

// 違規即重置
if longStage2 and not longCond3Hold
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ✅ 收盤仍滿足條件三才成立
longTrigger = barstate.isconfirmed and longStage2 and longCond3Hold and close > longRefOpen and close > longRefClose

if longTrigger
label.new(bar_index, low - tick * 5, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ================== 做空流程 ==================

// 條件一:收盤 < MA
if close < ma and not shortStage1
shortStage1 := true

// 條件二(新版):收盤 >= 前一根收盤,且開收都 < MA
if shortStage1 and close >= close[1] and open < ma and close < ma
shortStage2 := true
shortRefOpen := open
shortRefClose := close

// 條件三 MA 限制 / 例外
shortException = shortStage2 and not na(shortRefClose) and open <= shortRefClose
shortCond3Hold = (open < ma and close < ma) or shortException

// 違規即重置
if shortStage2 and not shortCond3Hold
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

// ✅ 收盤仍滿足條件三才成立
shortTrigger = barstate.isconfirmed and shortStage2 and shortCond3Hold and close < shortRefOpen and close < shortRefClose

if shortTrigger
label.new(bar_index, high + tick * 5, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

// ================= 快訊條件 =================
alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート
//version=5
indicator("三階段多空(箭頭在K棒外)", overlay=true)

maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
offset = syminfo.mintick * 10

// ================= 做多 =================
var bool longStage1 = false
var bool longStage2 = false
var float longRefOpen = na
var float longRefClose = na

// ================= 做空 =================
var bool shortStage1 = false
var bool shortStage2 = false
var float shortRefOpen = na
var float shortRefClose = na

// ====== 做多流程 ======
if close > ma and not longStage1
longStage1 := true

if longStage1 and close <= close[1] and open > ma and close > ma
longStage2 := true
longRefOpen := open
longRefClose := close

longException = longStage2 and not na(longRefClose) and open >= longRefClose
longCond3Hold = (open > ma and close > ma) or longException

if longStage2 and not longCond3Hold
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

longTrigger = barstate.isconfirmed and longStage2 and longCond3Hold and close > longRefOpen and close > longRefClose

if longTrigger
label.new(bar_index, low - offset, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ====== 做空流程 ======
if close < ma and not shortStage1
shortStage1 := true

if shortStage1 and close >= close[1] and open < ma and close < ma
shortStage2 := true
shortRefOpen := open
shortRefClose := close

shortException = shortStage2 and not na(shortRefClose) and open <= shortRefClose
shortCond3Hold = (open < ma and close < ma) or shortException

if shortStage2 and not shortCond3Hold
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

shortTrigger = barstate.isconfirmed and shortStage2 and shortCond3Hold and close < shortRefOpen and close < shortRefClose

if shortTrigger
label.new(bar_index, high + offset, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート

//version=5
indicator("三階段多空(箭頭在K棒外)", overlay=true)

maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
offset = syminfo.mintick * 66

// ================= 做多 =================
var bool longStage1 = false
var bool longStage2 = false
var float longRefOpen = na
var float longRefClose = na

// ================= 做空 =================
var bool shortStage1 = false
var bool shortStage2 = false
var float shortRefOpen = na
var float shortRefClose = na

// ====== 做多流程 ======
if close > ma and not longStage1
longStage1 := true

if longStage1 and close <= close[1] and open > ma and close > ma
longStage2 := true
longRefOpen := open
longRefClose := close

longException = longStage2 and not na(longRefClose) and open >= longRefClose
longCond3Hold = (open > ma and close > ma) or longException

if longStage2 and not longCond3Hold
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

longTrigger = barstate.isconfirmed and longStage2 and longCond3Hold and close > longRefOpen and close > longRefClose

if longTrigger
label.new(bar_index, low - offset, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ====== 做空流程 ======
if close < ma and not shortStage1
shortStage1 := true

if shortStage1 and close >= close[1] and open < ma and close < ma
shortStage2 := true
shortRefOpen := open
shortRefClose := close

shortException = shortStage2 and not na(shortRefClose) and open <= shortRefClose
shortCond3Hold = (open < ma and close < ma) or shortException

if shortStage2 and not shortCond3Hold
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

shortTrigger = barstate.isconfirmed and shortStage2 and shortCond3Hold and close < shortRefOpen and close < shortRefClose

if shortTrigger
label.new(bar_index, high + offset, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート
//version=5
indicator("1012多空n", overlay=true)

maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)
offset = syminfo.mintick * 66

// ================= 做多 =================
var bool longStage1 = false
var bool longStage2 = false
var float longRefOpen = na
var float longRefClose = na

// ================= 做空 =================
var bool shortStage1 = false
var bool shortStage2 = false
var float shortRefOpen = na
var float shortRefClose = na

// ====== 做多流程 ======
if close > ma and not longStage1
longStage1 := true

if longStage1 and close <= close[1] and open > ma and close > ma
longStage2 := true
longRefOpen := open
longRefClose := close

longException = longStage2 and not na(longRefClose) and open >= longRefClose
longCond3Hold = (open > ma and close > ma) or longException

if longStage2 and not longCond3Hold
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

longTrigger = barstate.isconfirmed and longStage2 and longCond3Hold and close > longRefOpen and close > longRefClose

if longTrigger
label.new(bar_index, low - offset, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ====== 做空流程 ======
if close < ma and not shortStage1
shortStage1 := true

if shortStage1 and close >= close[1] and open < ma and close < ma
shortStage2 := true
shortRefOpen := open
shortRefClose := close

shortException = shortStage2 and not na(shortRefClose) and open <= shortRefClose
shortCond3Hold = (open < ma and close < ma) or shortException

if shortStage2 and not shortCond3Hold
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

shortTrigger = barstate.isconfirmed and shortStage2 and shortCond3Hold and close < shortRefOpen and close < shortRefClose

if shortTrigger
label.new(bar_index, high + offset, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")
リリースノート
//version=5
indicator("三階段多空(不同週期箭頭距離)", overlay=true)

// === 參數設定 ===
maLen = input.int(10, "MA 長度")
ma = ta.sma(close, maLen)

// 依週期設定箭頭距離比例(相對 K 棒高度)
arrowDistance = switch timeframe.period
"1" => 0.25
"5" => 0.20
"15" => 0.15
"60" => 0.12
"D" => 0.08
=> 0.10 // 其他週期預設

// ================= 做多 =================
var bool longStage1 = false
var bool longStage2 = false
var float longRefOpen = na
var float longRefClose = na

// ================= 做空 =================
var bool shortStage1 = false
var bool shortStage2 = false
var float shortRefOpen = na
var float shortRefClose = na

// ====== 做多流程 ======
if close > ma and not longStage1
longStage1 := true

if longStage1 and close <= close[1] and open > ma and close > ma
longStage2 := true
longRefOpen := open
longRefClose := close

longException = longStage2 and not na(longRefClose) and open >= longRefClose
longCond3Hold = (open > ma and close > ma) or longException

if longStage2 and not longCond3Hold
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

longTrigger = barstate.isconfirmed and longStage2 and longCond3Hold and close > longRefOpen and close > longRefClose

if longTrigger
offset = (high - low) * arrowDistance
label.new(bar_index, low - offset, "", style=label.style_arrowup, color=color.green, textcolor=color.green, size=size.large)
alert("做多", alert.freq_once_per_bar_close)
longStage1 := false
longStage2 := false
longRefOpen := na
longRefClose := na

// ====== 做空流程 ======
if close < ma and not shortStage1
shortStage1 := true

if shortStage1 and close >= close[1] and open < ma and close < ma
shortStage2 := true
shortRefOpen := open
shortRefClose := close

shortException = shortStage2 and not na(shortRefClose) and open <= shortRefClose
shortCond3Hold = (open < ma and close < ma) or shortException

if shortStage2 and not shortCond3Hold
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

shortTrigger = barstate.isconfirmed and shortStage2 and shortCond3Hold and close < shortRefOpen and close < shortRefClose

if shortTrigger
offset = (high - low) * arrowDistance
label.new(bar_index, high + offset, "", style=label.style_arrowdown, color=color.red, textcolor=color.red, size=size.large)
alert("做空", alert.freq_once_per_bar_close)
shortStage1 := false
shortStage2 := false
shortRefOpen := na
shortRefClose := na

alertcondition(longTrigger, "做多", "做多")
alertcondition(shortTrigger, "做空", "做空")

免責事項

この情報および投稿は、TradingViewが提供または推奨する金融、投資、トレード、その他のアドバイスや推奨を意図するものではなく、それらを構成するものでもありません。詳細は利用規約をご覧ください。