6

因此,TradingView 上的 Pine-script 中的以下代码使用 Heikin-Ashi 蜡烛条open价格,而不是策略测试面板中的实际开盘价。

有没有办法让策略测试员使用真实价格?

此链接进一步解释了该问题。

//@version=2
strategy("haup", overlay=true)

cci20 = cci(close, 20)
sma10 = sma(close, 10)
source = close
sourcea = open

haclose = (open + high + low + close) / 4
haopen = na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2

fromYear = year > 2016
toYear = year < 2019

longCondition = haopen < haclose
if (longCondition and fromYear and toYear)
    strategy.entry("Long 1", strategy.long)

closeCondition = haopen > haclose
if (closeCondition)
    strategy.close("Long 1")
4

1 回答 1

11

您可以通过以下两种方式执行此操作:

  1. 使用常规蜡烛进行策略回测,并通过指标代码提取 HA 蜡烛值。
  2. 用于指标的美国 HA 蜡烛并通过代码提取常规蜡烛值,但您需要告知确切的价格以策略回测进入和退出。

所以我建议使用选项(1)

使用此代码为您的指标拉开/关闭/高/低HA 蜡烛。

openHA  = security(heikinashi(tickerid), period, open)
closeHA = security(heikinashi(tickerid), period, close)
highHA  = security(heikinashi(tickerid), period, high)
lowHA  = security(heikinashi(tickerid), period, low)
于 2018-10-09T13:04:19.027 回答