【问题标题】:Can I entry strategy.exit immediately after strategy.entry in the same bar for stop loss?我可以在同一根柱线中的策略进入后立即进入策略退出以进行止损吗?
【发布时间】:2022-12-18 16:22:29
【问题描述】:

我目前使用的策略是头寸规模的止损为 0.5%,头寸规模的止盈为 4% 和 8%。

通常,该策略与设置完美配合。 但是,tradingview 不能在同一根柱线中与输入的位置一起退出位置。 因此,这将导致我的头寸损失更大(如下图超过 0.5%)。

enter image description here

我可以知道如何在进入的同一个柱线中退出我的头寸而不引起其他问题吗? (如 calc_on_order_fills = true, calc_on_every_tick = true 可能会影响我的条目)

感谢大家对本社区的支持和信息!

TP1 = strategy.position_avg_price + percentAsPoints(TP1Perc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size) TP2 = strategy.position_avg_price + percentAsPoints(TP2Perc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size) SL = strategy.position_avg_price - percentAsPoints(SLPerc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size)

//Stop loss for short position if strategy.position_size > 0 strategy.exit('TP1', from_entry='Long', qty=initial_position_size * TP1_Ratio, limit=TP1, stop=SL) strategy.exit('TP2', from_entry='Long', limit=TP2, stop=SL)

STP1 = strategy.position_avg_price + percentAsPoints(STP1Perc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size) STP2 = strategy.position_avg_price + percentAsPoints(STP2Perc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size) SSL = strategy.position_avg_price - percentAsPoints(SSLPerc) * syminfo.mintick * strategy.position_size / math.abs(strategy.position_size)

//Stop loss for short position if strategy.position_size < 0 strategy.exit('STP1', from_entry='Short', qty=initial_position_size * STP1_Ratio, limit=STP1, stop=SSL) strategy.exit('STP2', from_entry='Short', limit=STP2, stop=SSL)

【问题讨论】:

  • @I L 运气好吗?有同样的问题
  • 发现您可以在策略上使用“After Order is Filled”参数来触发同一柱上的退出,但有时会在同一根蜡烛上进行第二次入场,如下所示。只需要找出一种方法来阻止在一个栏上创建 2 个条目,这可能就是您的解决方案tradingview.com/x/pwvyCOvl

标签: pinescript-v5 tradingview-api


【解决方案1】:

所以我遇到了同样的问题,但我想我已经弄明白了

在策略参数中设置 calc_on_order_fills = true。这与 UI 中策略设置上的“订单执行后”复选框相同。

然而,您可能会注意到,在同一根柱上的订单成交后,它还会重新执行您再次拥有的任何多头/空头条目。见例子 https://www.tradingview.com/x/pwvyCOvl

除非这是您想要的,否则您可以将此条件添加到您的长条目 IF 语句中。它只是确保您仅在同一柱上存在已关闭交易时才做多/做空。

//Either first trade, or the most recent closed trade (identified by exit bar index) is not on the current bar (bar index) 
if longEntry and ((strategy.closedtrades == 0) or (bar_index != strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1))) 
    strategy.entry("Long Entry", strategy.long)
if shortEntry and ((strategy.closedtrades == 0) or (bar_index != strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1)))
    strategy.entry("Short Entry", strategy.short)

【讨论】:

    猜你喜欢
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 2022-10-21
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多