我的代码结构是这样的(5分钟周期):
1.平空
2.特殊情况平空——此处设置条件A=1
3.开多
4.平多
5.特殊情况平多——此处设置条件A=0
6.开空
当我使用条件A时是用REF(A,1);这样使用
然后遇到问题,在挨着的两根K线K1、K2上,第一根K1收盘后A=0,但是在K2上只有将REF(A,1);这代码放在“5.特殊情况平多”之后才是0,在位置5之前都是1,但是K2之后的第三根K线上就没有问题是0,这样明显说不通啊,为什么REF在挨着的K线使用时还要考虑位置?
我需要在K2上的位置2使用A=0的条件,这该怎么做?
代码已经重现问题:
请见附件
需要解决的问题是——
在2014.12.04_11:00这根5分钟K线“位置二REF的SELL1状态”为1
使用在螺纹钢连续 5分钟周期 2014.12.04 10:50、10:55、11:00 这三根K线上
这种情况导致11:00 这根5分钟K线丢掉了一次开盘价平空开多的交易
以下是引用jinzhe在2014/12/5 13:45:45的发言:
你就是这样写的?还是全局变量定义没贴出来?
VARIABLE:BUY1=0,SELL1=0;我在真实策略的第四行声明了,但是这个范例里没加
以下是引用jinzhe在2014/12/5 14:14:58的发言:
那我给你加上,不要随意的乱改
好,多谢
我调了好几天,这个问题都解决不了,所以才整理了重现代码发到论坛上来
希望能知道到底怎么解决
VARIABLE:BUY1=0,SELL1=0;
我的代码结构是这样的(5分钟周期):
1.平空
2.特殊情况平空——此处设置条件A=1
3.开多
4.平多
5.特殊情况平多——此处设置条件A=0
6.开空
说一下你代码这些编写中使用全局变量的目的.看能否帮助到您
以下是引用fly在2014/12/5 14:19:17的发言:
VARIABLE:BUY1=0,SELL1=0;
我的代码结构是这样的(5分钟周期):
1.平空
2.特殊情况平空——此处设置条件A=1
3.开多
4.平多
5.特殊情况平多——此处设置条件A=0
6.开空
说一下你代码这些编写中使用全局变量的目的.看能否帮助到您
就简单说一下我这里使用的目的吧,因为会出现连续几根K线最高价和最低价都在我判断条件的两边,所以我需要在确定仓位与收盘价不一致时更改持仓方向,这也是我检查回测时发现的问题
然后我在每一次开平仓后都会在全局变量中做标记,这样可以很方便的处理一些条件下的开平仓