Warm tip: This article is reproduced from serverfault.com, please click

pine script-如何与特定蜡烛高度交叉移动平均线?

(pine script - How to crossover moving average with a specific candle height? Pinescript)

发布于 2021-09-03 23:16:54

我有我的策略集,但是我想在烛台以特定数量的刻度穿过 hma49 时测试进入交易。比如 4. 我可以把它作为输入,这样我就可以调整 hma49 上方的刻度数吗?这将非常适合测试。我确信必须有一种方法来编码,但我已经用谷歌搜索并尝试了很多次,但无法弄清楚。对此的任何帮助都会非常棒。我没有办法自己去那里。

//@version=4
strategy ("15MinChart400", overlay=true)

hma23 = hma(close, 23)
hma49 = hma(close, 49)
hma16 = hma(close, 16)
hma200 = hma(close, 200)
hma400 = hma(close, 400)
CO =  crossover(hma49, 4 * syminfo.mintick)  

long = CO and close >= hma49
exitLong = close <= hma49 

//第二次尝试,现在需要烛台回溯

hma49 = hma(close, 49)
ticks = input(4)
tickPrice = hma49 + ticks * syminfo.mintick
lookback = input(4, "Candlestick Lookback")
CL = close[lookback]

long = crossover(close,tickPrice) and crossover(close,hma49) and CL
exitLong = close <= hma49

这是我的尝试,但它不起作用。

任何帮助将不胜感激!

非常感谢,

保罗

Questioner
Paul Cas
Viewed
0
rumpypumpydumpy 2021-09-05 22:19:37

通过交叉,你需要评估收盘价何时超过 hma49 值 + 分时。

ticks = input(4)

hma49 = hma(close, 49)

tickPrice = hma49 + ticks * syminfo.mintick

long = crossover(close, tickPrice)  
exitLong = close <= hma49

strategy.entry(id = "enter long", long = true, when = long)
strategy.close(id = "enter long", when = exitLong)

或者,如果你正在评估价格是否在柱期间越过 hma + 刻度,但收盘价高于你将使用的 hma

long = open < tickPrice and high > tickPrice and close >= hma49