以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 股票池运行时账户栏信息和图标信息不一致 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=182226) |
-- 作者:1661165780 -- 发布时间:2020/9/18 10:34:17 -- 股票池运行时账户栏信息和图标信息不一致 在图标上显示的是多单,真实情况也应该时多单; 但是在股票池的预警信息中却是空单,在账户栏中也是下了空单,在成交明细栏中也显示了空单。 |
-- 作者:banzhuan -- 发布时间:2020/9/18 10:42:59 -- 你的股票池刷新的K线数量和图表是否一致呢? 数据量设置不一致无法直接比较。简单来说图表上K线起始位置发生变化,历史信号都可能发生变化 |
-- 作者:FireScript -- 发布时间:2020/9/18 10:53:08 -- 你截图看下你进入股票池和离开股票池的操作这里是怎么设置的呢。看下是不是设置有误。
|
-- 作者:1661165780 -- 发布时间:2020/9/18 10:54:29 -- 如附图中的豆油,本应是多单。图标中也是显示了多单,但是在股票池的预警信息中是空单; 在账户栏中也是空单,成交明细中也是空单。
|
-- 作者:banzhuan -- 发布时间:2020/9/18 11:02:56 -- 发下完整代码,说下加载的品种及周期,以及K线的起始时间,工作人员本地核实下 |
-- 作者:1661165780 -- 发布时间:2020/9/18 14:12:09 -- INPUT:SS(1,1,1,1); 手数 := SS; // 1分钟级别参数; // MACD DIFF1F := "MACD.DIFF#MIN1"; DEA1F := "MACD.DEA#MIN1"; MACD1F := "MACD.MACD1#MIN1"; // BBI BBI1F := "BBI.BBI#MIN1"; // BOLL MID1F :="BOLL.MID#MIN1"; //开多条件 KD1F := (
(DIFF1F > DEA1F)
AND (DIFF1F > REF(DIFF1F,1))//AND (REF(DIFF1F,1) > REF(DIFF1F,2))
AND (DEA1F > REF(DEA1F,1))//AND (REF(DEA1F,1) > REF(DEA1F,2))
//AND (MACD1F > REF(MACD1F,1)) AND (REF(MACD1F,1) > REF(MACD1F,2))AND(REF(MACD1F,2) > REF(MACD1F,3))
AND (BBI1F > REF(BBI1F,1))
AND (MID1F > REF(MID1F,1))
); //平多条件 ; PD1F := (
(BBI1F < REF(BBI1F,1))
AND (MID1F < REF(MID1F,1))
AND (CLOSE < BBI1F)
AND (CLOSE < MID1F)
); //开空条件 KK1F := (
(DIFF1F < DEA1F)
AND (DIFF1F < REF(DIFF1F,1))//AND (REF(DIFF1F,1) < REF(DIFF1F,2))
AND (DEA1F < REF(DEA1F,1))//AND (REF(DEA1F,1) < REF(DEA1F,2))
//AND (MACD1F < REF(MACD1F,1)) AND (REF(MACD1F,1) < REF(MACD1F,2))AND(REF(MACD1F,2) < REF(MACD1F,3))
AND (BBI1F < REF(BBI1F,1))
AND (MID1F < REF(MID1F,1)) ); //平空条件 PK1F := (
(BBI1F > REF(BBI1F,1))
AND (MID1F > REF(MID1F,1))
AND (CLOSE > BBI1F)
AND (CLOSE > MID1F)
); // 5分钟级别参数; // MACD DIFF5F := "MACD.DIFF#MIN5"; DEA5F := "MACD.DEA#MIN5"; MACD5F := "MACD.MACD1#MIN5"; // BBI BBI5F := "BBI.BBI#MIN5"; // BOLL MID5F :="BOLL.MID#MIN5"; //开多条件 KD5F := (
(DIFF5F > DEA5F)
AND (DIFF5F > REF(DIFF5F,1))//AND (REF(DIFF5F,1) > REF(DIFF5F,2))
AND (DEA5F > REF(DEA5F,1))//AND (REF(DEA5F,1) > REF(DEA5F,2))
//AND (MACD5F > REF(MACD5F,1))AND (REF(MACD5F,1) > REF(MACD5F,2))AND(REF(MACD5F,2) > REF(MACD5F,3))
AND (BBI5F > REF(BBI5F,1))
AND (MID5F > REF(MID5F,1))
); //平多条件 ; PD5F := (
(BBI5F < REF(BBI5F,1))
AND (MID5F < REF(MID5F,1))
AND (CLOSE < BBI5F)
AND (CLOSE < MID5F)
); //开空条件 KK5F := (
(DIFF5F < DEA5F)
AND (DIFF5F < REF(DIFF5F,1))//AND (REF(DIFF5F,1) < REF(DIFF5F,2))
AND (DEA5F < REF(DEA5F,1))//AND (REF(DEA5F,1) < REF(DEA5F,2))
//AND (MACD5F < REF(MACD5F,1))AND (REF(MACD5F,1) < REF(MACD5F,2))AND(REF(MACD5F,2) < REF(MACD5F,3))
AND (BBI5F < REF(BBI5F,1))
AND (MID5F < REF(MID5F,1)) ); //平空条件 PK5F := (
(BBI5F > REF(BBI5F,1))
AND (MID5F > REF(MID5F,1))
AND (CLOSE > BBI5F)
AND (CLOSE > MID5F)
); // 30分钟级别参数; // MACD DIFF30F := "MACD.DIFF#MIN30"; DEA30F := "MACD.DEA#MIN30"; MACD30F := "MACD.MACD1#MIN30"; // BBI BBI30F := "BBI.BBI#MIN30"; // BOLL MID30F :="BOLL.MID#MIN30"; //开多条件 KD30F := (
(DIFF30F > DEA30F)
AND (DIFF30F > REF(DIFF30F,1))//AND (REF(DIFF30F,1) > REF(DIFF30F,2))
AND (DEA30F > REF(DEA30F,1))//AND (REF(DEA30F,1) > REF(DEA30F,2))
//AND (MACD30F >= REF(MACD30F,1))AND (REF(MACD30F,1) > REF(MACD30F,2))AND(REF(MACD30F,2) > REF(MACD30F,3))
AND (BBI30F > REF(BBI30F,1))
AND (MID30F > REF(MID30F,1))
); //平多条件 ; PD30F := (
(BBI30F < REF(BBI30F,1))
AND (MID30F < REF(MID30F,1))
AND (CLOSE < BBI30F)
AND (CLOSE < MID30F)
); //开空条件 KK30F := (
(DIFF30F < DEA30F)
AND (DIFF30F < REF(DIFF30F,1))//AND (REF(DIFF30F,1) < REF(DIFF30F,2))
AND (DEA30F < REF(DEA30F,1))//AND (REF(DEA30F,1) < REF(DEA30F,2))
//AND (MACD30F <= REF(MACD30F,1))AND (REF(MACD30F,1) < REF(MACD30F,2))AND(REF(MACD30F,2) < REF(MACD30F,3))
AND (BBI30F < REF(BBI30F,1))
AND (MID30F < REF(MID30F,1)) ); //平空条件 PK30F := (
(BBI30F > REF(BBI30F,1))
AND (MID30F > REF(MID30F,1))
AND (CLOSE > BBI30F)
AND (CLOSE > MID30F)
); //开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号 IF KD1F AND KD1F AND KD1F AND (((TIME > 85959) AND (TIME <= 145500)) OR ((TIME > 210000) AND (TIME <= 225658))) THEN BEGIN
IF HOLDING=0 THEN BUY(1,手数,MARKET);
IF HOLDING<0 THEN
BEGIN
SELLSHORT(1,0,MARKET);
BUY(1,手数,MARKET);
END END //平多:SELL(PD,1,THISCLOSE); //平多信号 IF (HOLDING>0) AND (((ENTERPRICE-CLOSE) >= 5*MINDIFF) OR PD1F) THEN BEGIN
SELL(1,0,MARKET); END //开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号 IF KK1F AND KK1F AND KK1F AND (((TIME > 85959) AND (TIME <= 145500)) OR ((TIME > 210000) AND (TIME <= 225658))) THEN BEGIN
IF HOLDING=0 THEN BUYSHORT(1,手数,MARKET);
IF HOLDING>0 THEN
BEGIN
SELL(1,0,MARKET);
BUYSHORT(1,手数,MARKET);
END END //平空:SELLSHORT(PK,1,THISCLOSE); //平空信号 IF (HOLDING<0) AND (((CLOSE-ENTERPRICE) >= 5*MINDIFF) OR PK1F) THEN BEGIN
SELLSHORT(1,0,MARKET); END // 日内平仓 IF ((TIME >= 145800) AND (TIME <= 205959)) OR (TIME >= 225800) THEN BEGIN
SELLSHORT(1,0,MARKET);
SELL(1,0,MARKET); END 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 开仓价格:ENTERPRICE,COLORGRAY,LINETHICK0; 平仓价格:EXITPRICE,COLORGRAY,LINETHICK0; //当前资产:=ASSET,NOAXIS,COLORGRAY; { 信号语句排列规则——先平后开 “费率设置”按钮——用于合理设置模型“费率”,以便在图形上正确输出如下帐户信息: 持仓:holding,linethick0; 资产:asset,noaxis; 可用现金:cash(0),linethick0; 您可以在查看菜单->交易系统模板 中设置自己需要的模板 } |
-- 作者:1661165780 -- 发布时间:2020/9/18 14:45:06 -- K线的起始设置和股票池的设置如附件,谢谢老师。 |
-- 作者:1661165780 -- 发布时间:2020/9/18 21:54:24 -- 图表上显示是正常的,当时在股票池上信息异常的多。时间又是也不对。 |
-- 作者:qq代人发帖 -- 发布时间:2020/9/21 9:28:41 -- 图片没有显示出来,贴图教程:http://222.73.7.161/bbs/dispbbs.asp?BoardID=2&ID=31614&replyID=&skin=1
[此贴子已经被作者于2020/9/21 9:29:53编辑过]
|
-- 作者:1661165780 -- 发布时间:2020/9/21 9:45:15 -- 谢谢老师,帮忙查收一下附件。 |