pine-script - Pine 脚本:如何删除“输入‘交叉’时的语法错误”
问题描述
我无法删除输入时的语法错误。它显示以下编码。有人可以在没有任何语法的情况下检查并将运行脚本发回给我吗?它用于交易视图中的 pine 脚本。谢谢您的帮助。代码如下,问题发生在:“if crossed”行,显示语法错误。
//@version=4
par1=input(21)
par2=input(55)
ema1=ema(close,par1)
ema2=ema(close,par2)
buy=ema1>ema2
sell=ema2>ema1
mycolor= iff(buy,color.green,iff(sell,color.blue,color.red))
barcolor(color=mycolor)
ema100=ema(close,100)
ibuy=crossover(ema1,ema2)
iSell=crossunder(ema1,ema2)
//iSell=crossunder(close,ema1)
Varp=tostring(close[1])
crossed =crossover(ema(close,par1),ema(close,par2))
if crossed
I = label.new(bar_index,na,tostring(close))
color=color.green,
textcolor=color.white,
style=label.style_labelup,yloc=yloc.belowbar)
crossed2 =crossunder(ema(close,par1),ema(close,par2))
if crossed2
I = label.new(bar_index.na,tostring(close))
color=color.red,
textcolor=color.white,
style=label.style_labeldown,yloc=yloc.abovebar)
plot(ema(close,par1),"EMA Short",color=color.blue)
plot(ema(close,par2),"EMA Long",color=color.orange)
longCondition = crossover(ema(close,par1),ema(close,par2))
if (longCondition)
strategy.entry("My Long Entry Id",strategy.long)
shortCondition = crossunder(ema(close,par1),ema(close,par2))
if (shortCondition)
strategy.entry("My Short Entry Id",strategy.short)
解决方案
编程时,每个字符都很重要。你在这里有 3 个空格而不是 4 个:
I = label.new(bar_index,na,tostring(close),
在if crossed2
你下面有这个:
I = label.new(bar_index.na,tostring(close))
而不是这个:
I = label.new(bar_index,na,tostring(close),
仅更改了两个字符,但没有它们,代码将无法编译。
您还缺少strategy()
脚本开头的声明语句。请参阅有关结构化脚本和后续行的usrman。完整代码:
//@version=4
strategy("S")
par1=input(21)
par2=input(55)
ema1=ema(close,par1)
ema2=ema(close,par2)
buy=ema1>ema2
sell=ema2>ema1
mycolor= iff(buy,color.green,iff(sell,color.blue,color.red))
barcolor(color=mycolor)
ema100=ema(close,100)
ibuy=crossover(ema1,ema2)
iSell=crossunder(ema1,ema2)
//iSell=crossunder(close,ema1)
Varp=tostring(close[1])
crossed = crossover(ema(close,par1),ema(close,par2))
if crossed
I = label.new(bar_index,na,tostring(close),
color=color.green,
textcolor=color.white,
style=label.style_labelup,yloc=yloc.belowbar)
crossed2 =crossunder(ema(close,par1),ema(close,par2))
if crossed2
I = label.new(bar_index,na,tostring(close),
color=color.red,
textcolor=color.white,
style=label.style_labeldown,yloc=yloc.abovebar)
plot(ema(close,par1),"EMA Short",color=color.blue)
plot(ema(close,par2),"EMA Long",color=color.orange)
longCondition = crossover(ema(close,par1),ema(close,par2))
if (longCondition)
strategy.entry("My Long Entry Id",strategy.long)
shortCondition = crossunder(ema(close,par1),ema(close,par2))
if (shortCondition)
strategy.entry("My Short Entry Id",strategy.short)
推荐阅读
- css - 变量字体不响应声明的字体粗细
- android - 如何将目录从内部存储导出到外部文件 dir Android studio
- angular - 在 Docker-compose 中提供 NX monorepo 的 Angular 应用程序
- github - Github Actions 自动合并未按预期工作
- flutter - vs代码无法启动android模拟器
- c++ - 如果有一种方法可以将一个字符测试为一类用户定义的字符?
- javascript - How to make a card slider with json data
- select - 选择 2 重叠标题
- node.js - 在 Webpack5 之后,带有 http-auth 的 NodeJS 应用程序崩溃
- excel - 根据另一个细胞编号更改细胞系