以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=158876) |
-- 作者:anhaizhong -- 发布时间:2017/10/23 10:53:17 -- 请教 一个模型,同时交易6个品种,如果当天没有别的品种开仓,第一个品种开仓时仓位20%,之后在开仓的品种10%,这个怎么写? |
-- 作者:FireScript -- 发布时间:2017/10/23 11:08:58 -- 有个方法可以试下,用一个全局变量。在工具-数据管理-全局变量下定义一个变量。 IsTrade,默认值设为0. U:EXTGBDATA(\'IsTrade\'); if U then
需要注意的是这里设置的全局变量,在程序化交易结束后依然会保持之前所赋的值。所以开启一次交易后,下次开启交易要么手动把全局变量初始化为0,要么代码里想办法处理下。而且这段代码也只在某一次程序化运行中起作用。意思就是你之前手动开了仓,或者之前开启程序化交易过程产生的交易,这里都是无法判读的。
如果你是后台的话可以通过对品种的持仓判断来做限制。或者这个函数也行TTOTALDAYTRADE,这个函数返回当前交易次数。不过这个不分品种,如果只交易当前6个品种那倒是无所谓。 [此贴子已经被作者于2017/10/23 11:20:05编辑过]
|
-- 作者:anhaizhong -- 发布时间:2017/10/23 16:50:22 -- 麻烦问下,这个全局变量返回的是不是常数? |
-- 作者:anhaizhong -- 发布时间:2017/10/23 16:50:49 -- 会不会出现 后面条件变化,持仓变化的问题 |
-- 作者:FireScript -- 发布时间:2017/10/23 17:11:36 -- 以下是引用anhaizhong在2017/10/23 16:50:22的发言:
麻烦问下,这个全局变量返回的是不是常数? 是常数。 |
-- 作者:anhaizhong -- 发布时间:2017/10/23 17:21:05 -- 如果是常数是不是就会出现,条件 IsTrade 变化了,持仓用变成由20%同步成为10%的问题 |
-- 作者:wenarm -- 发布时间:2017/10/23 18:25:17 -- EXTGBDATA函数没有历史值,只会记录最新值。如果在图表中使用,会造成你图表中的仓位数量发生变化。这个你要注意
|