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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]如何编写以下策略

   

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


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

主题:[求助]如何编写以下策略

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
[求助]如何编写以下策略  发帖心情 Post By:2019/4/22 11:02:42    Post IP:58.62.92.47[只看该作者]

有如下变量:

v2 为最近一段t时间内,当前k收盘价-t时间段内的k开盘价;例如当t=1,就是当前k,为close-open;当t=2,则为close-ref(open,1);当t=3,则为close-ref(open,2);

v1 为最近一段t市价内,昨k收盘价-t时间段内的昨k开盘价;例如当t=1,则为ref(close,1) - ref(open,1);当t=2,则为ref(close,2) - ref(open,3);当t=3,则为ref(close,3)-ref(open,5);

每条k都计算t=1到50时,a[t]=(v2-v1)/t 的数值,并记录其中的最大值a[max]及此时的t数值;

最后,再记录最近500条k中,每条k的a[max]里面最大那个,最好能分别记录a的正负极值,就是正的最大a[max],以及负的最小a[-max].

 

请教如何写出以上策略。

 

 

 

 

[此贴子已经被作者于2019/4/22 11:03:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/22 13:15:32    Post IP:180.169.30.6[只看该作者]

 “v1 为最近一段t市价内,昨k收盘价-t时间段内的昨k开盘价;例如当t=1,则为ref(close,1) - ref(open,1);当t=2,则为ref(close,2) - ref(open,3);当t=3,则为ref(close,3)-ref(open,5);”

后面这里的规律是ref(c,t)-ref(o,2*t-1)?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/22 13:52:28    Post IP:180.169.30.6[只看该作者]

t:=10;//自行定义td的值。
temp:=-100000;//初始定义一个比较小的值
j:=0;
for i=1 to t  do
begin
v1:ref(c,i)-ref(o,2*i-1);
v2:c-ref(o,i-1);
a:=(c-ref(o,i-1)-ref(c,i)+ref(o,2*i-1))/i;
if a>temp then //保存最大值以及对应的t值
begin
temp:=a;
j:=i;
end
end

max_v:temp;//最大值
max_t:j;//最大值对应的t

算法上大致这样处理就行了。需要注意:
1.t值较大以及K线比较多的情况下,计算量非常大。本地测试还是比较卡的。
2.这个计算涉及到的历史数据比较多。K线排序靠前的若干K的值是不完整的。比如第40个K的位置,t=50情况下 压根就ref不到指定的数据。你这个至少要2倍t的数据量才行。

“再记录最近500条k中,每条k的a[max]里面最大那个,最好能分别记录a的正负极值,就是正的最大a[max],以及负的最小a[-max].”
这个直接用hhv 对max_v进行一下处理就行了。

最小值的记录,模仿最大值的方式处理下就行了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
saintlucifer
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
  发帖心情 Post By:2019/4/23 9:17:12    Post IP:58.62.52.243[只看该作者]

编译的时候出现这个提示,看了下解决方案,似乎这种情况下不理也可以?

 

第 7 行,REF 函数在循环语句中可能会带来风险。
第 8 行,REF 函数在循环语句中可能会带来风险。
第 8 行,REF 函数在循环语句中可能会带来风险。

请参阅帮助公式部分的解决方案。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=130


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2019/4/23 9:58:45    Post IP:180.169.30.6[只看该作者]

不用理会,直接运行于图上就行了

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


加好友 发短信
等级:新手上路 帖子:20 积分:50 威望:0 精华:0 注册:2011/5/30 16:16:40
  发帖心情 Post By:2019/4/24 15:58:05    Post IP:101.206.227.131[只看该作者]

直接用ZIG了事。你那计算费工费时

 回到顶部