加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)

投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
我写了一个简单的交易程序,回测时能够看到交易4次,胜率50%,但是加入HECKSIG_MIN函数后,回测的结果却没有了任何交易信息;
具体情况是如下:
软件为wh9,日线图,已经下载了5年的1分钟K线数据;
主程序主要内容:
Setting
          //MULTSIG_MIN(0,0,2); //添加此语句后,就没有成交信息了
Vars 
     Numeric   可用仓位;
     Numeric   持仓均价;

Begin
//可用仓位=可用仓位函数;
//持仓均价=多头持仓均价函数;
if(close-open>200 and 可用仓位==0 )
{
bk;
}
if(close-持仓均价>200)
{
sp;
}
if(close-持仓均价<-20)
{
sp;
}
end
技术人员回复
日期:2020-12-1 15:51
 
您直接需要提供不能出信号的完整源码,需要包含定义变量,变量赋值,主程序等完整语句。

投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
 Setting
      MULTSIG_MIN(0,0,2); //添加此语句后,就没有成交信息了
Vars 
     Numeric   可用仓位;
     Numeric   持仓均价;

Begin
可用仓位=F_BuyRemainPosition();
持仓均价=BKPRICE1
if(close-open>200 and 可用仓位==0 )
{
bk;
}
if(close-持仓均价>200)
{
sp;
}
if(close-持仓均价<-20)
{
sp;
}
end
技术人员回复
日期:2020-12-1 16:27

写入MULTSIG模型逐笔计算,信号计算时间和收盘价模型的信号计算时间是分别保存的,

K线图点击鼠标右键-》设置信号计算起止时间,您把回测时间调整的长一些看下。

投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
 “设置信号计算起止时间”,设置的是2015年6月1号至2020年11月30号,关键是添加 MULTSIG_MIN(0,0,2);语句前程序运行正常,添加 MULTSIG_MIN(0,0,2);语句后,就不正常了,不知原因在哪里

投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
 另外,在日线图上,当天的开盘价与当天收盘前5分钟的市价相差200点,立即下单,使用什么函数
技术人员回复
日期:2020-12-1 18:20
 
3楼语法有误,怀疑您的模型没有加载上,

按照6楼帮您编写,菜单-》公式-》编写公式-》文件-》导入下面压缩包  ,您加载看下。



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看文件名:编写.zip



投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
 你发的程序能正常运行,你使用的是逐笔回测函数,回测速度比较慢,我修改为分钟回测函数之后,回测速度快了一些,但是加载程序时比较慢,回测5年的话,需要十来分钟时间,能不能换个思路,距离收盘分钟数(CloseMinute1)这个函数,在收盘前5分钟内,取及时报价和当天开盘价,计算当天的涨幅,然后使用分钟回测函数(MultSig_Min:0,0,2;
投资者咨询:加入MULTSIG_MIN后,wh9的交易指令不执行 (文华财经)
来源:文华财经  日期:2020-12-1 15:47
 涨幅用今天的收盘前5分钟的及时价,减去昨天的收盘价,大于200点
技术人员回复
日期:2020-12-2 18:15
 
参考:

Setting
      MultSig_Min:0,0,2; 
Vars 
     Numeric   可用仓位;
     Numeric   持仓均价;
     Numeric   CC1;

Begin
可用仓位=BKVol;
持仓均价=BKPRICE1;
if(Close-Ref(Close,DayBarPos)>200*MinPrice&&IsTimeToKlineEnd(300))
{
bk;
}
if(close-持仓均价>200)
{
sp;
}
if(close-持仓均价<-20)
{
sp;
}
PlotNumeric("Time",CC1);
end