以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求解 为什么历史测试成交里面没有开空单 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=11463) |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:49:36 -- 求解 为什么历史测试成交里面没有开空单 MA1:=MA(OPEN,20); |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:50:54 -- IF TIME() > 090000 AND TIME() < 144500 THEN BEGIN IF PBS_DIR = 1 THEN BEGIN SELL(HOLDING > 0, HOLDING, MARKET); PBS_DIR := 0; END; IF PBS_DIR = -1 THEN BEGIN SELLSHORT(HOLDING < 0, HOLDING, MARKET); PBS_DIR := 0; END; |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:51:19 -- IF BS_DIR = 1 THEN BEGIN BUY(HOLDING = 0, 1, MARKET); BS_DIR := 0; END; IF BS_DIR = -1 THEN BEGIN BUYSHORT(HOLDING = 0, -1, MARKET); BS_DIR := 0; END; END; |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:51:32 -- IF TIME() >= 140000 THEN BEGIN SELL(HOLDING > 0, HOLDING, MARKET); SELLSHORT(HOLDING < 0, HOLDING, MARKET); END; |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:52:46 -- 是不是写法有问题!请人工人员指点一下 |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 14:56:10 -- 是不是写法有问题!请工做人员指点一下 |
-- 作者:just -- 发布时间:2012/5/3 15:08:18 -- 楼主所示代码没有什么问题, 猜测可能是你的变量永远不会等于-1造成的永远没有开空。还有就是楼主只有开仓语句 没有平仓语句,(只是收盘前平仓)图表程序化交易是不支持双向仓位同时持有的 故可能造成楼主的这种情况。 [此贴子已经被作者于2012-5-3 15:09:46编辑过]
|
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 15:09:35 -- 麻烦帮忙修改一下 |
-- 作者:just -- 发布时间:2012/5/3 15:17:34 -- IF BS_DIR = 1 THEN BEGIN sellshort(holding<0,0,market); END; |
-- 作者:魔鬼-杀手 -- 发布时间:2012/5/3 15:18:51 -- 不会出现这问题吧!我的意思有持仓就不开仓了! |