Tradingview 中超过 40 条证券信息
Over 40 securities message in Tradingview
我正在尝试优化此脚本以包含尽可能少的“安全”功能,但目前运气不佳...
在第 17 和 19 行
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
“高”和“低”的数据(在第 19 行)应该来自安全输入对而不是当前打开的图,但是如果不使用另一个安全我就不能让它工作功能。这是一种可行的方法吗?有任何想法吗?请告诉我
谢谢!
Symbol1 = input(title="pair1", type=input.symbol, defval="eurusd")
K = input(14, title="K", minval=1)
D = input(3, title="D", minval=1)
smK = input(6, title="Smooth", minval=1)
Symbol1_Dinput1 = security(Symbol1, "", sma(stoch(close, high, low, K), smK))
f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
f_fractalize(_src)=>f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
Symbol1_fractal_top1 = f_fractalize(Symbol1_Dinput1) > 0 ? Symbol1_Dinput1[2] : na
Symbol1_fractal_bot1 = f_fractalize(Symbol1_Dinput1) < 0 ? Symbol1_Dinput1[2] : na
Symbol1_high_prev1 = valuewhen(Symbol1_fractal_top1, Symbol1_Dinput1[2], 0)[2]
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
Symbol1_low_prev1 = valuewhen(Symbol1_fractal_bot1, Symbol1_Dinput1[2], 0)[2]
Symbol1_low_price1 = valuewhen(Symbol1_fractal_bot1, low[2], 0)[2]
Symbol1_regular_bearish_div1 = Symbol1_fractal_top1 and high[2] > Symbol1_high_price1 and Symbol1_Dinput1[2] < Symbol1_high_prev1
Symbol1_regular_bullish_div1 = Symbol1_fractal_bot1 and low[2] < Symbol1_low_price1 and Symbol1_Dinput1[2] > Symbol1_low_prev1
Symbol1_cond = Symbol1_regular_bullish_div1 ? Symbol1_regular_bullish_div1 : na
if Symbol1_cond
label.new(bar_index, 0, color = color.green, style = label.style_cross, tooltip = Symbol1)```
所有计算都必须在 security()
调用的上下文中完成。这将所有逻辑放在一个函数中,该函数还负责调用 security()
,这使得代码更清晰并且只需要一次调用:
//@version=4
study("")
Symbol1 = input(title="pair1", type=input.symbol, defval="eurusd")
K = input(14, title="K", minval=1)
D = input(3, title="D", minval=1)
smK = input(6, title="Smooth", minval=1)
f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
f_fractalize(_src)=>
// Pre-evaluate function calls so the functions execute on each bar.
top = f_top_fractal(_src)
bot = f_bot_fractal(_src)
_return = top ? 1 : bot ? -1 : 0
f_getVals(_symbol) =>
s = sma(stoch(close, high, low, K), smK)
Symbol1_fractal_top1 = f_fractalize(s) > 0 ? s[2] : na
Symbol1_fractal_bot1 = f_fractalize(s) < 0 ? s[2] : na
Symbol1_high_prev1 = valuewhen(Symbol1_fractal_top1, s[2], 0)[2]
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
Symbol1_low_prev1 = valuewhen(Symbol1_fractal_bot1, s[2], 0)[2]
Symbol1_low_price1 = valuewhen(Symbol1_fractal_bot1, low[2], 0)[2]
Symbol1_regular_bearish_div1 = Symbol1_fractal_top1 and high[2] > Symbol1_high_price1 and s[2] < Symbol1_high_prev1
Symbol1_regular_bullish_div1 = Symbol1_fractal_bot1 and low[2] < Symbol1_low_price1 and s[2] > Symbol1_low_prev1
Symbol1_cond = Symbol1_regular_bullish_div1 ? Symbol1_regular_bullish_div1 : na
_return = security(_symbol, "", Symbol1_cond)
Symbol1_val = f_getVals(Symbol1)
if Symbol1_val
label.new(bar_index, 0, color = color.green, style = label.style_cross, tooltip = Symbol1)
// Alternate debugging mark on chart.
plotchar(Symbol1_val, "Symbol1_val", "•", location.top, size = size.tiny)
我正在尝试优化此脚本以包含尽可能少的“安全”功能,但目前运气不佳...
在第 17 和 19 行
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
“高”和“低”的数据(在第 19 行)应该来自安全输入对而不是当前打开的图,但是如果不使用另一个安全我就不能让它工作功能。这是一种可行的方法吗?有任何想法吗?请告诉我
谢谢!
Symbol1 = input(title="pair1", type=input.symbol, defval="eurusd")
K = input(14, title="K", minval=1)
D = input(3, title="D", minval=1)
smK = input(6, title="Smooth", minval=1)
Symbol1_Dinput1 = security(Symbol1, "", sma(stoch(close, high, low, K), smK))
f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
f_fractalize(_src)=>f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
Symbol1_fractal_top1 = f_fractalize(Symbol1_Dinput1) > 0 ? Symbol1_Dinput1[2] : na
Symbol1_fractal_bot1 = f_fractalize(Symbol1_Dinput1) < 0 ? Symbol1_Dinput1[2] : na
Symbol1_high_prev1 = valuewhen(Symbol1_fractal_top1, Symbol1_Dinput1[2], 0)[2]
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
Symbol1_low_prev1 = valuewhen(Symbol1_fractal_bot1, Symbol1_Dinput1[2], 0)[2]
Symbol1_low_price1 = valuewhen(Symbol1_fractal_bot1, low[2], 0)[2]
Symbol1_regular_bearish_div1 = Symbol1_fractal_top1 and high[2] > Symbol1_high_price1 and Symbol1_Dinput1[2] < Symbol1_high_prev1
Symbol1_regular_bullish_div1 = Symbol1_fractal_bot1 and low[2] < Symbol1_low_price1 and Symbol1_Dinput1[2] > Symbol1_low_prev1
Symbol1_cond = Symbol1_regular_bullish_div1 ? Symbol1_regular_bullish_div1 : na
if Symbol1_cond
label.new(bar_index, 0, color = color.green, style = label.style_cross, tooltip = Symbol1)```
所有计算都必须在 security()
调用的上下文中完成。这将所有逻辑放在一个函数中,该函数还负责调用 security()
,这使得代码更清晰并且只需要一次调用:
//@version=4
study("")
Symbol1 = input(title="pair1", type=input.symbol, defval="eurusd")
K = input(14, title="K", minval=1)
D = input(3, title="D", minval=1)
smK = input(6, title="Smooth", minval=1)
f_top_fractal(_src)=>_src[4] < _src[2] and _src[3] < _src[2] and _src[2] > _src[1] and _src[2] > _src[0]
f_bot_fractal(_src)=>_src[4] > _src[2] and _src[3] > _src[2] and _src[2] < _src[1] and _src[2] < _src[0]
f_fractalize(_src)=>
// Pre-evaluate function calls so the functions execute on each bar.
top = f_top_fractal(_src)
bot = f_bot_fractal(_src)
_return = top ? 1 : bot ? -1 : 0
f_getVals(_symbol) =>
s = sma(stoch(close, high, low, K), smK)
Symbol1_fractal_top1 = f_fractalize(s) > 0 ? s[2] : na
Symbol1_fractal_bot1 = f_fractalize(s) < 0 ? s[2] : na
Symbol1_high_prev1 = valuewhen(Symbol1_fractal_top1, s[2], 0)[2]
Symbol1_high_price1 = valuewhen(Symbol1_fractal_top1, high[2], 0)[2]
Symbol1_low_prev1 = valuewhen(Symbol1_fractal_bot1, s[2], 0)[2]
Symbol1_low_price1 = valuewhen(Symbol1_fractal_bot1, low[2], 0)[2]
Symbol1_regular_bearish_div1 = Symbol1_fractal_top1 and high[2] > Symbol1_high_price1 and s[2] < Symbol1_high_prev1
Symbol1_regular_bullish_div1 = Symbol1_fractal_bot1 and low[2] < Symbol1_low_price1 and s[2] > Symbol1_low_prev1
Symbol1_cond = Symbol1_regular_bullish_div1 ? Symbol1_regular_bullish_div1 : na
_return = security(_symbol, "", Symbol1_cond)
Symbol1_val = f_getVals(Symbol1)
if Symbol1_val
label.new(bar_index, 0, color = color.green, style = label.style_cross, tooltip = Symbol1)
// Alternate debugging mark on chart.
plotchar(Symbol1_val, "Symbol1_val", "•", location.top, size = size.tiny)