首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Pine-Script 2.0版转换为4.0版

将Pine-Script 2.0版转换为4.0版
EN

Stack Overflow用户
提问于 2021-03-19 20:55:56
回答 2查看 218关注 0票数 0

我需要将此PineScript研究从v2.0转换到v4.0

代码语言:javascript
复制
//@version=2
study("trendFilter",overlay=true)
//
Pd=input(200)
Factor=input(0.9)
//
P = pow(Pd,2)
a = 2/(P+1)
d = abs(close - nz(Tsl[0],hl2))
t = a*d+(1-a)*nz(t[1],d)
src = Factor*nz(Tsl[0],hl2) + (1-Factor)*close
Up=nz(Tsl[0],hl2)-t
Dn=nz(Tsl[0],hl2)+t
//
TrendUp=src[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=src[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
//
Trend = src > TrendDown[1] ? 1: src< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendDown : TrendUp
css = Tsl > Tsl[1] ? #0080FF : Tsl < Tsl[1] ? #FF0040 : na
plot(Tsl,color=fixnan(css),transp=0)

在TradingView的Pine-Script最新版本(4.0)中,需要删除前向引用的变量。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-19 21:31:06

我觉得这样更好。

代码语言:javascript
复制
//@version=4
study("trendFilter", "TF", overlay=true)

//
Pd=input(200)
Factor=input(0.9)
//

var float   Tsl         = na
var float   t           = na

P = pow(Pd,2)
a = 2/(P+1)
d = abs(close - nz(Tsl[0],hl2))
t := a*d+(1-a)*nz(t[1],d)
src = Factor*nz(Tsl[0],hl2) + (1-Factor)*close
Up=nz(Tsl[0],hl2)-t
Dn=nz(Tsl[0],hl2)+t
//
TrendUp = Up
TrendUp := src[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown = Dn
TrendDown := src[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
//
Trend = int(na)
Trend := src > TrendDown[1] ? 1: src< TrendUp[1]? -1: nz(Trend[1],1)
Tsl := Trend==1? TrendDown : TrendUp
css = Tsl > Tsl[1] ? #0080FF : Tsl < Tsl[1] ? #FF0040 : na
plot(Tsl,color=fixnan(css),transp=0)
票数 0
EN

Stack Overflow用户

发布于 2021-03-19 21:07:22

代码语言:javascript
复制
//@version=4
study("trendFilter", "TF", overlay=true)

//
Pd=input(200)
Factor=input(0.9)
//

var float   Tsl         = na
var float   t           = na
var float   TrendUp     = na
var float   TrendDown   = na
var float   Trend       = na

P = pow(Pd,2)
a = 2/(P+1)
d = abs(close - nz(Tsl[0],hl2))
t := a*d+(1-a)*nz(t[1],d)
src = Factor*nz(Tsl[0],hl2) + (1-Factor)*close
Up=nz(Tsl[0],hl2)-t
Dn=nz(Tsl[0],hl2)+t
//
TrendUp := src[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown := src[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
//
Trend := src > TrendDown[1] ? 1: src< TrendUp[1]? -1: nz(Trend[1],1)
Tsl := Trend==1? TrendDown : TrendUp
css = Tsl > Tsl[1] ? #0080FF : Tsl < Tsl[1] ? #FF0040 : na
plot(Tsl,color=fixnan(css),transp=0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66708625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档