【问题标题】:Long/Short strategy only shows close entry order for long多头/空头策略仅显示多头平仓挂单
【发布时间】:2021-07-22 04:19:08
【问题描述】:

这里是新手。我正在制定多头/空头策略。当我运行我的策略时,多头头寸按预期平仓,但我认为空头头寸不是。因为我将每个订单的费用设置为美元,所以我想确保每个市场订单都打开/关闭,以便我可以回溯测试我的策略。我的代码如下。

    hist = macd - signal
if (hist > 0.15)
    strategy.entry("Long", strategy.long, comment="Long")
if (hist < -0.15)
    strategy.close("Long")
if (hist < -0.15)
    strategy.entry("Short", strategy.short, comment="Short")
if (hist > 0.15)
    strategy.close("Short")

谢谢!

【问题讨论】:

    标签: pine-script tradingview-api


    【解决方案1】:

    这是正确的行为,因为您的条件实际上定义为

    hist = macd - signal
    
    if (hist > 0.15)
        strategy.entry("Long", strategy.long, comment="Long")
        strategy.close("Short")
        
    if (hist < -0.15)
        strategy.close("Long")
        strategy.entry("Short", strategy.short, comment="Short")
    

    所以当您在(hist &lt; -0.15) 条件下进入空头头寸时, 在接下来的小节中,当if (hist &gt; 0.15) 为真时,您将通过strategy.entry("Long", strategy.long, comment="Long") 恢复您的Short 位置。

    【讨论】:

    • 感谢您的帮助!它按预期工作,但仍然具有相同的行为。我设置了一个警报,当多头头寸平仓和空头头寸打开时,我收到 2 个警报,其中一个说我的头寸现在对于多头是“0”,对于空头是“合约数量”。但是,当空头平仓和多头开仓时,我只收到一个提醒多头买入“合约数量”,而空头没有卖出头寸“0”。因为我正试图用 Finandy 实现一个机器人,所以我假设我应该收到 4 个警报,而不是 3 个(如果有意义的话)。很抱歉发了这么长的帖子。
    • 尝试在输入前输入strategy.close("Short")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多