以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  [求助]请教持仓记录问题
按教的方法,把交易信号用文本单独显示出来,但出来的数据与持仓的数据有差异,请教是什么原因?应该怎么修正!谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:13.png
图片点击可在新窗口打开查看

--  作者: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值。这样,您在两个窗格上分别输出 持多仓数量 的值,就可以看到两个框架有两个不同的值。

或者你可以把策略区分一下,分别输出到两个不同的文档中。