英文:
Pine Script failed to plot some data
问题
这是您要翻译的内容:
我正在尝试在松树脚本中绘制一些数据,但某些数据未能绘制出来;以下是脚本
// 此源代码受 Mozilla Public License 2.0 的条款约束,网址为 https://mozilla.org/MPL/2.0/
// © subikshababu
//@version=5
indicator("Gain Loss Spread", shorttitle = "GLS")
Up=close>open
Down=close<open
int datapoints=input.int(defval = 3,title="要检查的数据点总数",minval = 1,maxval = 512)
meangain=Up? ta.sma((close[datapoints]+ta.change(close,datapoints)),datapoints):na
meanloss=Down?ta.sma((close[datapoints]-ta.change(close,datapoints)),datapoints):na
meanpopulation=ta.sma(close,datapoints)
gainlossspread=(meangain-meanloss)+close // 要绘制的部分
//RS=meangain/meanloss
//RSI=100-(100/1-RS)// 要绘制的部分
plot(meangain,color = color.green)
plot(meanloss,color = color.red)
plot(gainlossspread,color = color.blue,style = plot.style_circles) //未绘制?
plot(meanpopulation,color = color.aqua,linewidth = 2)
//plot(RSI) // 未绘制
[脚本绘制了这个][1]
[1]: https://i.stack.imgur.com/4qvAV.png
请注意,我已将代码部分保持不变,只翻译了注释和描述性文本。
英文:
I'm trying to plot some data in pine script, some data failed to plot; here is the script
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © subikshababu
//@version=5
indicator("Gain Loss Spread", shorttitle = "GLS")
Up=close>open
Down=close<open
int datapoints=input.int(defval = 3,title="total datapoints to check",minval = 1,maxval = 512)
meangain=Up? ta.sma((close[datapoints]+ta.change(close,datapoints)),datapoints):na
meanloss=Down?ta.sma((close[datapoints]-ta.change(close,datapoints)),datapoints):na
meanpopulation=ta.sma(close,datapoints)
gainlossspread=(meangain-meanloss)+close // to be plot
//RS=meangain/meanloss
//RSI=100-(100/1-RS)// to be plot
plot(meangain,color = color.green)
plot(meanloss,color = color.red)
plot(gainlossspread,color = color.blue,style = plot.style_circles) //not ploted?
plot(meanpopulation,color = color.aqua,linewidth = 2)
//plot(RSI) // not plotted
答案1
得分: 0
meangain
只在 Up
为 true
时有有效数字。
meanloss
只在 Down
为 true
时有有效数字。
Up
和 Down
是彼此的相反,因此不能同时为 true
。
你计算 gainlossspread
为 gainlossspread=(meangain-meanloss)+close
。由于在给定的条形图上,meangain
或 meanloss
任一为 na
,结果也将变为 na
。这就是为什么它不绘制任何内容。
英文:
meangain
will only have a valid number if Up
is true
.
meanloss
will only have a valid number if Down
is true
.
Up
and Down
are the opposites of each other so they cannot be true
at the same time.
You calculate gainlossspread
as gainlossspread=(meangain-meanloss)+close
. Since either meangain
or meanloss
is na
on a given bar, the result also becomes na
. THat's why it is not plotting anything.
答案2
得分: 0
这是我最终完成的工作,之后我添加了 RSI,我将在另一个答案中发布。
// 此源代码受 Mozilla 公共许可证 2.0 的条款约束
// © subikshababu
//@version=5
indicator("收益损失差", shorttitle="GLS", overlay=true)
Up = close > open
Down = close < open
int datapoints = input.int(defval=3, title="要检查的数据点总数", minval=1, maxval=512)
meangain = Up ? ta.sma((close[datapoints] + ta.change(close, datapoints)), datapoints) : na
meanloss = Down ? ta.sma((close[datapoints] - ta.change(close, datapoints)), datapoints) : na
meanpopulation = ta.sma(close, datapoints)
// 布林带
meanstdev = ta.stdev(meanpopulation, datapoints, false)
hiband = meanpopulation + (meanstdev * 3.619)
lowband = meanpopulation - (meanstdev * 3.619)
gainlossspread = (ta.valuewhen(Up, meangain, 1) - ta.valuewhen(Down, meanloss, 1)) + close // 要绘制的部分
plot(meangain, color=color.aqua, style=plot.style_circles, linewidth=3)
plot(meanloss, color=color.fuchsia, style=plot.style_cross, linewidth=3)
plot(gainlossspread, color=color.blue, linewidth=2) // 没有绘制?
plot(meanpopulation, color=color.aqua)
plot(hiband, color=color.black)
plot(lowband, color=color.black)
// 结束
英文:
Here is what i did finally and after that i added rsi-that i will post as another answer
// This source code is subject to the terms of the Mozilla Public License 2.0 at
https://mozilla.org/MPL/2.0/
// © subikshababu
//@version=5
indicator("Gain Loss Spread", shorttitle = "GLS",overlay = true)
Up=close>open
Down=close<open
int datapoints=input.int(defval = 3,title="total datapoints to check",minval = 1,maxval = 512)
meangain=Up? ta.sma((close[datapoints]+ta.change(close,datapoints)),datapoints):na
meanloss=Down?ta.sma((close[datapoints]-ta.change(close,datapoints)),datapoints):na
meanpopulation=ta.sma(close,datapoints)
//bolinger band
meanstdev=ta.stdev(meanpopulation,datapoints,false)
hiband=meanpopulation+(meanstdev*3.619)
lowband=meanpopulation-(meanstdev*3.619)
gainlossspread=(ta.valuewhen(Up,meangain,1)-ta.valuewhen(Down,meanloss,1))+close // to be plot
plot(meangain,color = color.aqua,style = plot.style_circles,linewidth = 3)
plot(meanloss,color = color.fuchsia,style = plot.style_cross,linewidth = 3)
plot(gainlossspread,color = color.blue,linewidth = 2) //not ploted?
plot(meanpopulation,color = color.aqua)
plot(hiband,color = color.black)
plot(lowband,color = color.black)
//end
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论