Pine script 试图编写一个代码,在下一次交易之前给策略一个缓冲时间,声明有问题
我正试图在下一笔交易开始前有一个缺口。我正在使用的脚本的前一个版本在特定的测试用例中有一些问题。这一个,tris实现了相同的功能,但是我在变量声明方面遇到了一些问题Pine script 试图编写一个代码,在下一次交易之前给策略一个缓冲时间,声明有问题,pine-script,Pine Script,我正试图在下一笔交易开始前有一个缺口。我正在使用的脚本的前一个版本在特定的测试用例中有一些问题。这一个,tris实现了相同的功能,但是我在变量声明方面遇到了一些问题 //@version=4 strategy("RSI Strategy", overlay=true) //timeframe FromMonth = input(defval = 9, title = "From Month", minval = 1) FromDay = input(
//@version=4
strategy("RSI Strategy", overlay=true)
//timeframe
FromMonth = input(defval = 9, title = "From Month", minval = 1)
FromDay = input(defval = 9, title = "From Day", minval = 1)
FromYear = input(defval = 2019, title = "From Year", minval = 2000)
ToMonth = input(defval = 11, title = "To Month", minval = 1)
ToDay = input(defval = 23, title = "To Day", minval = 1)
ToYear = input(defval = 2020, title = "To Year", minval = 2014)
testPeriod() =>
(time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))
//Indicator
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//For co
gap = 4
Arr_l = co ? 1 : 0
Mod_gap_l = sum(Arr_l)
buy_w_gap = Arr_l and (Mod_gap_l%gap == 0)? 1 : 0
if (buy_w_gap)
strategy.entry("RsiLE", strategy.long, comment="RsiLE")
//for cu
Arr_s = co ? 1 : 0
Mod_gap_s = sum(Arr_s)
sell_w_gap = Arr_s and (Mod_gap_s%gap == 0)? 1 : 0
if (sell_w_gap)
strategy.entry("RsiSE", strategy.short, comment="RsiSE")
/@version=4
策略(“RSI策略”,overlay=true)
//时间框架
FromMonth=输入(defval=9,title=“From Month”,minval=1)
FromDay=输入(defval=9,title=“From Day”,minval=1)
FromYear=输入(defval=2019,title=“From Year”,minval=2000)
ToMonth=输入(defval=11,title=“To Month”,minval=1)
今天=输入(defval=23,title=“今天”,minval=1)
ToYear=输入(defval=2020,title=“To Year”,minval=2014)
testPeriod()=>
(时间>时间戳(FromYear,FromMonth,FromDay,00,00))和(时间<时间戳(ToYear,ToMonth,ToDay,23,59))
//指示器
长度=输入(14)
超卖=输入(30)
超买=投入(70)
价格=收盘价
vrsi=rsi(价格、长度)
co=交叉(vrsi,超卖)
cu=交叉低于(vrsi,超买)
//为公司
差距=4
Arr_l=co?1 : 0
Mod_gap_l=总和(Arr_l)
购买差距=Arr\u l和(Mod\u差距=0)?1 : 0
如果(购买差距)
strategy.entry(“RsiLE”,strategy.long,comment=“RsiLE”)
//对于cu
Arr_s=co?1 : 0
Mod_gap_s=总和(Arr_s)
销售差距=Arr\u s和(Mod\u差距%gap==0)?1 : 0
如果(销售差距)
strategy.entry(“RsiSE”,strategy.short,comment=“RsiSE”)
不确定你想用这个做什么,但我假设是这样的
//@version=4
strategy("RSI Strategy", overlay=true)
//timeframe
FromMonth = input(defval = 9, title = "From Month", minval = 1)
FromDay = input(defval = 9, title = "From Day", minval = 1)
FromYear = input(defval = 2019, title = "From Year", minval = 2000)
ToMonth = input(defval = 11, title = "To Month", minval = 1)
ToDay = input(defval = 23, title = "To Day", minval = 1)
ToYear = input(defval = 2020, title = "To Year", minval = 2014)
testPeriod() =>
(time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))
//Indicator
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
var int gap = 4
var float vrsi = na
var bool co = na
var bool cu = na
var int Mod_gap_l = na
var int Mod_gap_s = na
var bool buy_w_gap = na
var bool sell_w_gap = na
vrsi := rsi(price, length)
co := crossover(vrsi, overSold)
cu := crossunder(vrsi, overBought)
//For co
// Arr_l = co ? 1 : 0
// Mod_gap_l = sum(Arr_l)
Mod_gap_l := barssince(co)
buy_w_gap := (Mod_gap_l > 0) and (Mod_gap_l%gap == 0)
if buy_w_gap
strategy.entry("RsiLE", strategy.long, comment="RsiLE")
//for cu
// Arr_s = co ? 1 : 0
// Mod_gap_s = sum(Arr_s)
Mod_gap_s := barssince(cu) // I assume you want to use 'cu' here instead of 'co'
sell_w_gap := (Mod_gap_s > 0) and (Mod_gap_s%gap == 0)? 1 : 0
if sell_w_gap
strategy.entry("RsiSE", strategy.short, comment="RsiSE")
/@version=4
策略(“RSI策略”,overlay=true)
//时间框架
FromMonth=输入(defval=9,title=“From Month”,minval=1)
FromDay=输入(defval=9,title=“From Day”,minval=1)
FromYear=输入(defval=2019,title=“From Year”,minval=2000)
ToMonth=输入(defval=11,title=“To Month”,minval=1)
今天=输入(defval=23,title=“今天”,minval=1)
ToYear=输入(defval=2020,title=“To Year”,minval=2014)
testPeriod()=>
(时间>时间戳(FromYear,FromMonth,FromDay,00,00))和(时间<时间戳(ToYear,ToMonth,ToDay,23,59))
//指示器
长度=输入(14)
超卖=输入(30)
超买=投入(70)
价格=收盘价
var int gap=4
var float vrsi=na
var bool co=na
var bool cu=na
var int Mod_gap_l=na
var int Mod_gap_s=na
var bool buy_w_gap=na
var bool sell_w_gap=na
vrsi:=rsi(价格、长度)
co:=交叉(vrsi,超卖)
cu:=交叉低于(vrsi,超买)
//为公司
//Arr_l=co?1 : 0
//Mod_gap_l=总和(Arr_l)
模间隙:等于巴塞(co)
购买差距:=(模差距>0)和(模差距百分比差距==0)
如果买w__gap
strategy.entry(“RsiLE”,strategy.long,comment=“RsiLE”)
//对于cu
//Arr_s=co?1 : 0
//Mod_gap_s=总和(Arr_s)
Mod_gap_s:=barssince(cu)//我假设您想在这里使用'cu'而不是'co'
销售差距:=(模差距>0)和(模差距百分比差距==0)?1 : 0
如果你卖了你的差距
strategy.entry(“RsiSE”,strategy.short,comment=“RsiSE”)
我想做的是,在下一笔交易之前,给我的策略一个冷静期。说n支蜡烛。n是已经在中解决的可变间隙。我交叉检查,其中一个留下了一些边界线案例。因此,我们试图建立一个更强大的东西,最好用一个例子+屏幕截图来解释边界线案例。你在这个问题上发布的代码对我来说毫无意义。我可以亲自发短信给你吗?电子邮件?