以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- [求助]请教持仓记录问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=187973) |
-- 作者:wjp121 -- 发布时间:2021/4/21 13:52:46 -- [求助]请教持仓记录问题 按教的方法,把交易信号用文本单独显示出来,但出来的数据与持仓的数据有差异,请教是什么原因?应该怎么修正!谢谢! |
-- 作者:wjp121 -- 发布时间:2021/4/21 13:55:28 -- 正常的交易是5900股,但为何有一个7100股在文本中出现,而且是间隔一个5900,就出一个7100 |
-- 作者:banzhuan -- 发布时间:2021/4/21 14:00:59 -- 策略里的 持多仓数量 是如何定义的呢? 或者方便发下完整代码吗? DEBUGFILE 输出2个都是叫持多仓数量,可以修改作下区分,看是哪句输出的是5900的。 |
-- 作者:wjp121 -- 发布时间:2021/4/21 14:29:16 -- 持仓数量是一个全局变量 variable:M=0,开仓日期=0, 持仓数量:=0;// 全局变量,判断当天的开平动作 开仓时 IF 买入多单 THEN //且满足开多条件 BUY(1,股数,LIMITR,C);//开多单 持多仓数量:=股数; if islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\'股数:%.0f\',持多仓数量);//输出HOLDING end 平仓时 IF 卖出多单 AND 时间控制=1 THEN//且满足平多条件 SELL(1,HOLDING,LIMITR,C);//平多单 if islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\'股数:%.0f\',持多仓数量); end |
-- 作者:banzhuan -- 发布时间:2021/4/21 14:36:41 -- 2次代码发的不一样吧? 要不您发下完整代码吧,要不然不知道后面的持多仓数量是怎么赋值的 |
-- 作者:wjp121 -- 发布时间:2021/4/21 14:50:28 -- //////////////////////////////// variable:M=0,开仓日期=0, 持多仓数量:=0;// 全局变量,判断当天的开平动作 /////////////////////////////// //////////////////////////////////////////// 买入多单:=,NOAXIS; //开多条件 if Islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\' 买入多单:%.0f\',买入多单); end /////////////////////////////////////////////// 卖出多单:= <P,NOAXIS; //平多条件 if islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\' 卖出多单:%.0f\',卖出多单); End //////////////////////// { ////////////// KK:=C1<K1,NOAXIS; //开空条件 PK:=C1>P1,NOAXIS; } //////////////////////// /////////////////////开仓资金和数量///////////////////////////// 昨收:=REF(C,1); 买入股数:=max(floor((10000/c)/100)*100,100),nodraw; //////////////////////////// 时间控制:分时控制<=4 ,NOAXIS; /////////信号交易日收盘前开多/////////////// IF HOLDING=0 AND 时间控制=1 THEN BEGIN //若持仓为0 IF 买入多单 THEN //且满足开多条件 BUY(1,买入股数,LIMITR,C);//开多单 持多仓数量:=买入股数; if islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\'股数:%.0f\', 持多仓数量);//输出HOLDING end 开仓日期:=date; 开仓时间:=开仓日期,NODRAW; 现有仓位:=持多仓数量,NODRAW; END 多头持仓:持多仓数量,NODRAW; 现多仓:=现有仓位,NODRAW; 现在开多仓时间:=开仓日期,NODRAW; 当前多时间:=DATE,NODRAW; 开多仓间距:=date-开仓日期,NODRAW; /////////////////信号第交易日收盘平多//////////////////////////////////////////////////// IF date-开仓日期>=1 AND HOLDING>0 THEN BEGIN IF 卖出多单 AND 时间控制=1 THEN//且满足平多条件 SELL(1,持多仓数量,LIMITR,C);//平多单 if islastbar then begin DEBUGFILE(\'D:\\0实战信号明细\\科技ETF通道10分钟\\科技ETF通道10分钟.TXT\',\'股数:%.0f\', 持多仓数量); end END |
-- 作者:banzhuan -- 发布时间:2021/4/21 15:29:25 -- 这个策略是否同时在多个品种上加载运行了呢 ? |
-- 作者:wjp121 -- 发布时间:2021/4/21 16:09:54 -- 是的,用了一个组合策略池,交易一个品种的不同周期 |
-- 作者:wjp121 -- 发布时间:2021/4/21 16:14:43 -- 针对一个品种进行的多周期交易,这个策略只针对10分钟,还有一个3分钟的策略进行组合使用,但是持股数量是单 计的,这个7100股不知道是怎么来的? |
-- 作者:banzhuan -- 发布时间:2021/4/21 16:15:11 -- 对啊,输出的结果应该是2个策略中的HOLDING值。这样,您在两个窗格上分别输出 持多仓数量 的值,就可以看到两个框架有两个不同的值。 或者你可以把策略区分一下,分别输出到两个不同的文档中。
|