使用barsincechangestrategy.position_size> 10

问题描述

我的脚本中有一个奇怪的问题。

这是工作代码:

//@version=4
strategy("Test script",overlay=true,pyramiding=100)
process_orders_on_close=true

// FACTOR 1X MACD
fastMA = round(12*1)
slowMA = round(26*1)
signal = round(9*1)
[Macd1x,_,Hist] = macd(close[0],fastMA,slowMA,signal)

// FACTOR 4X MACD
fastMA4x = round(12*4)
slowMA4x = round(26*4)
signal4x = round(9*4)
[Macd4x,_] = macd(close[0],fastMA4x,slowMA4x,signal4x)

// TRADE CONDITIONS
PreventMultipleEntrys = barssince(change(strategy.position_size)) > 10

BuySignal = Macd1x > 0 and Macd4x > 0 and PreventMultipleEntrys
SellSignal = Macd1x < 0 and Macd4x < 0

strategy.entry(id="Enter Long",long=true,when=BuySignal)
strategy.entry(id="Enter Short",long=false,when=SellSignal)

因此,我在这里同时获得了多头和空头交易条目。 但是,当我也将PreventMultipleEntrys添加到我的卖出信号中时,一切都停止了工作。我没有收到任何买入或卖出信号,但编译器中仍然没有错误?

有人可以用这个奇怪的错误帮助我吗? 这是NONE的工作代码:

//@version=4
strategy("Test script",signal4x)

// TRADE CONDITIONS
PreventMultipleEntrys = barssince(change(strategy.position_size)) > 10

BuySignal = Macd1x > 0 and Macd4x > 0 and PreventMultipleEntrys
SellSignal = Macd1x < 0 and Macd4x < 0 and PreventMultipleEntrys //This line makes everything stop working

strategy.entry(id="Enter Long",when=SellSignal)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)