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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 如何让后台执行全局变量往下传递数据

   

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


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

主题:如何让后台执行全局变量往下传递数据

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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
如何让后台执行全局变量往下传递数据  发帖心情 Post By:2011/9/15 8:50:31 [只看该作者]

环境: 后台执行代码 需求:需要一个全局变量在每次执行的时候往后传递数据 现状: 现在的解决方案是设置全局变量,利用Exdataset 以及Exdata来保存与获取 问题: 上述这种解决问题的方法很好,但有个缺点,就是当算法很多,全局变量很多时查询与维护不方便。 希望: 能用Variable 直接声明一个变量,再每次单步执行的时候它的值能够往后传递。而不是每次单步执行的时候都要重新计算或者利用Exdata获取。 例子: 记录是否已经止损的状态 variable: bstopped:=0; if (stoploss) then bstopped:=1 if (bstopped=0) then begin end if (bstopped=1) then begin end 我现在担心每次重新执行时bstopped都被重新初始化成0. 由于时间紧急,请高手尽快解答一下。 谢谢!

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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
  发帖心情 Post By:2011/9/15 8:53:13 [只看该作者]

用extgbdata和extgbdataset维护起来不方便,特别是这些单值型全局变量比较多的时候

楼主应该是这个意思:

环境:后台执行代码,也可前台,应该不影响

需求:需要一个全局变量(单值型的)在每次执行的时候往后传递数据

现状:现在的解决方案是设置全局变量,利用Exdataset 以及Exdata来保存与获取

上述这种解决问题的方法很好,但有个缺点,就是当算法很多,全局变量很多时查询与维护不方便。

 

希望: 能用Variable2 直接声明一个变量,该变量的作用:

1,再每次单步执行的时候它的值能够往后传递。 

2,在每次加载程序的时候初始化一次初始值,仅此一次。类似runmode、input函数等

3,该变量只在最后一个周期有效    

也就是一个赋值和取值跟普通变量一样方便的单值型全局变量。


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/9/15 8:59:00 [只看该作者]

你的是后台程序化交易,请用Exdataset 以及Exdata来保存与获取全局变量.

 

variable:定义的全局变量是用于图表的----用于图表,只会初始化一次,不会出现楼主说的情况



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

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

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

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/9/15 14:12:50 [只看该作者]

 

不好意思,我点错了,编程了二楼的帖子了。

 

补充一下:所声明的全局变量,只局限在改公式使用。不像extgbdata是公共的、开放的

[此贴子已经被作者于2011-9-15 14:13:52编辑过]

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/9/15 14:16:49 [只看该作者]

有一定的可行性,会在日后版本中考虑增加
GlobalVariable: 这样的全局变量声明。


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/9/15 16:30:37 [只看该作者]

图片点击可在新窗口打开查看

丰胸果然牛


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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
  发帖心情 Post By:2011/9/15 21:50:25 [只看该作者]

谢谢。

 

请增加后台执行的全局变量。


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/9/17 22:53:32 [只看该作者]

后来想想,认为:

1,其实无需限定为最后一个周期才有效,如果需要,用户可以自行用islastbar控制

2,图标和后台均可以使用

也就是这样的变量:只局限在公式内部使用的、无需保存的、非公共的、非开放的、赋值和取值非常方便的单值型全局变量

 

有了这样的变量后,会有更多的功效,比如:无需重复计算的变量,都可以使用这个变量加快程序运行速度

举个例子:

//某日内交易模型,开盘价 + 昨日的波幅*0.4 +作为上界
//某日内交易模型,开盘价 - 昨日的波幅*0.4 +作为下界
//这里,昨日波幅的计算,其实无需重复计算,计算一次即可
//有了GlobalViriable,可以加快运算速度,如:
GlobalViriable:gl=drawnull;//初始值为无效值
cond:=day<>ref(day,1);
kpj:=valuewhen(cond,o);
yl:=kpj+gl*0.4;
zc:=kpj-gl*0.4;
……
……
if gl<>drawnull then exit;
nn:=barslast(cond)+1;
bofu:=valuewhen(cond,ref(hhv(h,nn)-llv(l,nn),1));
if date=currentdate then glv1:=bofu;//赋值后,bofu这个变量就不用重新计算了,而最新的信号都可以正确执行


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


加好友 发短信
等级:论坛游民 帖子:219 积分:1350 威望:0 精华:0 注册:2011/2/27 21:22:43
  发帖心情 Post By:2011/9/18 21:05:36 [只看该作者]

LeeVolvo的理解非常正确,就是很多变量是重复计算的,比如开盘价的取值,前三十分钟的最高最低值,以及当日的交易次数与仓位信息。

 

这些计算都是重复的,而且是相当的计算量,尤其是过去N周期的最高最低值,如果能够避免计算,则计算量会非常节省。

 

谢谢!


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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/9/19 14:35:45 [只看该作者]

呵呵,要采用这种方法,对模型编写水平的要求就比较高了。

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