Pine script 基于条目ID的Cap条目

Pine script 基于条目ID的Cap条目,pine-script,algorithmic-trading,Pine Script,Algorithmic Trading,我想建立一个交易策略,使用三个进入信号“完全多头” 理想情况下: 我希望第一个多头交易发生在价格收盘高于均线时 第二个,更重的,很长的时间都会发生在均线交叉的时候 第三种情况是,当收盘价高于顿钦海峡时,持仓量将增加一倍 我给每个条目命名了一个不同的ID,认为可以将条目限制为1 我尝试过金字塔交易,但如果价格在一天之内跌破,然后又回升,它会一次又一次地进入第一笔交易。它不会碰到我的止损点,所以它只会给这个职位增加一份合同 //Over EMA 2 lCOne = crossover(close

我想建立一个交易策略,使用三个进入信号“完全多头”

理想情况下:

  • 我希望第一个多头交易发生在价格收盘高于均线时
  • 第二个,更重的,很长的时间都会发生在均线交叉的时候
  • 第三种情况是,当收盘价高于顿钦海峡时,持仓量将增加一倍
我给每个条目命名了一个不同的ID,认为可以将条目限制为1

我尝试过金字塔交易,但如果价格在一天之内跌破,然后又回升,它会一次又一次地进入第一笔交易。它不会碰到我的止损点,所以它只会给这个职位增加一份合同

//Over EMA 2
lCOne = crossover(close,ematwo)

//EMA1 crossover EMA2
lCTwo = crossover(emaone, ematwo)

//Close above upper DC
lCThree = crossover(close,DChiHighs)

CloseOne = crossunder(close,DCloLows)
CloseTwo = crossunder(close,ematwo)

//if (lCOne)
strategy.risk.max_position_size(3)
strategy.entry("LONG ONE", strategy.long,1, when = lCOne)
strategy.entry("LONG TWO", strategy.long,2, when = lCTwo)
strategy.entry("LONG THREE", strategy.long,3, when = lCThree)

strategy.close("LONG ONE",when = CloseOne)
strategy.close("LONG TWO",when = CloseTwo)
strategy.close("LONG THREE",when = CloseTwo)


我不确定这是否是最好的,但我确实找到了解决办法

strategy.entry("LONG ONE", strategy.long, 1 , when = lCOne and strategy.position_size < 1)
strategy.entry("LONG TWO", strategy.long, 1 , when = lCTwo and strategy.opentrades == 1)
strategy.entry("LONG THREE", strategy.long, 1 , when = lCThree)
strategy.entry(“LONG ONE”,strategy.LONG,1,when=lCOne和strategy.position\u size<1)
strategy.entry(“LONG TWO”,strategy.LONG,1,when=lCTwo和strategy.opentrades==1)
strategy.entry(“LONG-THREE”,strategy.LONG,1,when=lCThree)
使用strategy.position\u size和strategy.opentrades


我可能会使用strategy.opentrades来处理这三个问题,但我没有玩太多。这让我现在很满意,希望能有所帮助。

我不确定这是否是最好的,但我确实找到了解决办法

strategy.entry("LONG ONE", strategy.long, 1 , when = lCOne and strategy.position_size < 1)
strategy.entry("LONG TWO", strategy.long, 1 , when = lCTwo and strategy.opentrades == 1)
strategy.entry("LONG THREE", strategy.long, 1 , when = lCThree)
strategy.entry(“LONG ONE”,strategy.LONG,1,when=lCOne和strategy.position\u size<1)
strategy.entry(“LONG TWO”,strategy.LONG,1,when=lCTwo和strategy.opentrades==1)
strategy.entry(“LONG-THREE”,strategy.LONG,1,when=lCThree)
使用strategy.position\u size和strategy.opentrades

我可能会使用strategy.opentrades来处理这三个问题,但我没有玩太多。这让我现在很满意,希望能有所帮助