【问题标题】:Pine script - strategy entry using heikin ashi but strategy tester uses the real price not ha bar openPine 脚本 - 使用 heikin ashi 的策略输入,但策略测试器使用实际价格而不是 ha bar open
【发布时间】:2019-03-11 03:43:18
【问题描述】:

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

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

This link 进一步解释了这个问题。

//@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")

【问题讨论】:

  • 嗨,史蒂文,欢迎来到 SO!请提供您已经尝试过的代码,并记住 SO 不是代码编写服务。否则,您的帖子可能会被否决或关闭。
  • “在策略测试面板中真正打开”是什么意思?
  • 感谢 not2qubit 。代码在原始帖子中。 Pine 脚本使用回测策略测试面板中的 heikin ashi 值作为交易列表。这个值不是人们买入或卖出的真实价格。

标签: pine-script


【解决方案1】:

您可以通过两种方式做到这一点:

  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)

【讨论】:

  • 谢谢 mikeyy 。我会考虑一下。对于策略,我希望使用 heikin ashi 触发买入卖出,但希望根据实际价格计算交易列表。
  • 是的,我明白了。上面的代码允许你这样做。首先定义这些变量,然后在您的买入/卖出条件中使用 closeHA 而不是 close 进行计算。由于您将使用常规蜡烛,策略回测将根据常规/实际价格自动计算交易,而不是 HA 价格。
  • 谢谢。当图表样式为条形、蜡烛或空心蜡烛时,它可以工作。太棒了。
  • tickerid: "syminfo.tickerid" 和 period: "timeframe.period" ,获取图表显示的内容
猜你喜欢
  • 1970-01-01
  • 2023-01-27
  • 2018-08-04
  • 1970-01-01
  • 2023-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多