//固定止盈-持有多单
HIGHPRICE:=HHV(HIGH,ENTERBARS+1);
IF HOLDING>0 and HIGHPRICE-ENTERPRICE>15*mindiff and c-ENTERPRICE<=0.7*(HIGHPRICE-ENTERPRICE) THEN BEGIN
多单止盈:SELL(HOLDING>0,0,market);//止盈
止盈后反向开空:buyshort(holding=0,10,market); //开空
END

此主题相关图片如下:2.jpg
HIGHPRICE:HHV(HIGH,ENTERBARS+1);
你这个原意是要取 开仓之后的最高价吧。但是操作不慎的可能会导致取到 到目前为止的所有K的最高价。
你把ENTERBARS+1 和HIGHPRICE 都输出看下。
你看下在开仓K上是不是ENTERBARS+1 等于0 了。如果是HIGHPRICE 就会取得一个很大的值。
那么这个部分:
HIGHPRICE-ENTERPRICE>15*mindiff and c-ENTERPRICE<=0.7*(HIGHPRICE-ENTERPRICE)
就很容易成立了。
ENTERBARS+1 改成ENTERBARS+2
[此贴子已经被作者于2019/11/5 14:46:12编辑过]
HIGHPRICE:HHV(HIGH,ENTERBARS+1); 改成 HIGHPRICE:HHV(HIGH,ENTERBARS);
结果差不多,都是重复开平仓
我意思就是开多后的最高值 回落到70%的地方止盈,并且反向开仓
前面说错了,不是去掉+1 而是改成+2。改成+2之后才能正常取到值。
[此贴子已经被作者于2019/11/5 14:46:47编辑过]
都行你把ENTERBARS+1 和HIGHPRICE 都输出看下。
请问怎么输出 这些值 在K线图上?
如果修改之后还不行,有可能是代码位置缘故,在开仓语句前还是后 函数返回值是有影响的。
或者你完整的代码发下吧。我直接看代码吧,这样方便。
输出的话,很简单。单独给他们定义一个变量就行了。
z:ENTERBARS+2;
对的。 这种方式定义的是会输出指标线的。你可以看下。
请问多单止盈后 反向开空,如何避免下一个K线自动开多,小趋势是空方,但是大趋势还是多的 (还是在开多的范围内)

此主题相关图片如下:qq拼音截图未命名.jpg
我意思是知道下一个开仓信号出现再开仓,而不是因为在多单信号里下个K线就直接开多