下面是开平仓条件:
平空:Sellshort(holding<0 and enterbars=1,0,limitr,o);
平多:sell(holding>0 and enterbars=1,0,limitr,o);
//平仓是在第二根k线开盘
开多:BUY(d1 AND HOLDING=0,num,MARKETR);
开空:BUYSHORT(k1 AND HOLDING=0,num,MARKETR);
我的问题是:
在同一根k线上已经开了空单,在空单没有平仓的情况. 触及到了多单开仓条件d1成立 ,按理说现在HOLDING的值应该是-1 开不了多单
但是在图表上 原来的空单信号消失了,变成了开多,HOLDING的值也变成了1
备注:
HOLDING函数的说明:得到当前交易系统的持仓总量,多仓返回正数空仓返回负数
请帮忙解答下!感谢
holding是虚拟持仓,不是实际持仓,根据信号产生的持仓,有开空信号时,产生了-1的空头虚拟持仓,当信号消失时,那么这个-1的空头信号持仓也会消失,返回到开仓之前的holding的状态, 所以后面开多时,持仓并没有判断错
你好 空单已经开了的情况下,holding的值已经是-1 .
但是我的开多条件是 d1 and holding=0 两个条件同时成立.
这个时候holding的值已经是-1
请问为什么又开了多单
并且 我使用STATE 做为开多条件 在账户已经有空单的情况下还是开了多单
开多:BUY(d1 AND STATE=0,num,MARKETR)
STATE 函数说明: 得到当前帐户状态,无仓输出0;有多头仓输出1;有空头仓输出-1
根据你的描述,你的就是信号闪烁的现象你检查下你的条件。
你是否有小周期引用大周操作
[此贴子已经被作者于2016-12-9 10:58:01编辑过]
绝对没有 开仓条件就是:
d1:HIGH>=REF(HIGH,1),LINETHICK0;
k1:LOW<=REF(LOW,1),LINETHICK0;
开多:BUY(d1 AND HOLDING=0,num,MARKETR);
开空:BUYSHORT(k1 AND HOLDING=0,num,MARKETR);
你说的在同一根k线上已经开了空单,是图表程序化开的?
还是你账号的实际持仓。图表有自己的虚拟持仓,不会直接监控到实际账户的持仓
图表上信号已经是开空信号 真实账户也已经成交 并持有空单.
怎么才能完全禁止再开多单 , 我上面已经发过我真实的交易规则,是完全不会有未来的.
发张图,你讲的是不会出现的,由开空信号,没平仓前是不会出开多信号的.
发一张有开空信号和开多信号同时有的截图

此主题相关图片如下:qq截图20161209134919.png

就像这个
[此贴子已经被作者于2016-12-9 13:50:58编辑过]