pine-script - How to apply formula to several securities
问题描述
I would like to apply the below to several securities.
The end product would display 3 lines showing percentage change from 1700 to 2100 using a baseline of midpoint from 1500 to 1700 using lowest and highest candle from that period.
For example I would like to monitor these 3 securities:
BINANCE:NEBLUSD
BINANCE:RSRUSD
BINANCE:TRXUSD
study("Baseline", overlay=false)
Coin01 = input(title = "Coin Selection", defval="BINANCE:NEBLUSD")
Coin02 = input(title = "Coin Selection", defval="BINANCE:RSRUSD")
Coin03 = input(title = "Coin Selection", defval="BINANCE:TRXUSD")
baselinetime = input('1500-1700:1234567', title="Baseline")
blt = time(timeframe.period, baselinetime)
analysisrange = input('1700-2100:1234567', title="analysisrange")
ar = time(timeframe.period, analysisrange)
var highe_01 = 0.0
var lowe_01 = 10e10
if blt
if not blt[1]
highe_01 := high
lowe_01 := low
else
highe_01 := max(high, highe_01)
lowe_01 := min(low, lowe_01)
midpoint = (highe_01+lowe_01)/2
inc = (close - midpoint)//change(close, length)
p = (inc/close)*100
//This enables me to view the chosen coin on the chart
plot(ar ? p : na, title="Percentage Change", color=color.blue, linewidth=2, style=plot.style_linebr)
//How do I apply the above formula to several coins? The below doesn't work, but can't get my head around how to apply it
plot(Coin01 : p : na, title="Coin01", color=color.red, linewidth=2, style=plot.stle_linebr)
plot(Coin02 : p : na, title="Coin01", color=color.green, linewidth=2, style=plot.stle_linebr)
plot(Coin03 : p : na, title="Coin01", color=color.blue, linewidth=2, style=plot.stle_linebr)
解决方案
//@version=4
study("Baseline", overlay=false)
Coin01 = input(title = "Coin Selection", defval="BINANCE:NEBLUSD")
Coin02 = input(title = "Coin Selection", defval="BINANCE:RSRUSD")
Coin03 = input(title = "Coin Selection", defval="BINANCE:TRXUSD")
baselinetime = input("0930-1130", "Baseline", input.session)
blt = time(timeframe.period, baselinetime+":1234567")
analysisrange = input("1130-1730", "analysisrange", input.session)
ar = time(timeframe.period, analysisrange+":1234567")
p (_blt, _ar) =>
highe_01 = 0.0
lowe_01 = 10e10
p=0.
var midpoint=0.
if _blt
if not _blt[1]
highe_01 := high
lowe_01 := low
else
highe_01 := max(high, highe_01)
lowe_01 := min(low, lowe_01)
midpoint := (highe_01+lowe_01)/2
if _ar
p:=((close - midpoint)/midpoint)*100
else
p:=na
p
//This enables me to view the chosen coin on the chart
//plot(ar ? p : na, title="Percentage Change", color=color.blue, linewidth=2, style=plot.style_linebr)
//How do I apply the above formula to several coins? The below doesn't work, but can't get my head around how to apply it
//p0 = p(blt, ar) // for the current ticker
p1 = security(Coin01, timeframe.period, p(blt, ar))
p2 = security(Coin02, timeframe.period, p(blt, ar))
p3 = security(Coin03, timeframe.period, p(blt, ar))
plot(p1, title="Coin01", color=color.red, linewidth=2, style=plot.style_linebr)
plot(p2, title="Coin02", color=color.green, linewidth=2, style=plot.style_linebr)
plot(p3, title="Coin03", color=color.blue, linewidth=2, style=plot.style_linebr)
推荐阅读
- c - Call-by-name 和 Call-by-macro-expansion 之间的区别
- java - java.lang.NullPointerException:尝试调用接口方法“java.lang.Object java.util.List.get(int)”
- javascript - 如何计算仅使用一个提供商的用户?
- c# - Discord 命令在尝试读取文本文件后停止
- postgresql - 无法与远程 heroku 数据库建立 psql 会话
- laravel - 覆盖 relationship 列以仅显示具有特定角色的用户
- salesforce - 我该如何解决这个错误。我想完成触发器分配
- python - Python 新手:“NoneType”类型的参数不可迭代
- javascript - 如何使用 HTML5 和 Jquery 从视频中捕获缩略图(帧)?
- excel - 如何在 C# 中删除空白单元格并重置 UsedRange