如何在第二天开盘时进入交易,但在当天收盘时退出

问题描述 投票:0回答:2

我想在 TradingView 中执行回溯测试,在进入触发发生后的第二天开盘时进入交易,但在退出触发的同一天收盘时退出。 以下是仅使用 rsi 作为指标的示例策略:

//@version=5
strategy(title = "Indicator Backtest", overlay = true, process_orders_on_close = true)

fromYear = year > 2011
toYear = year < 2023

VI = rsi(10)
BUY = VI < 30
SELL = VI > 70

if (BUY and fromYear and toYear)
    strategy.entry("Long", strategy.long)
if ((SELL or ta.barssince(BUY) >= 21))
    strategy.close("Long")

我知道 TradingView 中有两种设置进场/出场程序的方法(使用日线图):

  1. strategy(title = "指标回测", overlay = true, process_orders_on_close = true) --> 这将在触发买入信号当天收盘时打开交易,并在触发卖出信号当天收盘时退出交易。

  2. strategy(title = "指标回测", overlay = true, process_orders_on_close = false) --> 这将在买入信号触发后的第二天开盘时开仓,并在卖出信号触发后第二天开盘时退出。

我也尝试使用策略 1) 但使用 'if (BUY[1] 和 fromYear 和 toYear)' 而不是 'if (BUY 以及 fromYear 和 toYear)'。 这确实会在第二天开始交易,但是,不是在开盘时而是在收盘时...

有什么想法吗?

pine-script
2个回答
0
投票

immediately
参数可以帮助您:

//@version=5
strategy(title = "Indicator Backtest", overlay = true)

fromYear = year > 2011
toYear = year < 2023

VI = ta.rsi(close, 10)
BUY = VI < 30
SELL = VI > 70

if (BUY and fromYear and toYear)
    strategy.entry("Long", strategy.long)
if ((SELL or ta.barssince(BUY) >= 21))
    strategy.close("Long", immediately = true)

0
投票

这绝对是美妙的! 它就像一个魅力,没有人工智能可以解决这个问题 - 无论是 ChatGPT 还是 Perplexity AI。 ;)

谢谢你,安德烈

© www.soinside.com 2019 - 2024. All rights reserved.