如何在Tradeview的Pinescript中保持两个多头和空头的相对头寸?

时间:2020-06-27 14:11:09

标签: pine-script

这是一个简单的代码,向您展示我的意思,多头和空头都有止损,但问题是我希望能够在不关闭已开多头的情况下开空头。正如您可能已经猜到的那样,我想在市场紧张的情况下测试此策略,无论哪种方式,您都可以获利。

strategy("bothways", overlay=true)

leverage=input(5,"leverage",step=.25)
partoftrade=input(1,"partoftrade",step=.01)
StoplosssS=input(0.025,"StopLOSS SHORT",step=0.001)
StoplosssL=input(0.025,"StopLOSS LONG",step=0.001)
pertpS = input(0.02,"TP Short",step=0.01)
pertpL = input(0.02,"TP Long",step=0.01)
narrow=bbw(open,20,2)<0.005
red=open>close
green=open<close
longCondition = narrow and green
if (longCondition and strategy.opentrades<2)
    strategy.entry("L", strategy.long,qty=(strategy.equity/1)*partoftrade*leverage/open,oca_name="ocg",oca_type=strategy.oca.cancel)
strategy.exit("LE",from_entry="L",profit=close*pertpL/syminfo.mintick,loss=open*StoplosssL/syminfo.mintick,oca_name="ocg")

shortCondition = narrow and red
if (shortCondition and strategy.opentrades<2)
    strategy.entry("S", strategy.short,qty=(strategy.equity/1)*partoftrade*leverage/open,oca_name="ocg",oca_type=strategy.oca.reduce)
strategy.exit("SE",from_entry="S",profit=close*pertpS/syminfo.mintick,loss=open*StoplosssS/syminfo.mintick,oca_name="ocg")    

感谢帮助

1 个答案:

答案 0 :(得分:0)

当然,您可以将它们分成两个不同的命令文件。我知道这个答案不会让您满意,我已尽力击败它.. 但请考虑一件事...盈利能力。

[ 虽然,恕我直言... 我建议检查每个职位的策略摘要中的“持有的合同”行并选择最有利可图的一个。 想象一下,您将这些订单输入到您的交易所。您的 2 多头将购买该合约。当你想卖空它时,它会先用你口袋里的东西,然后让你选择借用该合约,或者只有当你的投资组合中没有它时才进行保证金出售。因此,如果它们不是重要的而是交织在一起的,它们就会相互抵消(当您在每条关闭之前将蓝色长裤和红色短裤放在同一位置时) ]