Pine Script 5,一旦出售,只有在经过一定数量的柱后才会被买回来

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

我正在创建如下交易策略:

if buy_condition1
     strategy.entry('.', strategy.long)

if sell_condition1a
     strategy.close('.')

if sell_condition1b
     strategy.close('.')

我希望在以 sell_condition1b 条件卖出后,等待至少 10 个柱才能执行下一个买入订单。请指导我如何做,非常感谢。

我尝试了以下方法,但仍然不起作用。 sell_condition2 之后仍然有买入订单,而不必等待 10 个柱。

var bool inBuy1 = false
var bool inBuy1x = false
var bool can_buy = true
var int bars_since_sell = na

if not na(bars_since_sell)
    bars_since_sell := bars_since_sell + 1

if bars_since_sell >= 10
    can_buy := true

if buy_condition1 and can_buy
    if buy_condition1a and not B
        strategy.entry('.', strategy.long)
        inBuy1 := true
        can_buy := false
    if buy_condition1b and conditionX and B
        strategy.entry('.', strategy.long)
        inBuy1 := true
        can_buy := false

if sell_condition1a and not inBuy1x
    strategy.close('.')
    inBuy1 := false
    can_buy := true

if buy_condition2 and can_buy
    strategy.entry('.', strategy.long)
    inBuy1x := true
    can_buy := false

if sell_condition2 and inBuy1x 
    strategy.close('.')
    inBuy1x := false
    can_buy := false
    bars_since_sell := 0
pine-script pine-script-v5
1个回答
0
投票

我找到了答案,做法如下:

var bool inBuy1 = false
var bool inBuy1x = false
var int bars_since_sell = na

if not na(bars_since_sell)
    bars_since_sell := bars_since_sell + 1

if buy_condition1 and na(bars_since_sell) or bars_since_sell >= 10
    if buy_condition1a and not B
        strategy.entry('.', strategy.long)
        inBuy1 := true
    if buy_condition1b and conditionX and B
        strategy.entry('.', strategy.long)
        inBuy1 := true

if sell_condition1a and not inBuy1x
    strategy.close('.')
    inBuy1 := false

if buy_condition2 
    strategy.entry('.', strategy.long)
    inBuy1x := true

if sell_condition2 and inBuy1x 
    strategy.close('.')
    inBuy1x := false
    bars_since_sell := 0
© www.soinside.com 2019 - 2024. All rights reserved.