以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 【12.30帖子恢复】eric917 关于初始化全局变量 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=60462) |
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:37:56 -- 【12.30帖子恢复】eric917 关于初始化全局变量 请问一下我这样每天初始化全局变量正确吗? IF TIME>=090100 AND TIME<091500 THEN
BEGIN
EXTGBDATASET(\'TOTAL_BVOL\',0) ; //当天日内多头总持仓
EXTGBDATASET(\'TOTAL_SVOL\',0) ; //当天日内空头总持仓
END 但是运行的时候没有没有帮我归零,请问是为什么呢?
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:38:38 -- 【jinzhe回复】 运行在股指上? 改成 currenttime>091501 and currettime<091515
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:39:28 -- 【eric917 回复】
意思就是0915之前是不能初始化全局变量咯? 我下面还有一个语句想在开盘的一刻立即开一行多单和一张空单
下面这样写可以实现吗?
IF TIME>=091500 AND TIME<=091505 AND EXTGBDATA(\'BKV_G0\')=0 THEN
BEGIN
TBUY(1,SS,MKT);
EXTGBDATASET(\'BKV_G0\',1) ; //G0的多头仓位标记为1,持有多头
EXTGBDATASET(\'TOTAL_BVOL\',EXTGBDATA(\'TOTAL_BVOL\')+SS); //系统当天所持有的总多头持仓 + 手数
END
IF TIME>=091500 AND TIME<=091505 AND EXTGBDATA(\'SKV_G0\')=0 THEN
BEGIN
TBUYSHORT(1,SS,MKT);
EXTGBDATASET(\'SKV_G0\',1) ; //G0的空头仓位标记为1,持有空头
EXTGBDATASET(\'TOTAL_SVOL\',EXTGBDATA(\'TOTAL_SVOL\')+SS); //系统当天所持有的总空头持仓 + 手数
END
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:40:29 -- 【王峰回复】 你上面的代码是可以的
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:40:49 -- 【eric917 回复】
谢谢,现在3个问题(股指,后台程序化) 1) 我使用后台程序化是使用 EXTGBDATASET 还是 其他的变量比较稳定适合?.
2)我想在开盘的一刻,立即开一张多单一张空单,锁仓,请问可以实现吗?
如果要实现,应该怎么写呢?谢谢
3)如果我想股指开盘前 自动初始化全部的全局变量(在2)之前就要初始化),这个请问可以实现吗?
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:41:49 -- 【jinzhe回复】 1. 用ext 2 if dynainfo(207)>091501 and dynainfo(207)<091505 then begin tbuy(tbuyholdingex(\'\',\'\',0)=0,1,mkt); tbuyshort(tsellholdingex(\'\',\'\',0)=0,1,mkt); end 3.if currenttime>090001 and currettime<091458 then begin 全局变量定义语句; end 要在开盘前启动
【王峰回复】 1,EXTGBDATASET 使用的地方主要是用来存放断电保存全局状态,也就是重启金字塔也能保存的状态,只要有这个需要,你就可以使用他.
问题2,假设你是在1分钟K线运行,那么这样就可以 IF TIME=091600 THE BEGIN ...... END 注意金字塔的K线时间是没有091500的,假设是09点15开盘,那么第一根K线的时间是091600
3,要在开盘前初始化动作,有一些后台设置要搞的. 首选你要勾选不间断监控,并选择固定轮循模式运行后台程序化. 然后代码这样写 IF CURRENTTIME>=091300 AND CURRENTTIME<091500THE BEGIN ...... 初始化动作 END
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:42:06 -- 【eric917 回复】
谢谢 2)请问一下dynainfo(207) 是什么意思呢?
如果我不是使用tbuy(tbuyholdingex(\'\',\'\',0)=0,1,mkt);,而是使用原来的TBUY(1,SS,MKT);这样可以吗?
3)请问一下time和currenttime有什么区别呢?
补充:
问题2,假设你是在1分钟K线运行,那么这样就可以 IF TIME=091600 THE BEGIN ...... END 注意金字塔的K线时间是没有091500的,假设是09点15开盘,那么第一根K线的时间是091600 你好,请问如果是5分钟K线,就要写成092000吗? [此贴子已经被作者于2013/12/30 17:42:23编辑过]
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:42:46 -- 【jinzhe回复】
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:43:18 -- 【eric917 回复】
好,非常感谢 “指定买持更好处理一点”
如果后天加载了数个模型,可能会引起混乱吧?
|
|
-- 作者:RogarZ -- 发布时间:2013/12/30 17:43:48 -- |