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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台程序化固定轮询方法,同一个变量不同股票输出值一样?

   

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


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

主题:后台程序化固定轮询方法,同一个变量不同股票输出值一样?

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


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2016/8/29 17:36:52
后台程序化固定轮询方法,同一个变量不同股票输出值一样?  发帖心情 Post By:2016/10/12 10:31:27    Post IP:124.16.139.126[只看该作者]

为了测试采用后台程序化交易的策略,采用了固定轮询的方式,编写如下代码记录输出结果;
hiAfterEntry 想记录持仓后,该股票的最高价,Lmaxprofit为最高价格减去平均买入价


debugfile('E:\金融数据分析\TEST.TXT','当前交易股票代码为 : ' +stklabel,0);
if THOLDING >0 and Tenterbars = 0 then 
begin
hiAfterEntry := high;
Lmaxprofit := hiafterentry - Tavgenterprice;
end
if THOLDING > 0 and Tenterbars>=1 then 
begin
hiAfterEntry := max(hiAfterEntry, high);
Lmaxprofit := hiafterentry - Tavgenterprice;

end

DEBUGFILE('E:\金融数据分析\TEST.TXT','进场价格%.3f',TAVGENTERPRICE);
DEBUGFILE('E:\金融数据分析\TEST.TXT','最高价格%.3f',hiafterentry);
DEBUGFILE('E:\金融数据分析\TEST.TXT','最大利润%.3f',Lmaxprofit);





采用上述代码,进行txt输出 得到
2016-10-12 09:53:22.652    当前交易股票代码为 : 603618
2016-10-12 09:53:22.657    进场价格14.290
2016-10-12 09:53:22.658    最高价格34.380
2016-10-12 09:53:22.658    最大利润20.090
2016-10-12 09:53:22.707    当前交易股票代码为 : 603328
2016-10-12 09:53:22.709    进场价格28.790
2016-10-12 09:53:22.711    最高价格34.380
2016-10-12 09:53:22.711    最大利润5.590

为什么在轮询模式下,策略运行在不同的股票上,定义的最高价格hiafterentry这个变量,输出的却是一样的。这个最高价格,并没有记录到当前轮询的股票的最高价格。

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/10/12 10:35:52    Post IP:180.169.30.6[只看该作者]

你这个变量是怎么定义的


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2016/8/29 17:36:52
  发帖心情 Post By:2016/10/12 10:45:13    Post IP:124.16.139.126[只看该作者]

就是在如下的代码中,定义了hiAfterEntry 与Lmaxprofit  这个变量

if THOLDING >0 and Tenterbars = 0 then 
begin
hiAfterEntry := high;
Lmaxprofit := hiafterentry - Tavgenterprice;
end
if THOLDING > 0 and Tenterbars>=1 then
begin
hiAfterEntry := max(hiAfterEntry, high);
Lmaxprofit := hiafterentry - Tavgenterprice;
end
当策略运行不同的股票, 这个hiAfterEntry 应该不一样,应该策略再运行每个股票时都记录了本只股票的hiAfterEntry 的值,但是从目前输出的结果看来,
hiAfterEntry := max(hiAfterEntry, high);这条语句中hiAfterEntry在不同股票的轮询过程采用的是同一个值。


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/10/12 10:54:00    Post IP:180.169.30.6[只看该作者]

把定义时的句子发一下


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2016/8/29 17:36:52
  发帖心情 Post By:2016/10/12 11:10:41    Post IP:124.16.139.126[只看该作者]

管理员,您好,我没有在别的地方定义这两个变量,就是在如下语句中定义了这个变量;
if THOLDING >0 and Tenterbars = 0 then 
begin
hiAfterEntry := high;
Lmaxprofit := hiafterentry - Tavgenterprice;
end
if THOLDING > 0 and Tenterbars>=1 then
begin
hiAfterEntry := max(hiAfterEntry, high);
Lmaxprofit := hiafterentry - Tavgenterprice;
end


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/10/12 11:14:38    Post IP:180.169.30.6[只看该作者]

gloablvariable:hiAfterEntry=0, Lmaxprofit=0;

这两个变量要这样定义,你再试试



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部