欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 一个REF函数前后顺序的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6129人关注过本帖树形打印复制链接

主题:一个REF函数前后顺序的问题

帅哥哟,离线,有人找我吗?
lzdanjian
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
一个REF函数前后顺序的问题  发帖心情 Post By:2014/12/4 18:13:26    Post IP:220.231.27.156[显示全部帖子]

我的代码结构是这样的(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的条件,这该怎么做?

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 13:22:45    Post IP:220.231.27.156[显示全部帖子]

代码已经重现问题:
请见附件


需要解决的问题是——在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


 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 14:05:42    Post IP:220.231.27.156[显示全部帖子]

以下是引用jinzhe在2014/12/5 13:45:45的发言:
你就是这样写的?还是全局变量定义没贴出来?

VARIABLE:BUY1=0,SELL1=0;我在真实策略的第四行声明了,但是这个范例里没加

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 14:08:32    Post IP:220.231.27.156[显示全部帖子]

有解决办法嘛?这个问题应该不是全局变量的问题吧?

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 14:19:08    Post IP:220.231.27.156[显示全部帖子]

以下是引用jinzhe在2014/12/5 14:14:58的发言:
那我给你加上,不要随意的乱改

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

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 14:47:30    Post IP:220.231.27.156[显示全部帖子]

以下是引用fly在2014/12/5 14:19:17的发言:

VARIABLE:BUY1=0,SELL1=0;

 

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 14:50:39    Post IP:220.231.27.156[显示全部帖子]

因为使用固定轮询模式,而这种特殊情况又需要根据收盘价来行动,所以只能使用REF来确定是否满足条件




难道我发现了一个BUG?有奖励么~~~
[此贴子已经被作者于2014/12/5 14:51:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 15:28:17    Post IP:220.231.27.156[显示全部帖子]

以下是引用fly在2014/12/5 15:17:30的发言:

不一定,

 

我尝试着写了一下,没写出来可以反映这个问题的代码

 

能麻烦您给我一个简单的例子,我们帮你调试一下

您好,重现问题的代码我已经整理好上传附件了,在3楼,里面有详细的问题说明,如果这个附件描述的不够准确,或者这个问题解决不了,那么麻烦帮我换一个思路解决
我需要的就是:
固定轮询模式下,如果:上一根K线最高价大于X最低价小于Y,收盘价大于Z,并且上一根K线是空头仓位,那么本周期开盘依然持有空头仓位的话就以本周期开盘价平空开多


就是这个简单的行为,是否有替代方式解决?
[此贴子已经被作者于2014/12/5 15:29:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 15:51:18    Post IP:220.231.27.156[显示全部帖子]

或者这样:
固定轮询模式下,让我可以本周期CLOSE满足条件下周期开盘价平仓。
如果能这样就没有任何问题,我测试过

 回到顶部
帅哥哟,离线,有人找我吗?
lzdanjian
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:262 积分:0 威望:0 精华:0 注册:2013/10/6 23:39:11
  发帖心情 Post By:2014/12/5 16:06:44    Post IP:220.231.27.156[显示全部帖子]

以下是引用fly在2014/12/5 16:05:05的发言:

考虑一下,请您等待.

你的代码看了,没有想到合适的例子.

好的,麻烦您了,谢谢耐心

 回到顶部
总数 13 1 2 下一页