以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  一个REF函数前后顺序的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=72677)

--  作者:lzdanjian
--  发布时间:2014/12/4 18:13:26
--  一个REF函数前后顺序的问题
我的代码结构是这样的(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的条件,这该怎么做?
--  作者:jinzhe
--  发布时间:2014/12/5 8:53:54
--  
把你的代码贴一下
--  作者:lzdanjian
--  发布时间:2014/12/5 13:22:45
--  
代码已经重现问题:
请见附件


需要解决的问题是——在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线丢掉了一次开盘价平空开多的交易
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:bug.txt


--  作者:jinzhe
--  发布时间:2014/12/5 13:45:45
--  
你就是这样写的?还是全局变量定义没贴出来?
--  作者:lzdanjian
--  发布时间:2014/12/5 14:05:42
--  
以下是引用jinzhe在2014/12/5 13:45:45的发言:
你就是这样写的?还是全局变量定义没贴出来?

VARIABLE:BUY1=0,SELL1=0;我在真实策略的第四行声明了,但是这个范例里没加
--  作者:lzdanjian
--  发布时间:2014/12/5 14:08:32
--  
有解决办法嘛?这个问题应该不是全局变量的问题吧?
--  作者:jinzhe
--  发布时间:2014/12/5 14:14:58
--  
那我给你加上,不要随意的乱改
--  作者:lzdanjian
--  发布时间:2014/12/5 14:19:08
--  
以下是引用jinzhe在2014/12/5 14:14:58的发言:
那我给你加上,不要随意的乱改

好,多谢
我调了好几天,这个问题都解决不了,所以才整理了重现代码发到论坛上来
希望能知道到底怎么解决

--  作者:fly
--  发布时间:2014/12/5 14:19:17
--  

VARIABLE:BUY1=0,SELL1=0;

 

我的代码结构是这样的(5分钟周期):
1.平空
2.特殊情况平空——此处设置条件A=1
3.开多
4.平多
5.特殊情况平多——此处设置条件A=0
6.开空

说一下你代码这些编写中使用全局变量的目的.看能否帮助到您


--  作者:lzdanjian
--  发布时间:2014/12/5 14:47:30
--  
以下是引用fly在2014/12/5 14:19:17的发言:

VARIABLE:BUY1=0,SELL1=0;

 

我的代码结构是这样的(5分钟周期):
1.平空
2.特殊情况平空——此处设置条件A=1
3.开多
4.平多
5.特殊情况平多——此处设置条件A=0
6.开空

说一下你代码这些编写中使用全局变量的目的.看能否帮助到您

就简单说一下我这里使用的目的吧,因为会出现连续几根K线最高价和最低价都在我判断条件的两边,所以我需要在确定仓位与收盘价不一致时更改持仓方向,这也是我检查回测时发现的问题 然后我在每一次开平仓后都会在全局变量中做标记,这样可以很方便的处理一些条件下的开平仓