以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 是什么原因导致了发信号 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=145280) |
|
-- 作者:zwdqx -- 发布时间:2016/12/26 21:30:29 -- 是什么原因导致了发信号 我的策略(30分钟macd金叉时买入,60分钟macd值小于前一日时卖出),用的默认周期是60分钟,走完一根线以后。以下是我的策略。 Diff30:=stkindi(\'\',\'macd.diff\',0,4);//30 分钟 diff值 Dea30:= stkindi(\'\',\'macd.dea\',0,4);//30 分钟 dea值 Macd60:=stkindi(\'\',\'macd.macd1\',0,5);//60分钟macd值 If cross(diff30,dea30) and macd60>0.005 and tbuyholding(1)=0
then BEGIN tbuy(1,10000/close,mkt); SENDMAIL(1,\'13913992413@139.COM\', STKLABEL
& STKNAME & NUMTOSTR(CLOSE,2)& \'《买》_【普14】\',\'\'); end If macd60<ref(macd60,1) and tbuyholding(0)>0
then BEGIN tsell(1,0,mkt); SENDMAIL(1,\'13913992413@139.COM\', STKLABEL
& STKNAME & NUMTOSTR(CLOSE,2)& \'《卖》_【普14】\',\'\'); End 今日9:32启动模拟,发现000550江铃汽车有预警,交易记录中有“000550 - 不支持该品种交易”(不支持该品种交易是不是与模拟帐户,同一时间多个触发有关?)。但从30分钟macd看,不可能金叉。如下图
选60分钟为默认周期,9:32启动交易时,是用前一根K线(这里是前一天15:00K线)计算吗? |
|
-- 作者:zwdqx -- 发布时间:2016/12/26 21:40:53 -- 能留个电话吗?想当面沟通一下。谢谢! |
|
-- 作者:zwdqx -- 发布时间:2016/12/26 22:07:27 -- 假如在策略中引用了满足周期的所有数据(这里是30分钟和60分钟),那默认周期是不是可以随便选择? |
|
-- 作者:zwdqx -- 发布时间:2016/12/27 7:20:55 -- 还有000516江南红箭,26日13:56启动交易时开多了,但从30分钟线、60分钟线和实时股价看,macd不可能不可能金叉,疑惑不解,请老师赐教,能帮忙测试一下最好,谢谢!!!。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 30分钟线 [此贴子已经被作者于2016-12-27 7:22:02编辑过]
|
|
-- 作者:jinzhe -- 发布时间:2016/12/27 9:21:36 -- 1交易记录中有“000550 - 不支持该品种交易 要用股票的模拟帐号交易,不能用期货的 2这么多的疑问,需要用调试来查询 用debugfile来调试出每个你要的数据和条件,查看下当时的结果,是不是和你看到的和你想的一样 |
|
-- 作者:zwdqx -- 发布时间:2016/12/27 9:43:36 --
|
|
-- 作者:jinzhe -- 发布时间:2016/12/27 9:48:20 -- 1账户栏截图看一下 2调试代码如下:
debugfile(\'d:\\test.txt\',\'dea30 = %.2f\',dea30); debugfile(\'d:\\test.txt\',\'macd60 = %.2f\',macd60); debugfile(\'d:\\test.txt\',\'金叉判断 = %.0f\',cross(diff30,dea30)); debugfile(\'d:\\test.txt\',\'macd60>0.005判断 = %.0f\',macd60>0.005); |
|
-- 作者:zwdqx -- 发布时间:2016/12/27 10:03:09 -- 2016-12-26 07:34:36.307 【回报】60003394 : 登录成功 2016-12-26 07:34:36.334 【后台】 启动后台程式化交易 2016-12-26 09:31:57.189 【后台】 启动后台程式化交易 2016-12-26 09:31:57.214 【后台】603028 运行结束 2016-12-26 09:31:57.282 【后台】002613 运行结束 2016-12-26 09:31:57.285 【后台】002605 TSell 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:002605 2016-12-26 09:31:57.286 【后台】实际账户持仓 500 2016-12-26 09:31:57.286 【后台】下单已发送 2016-12-26 09:31:57.288 【下单】已经调整为 实际持仓为 500 2016-12-26 09:31:57.288 【下单】002605 价0.000000 量500 买卖1 类型1 开平1 账户60003394 Formula 1 2016-12-26 09:31:57.288 【下单】已提交,订单ID :783 2016-12-26 09:31:57.306 【回报】60003394 : 002605 - 不支持该品种交易 2016-12-26 09:31:58.137 【后台】002605 运行结束 2016-12-26 09:31:58.162 【后台】002380 运行结束 2016-12-26 09:31:58.162 【后台】002328 运行结束 2016-12-26 09:31:58.165 【后台】002301 TSell 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:002301 2016-12-26 09:31:58.165 【后台】实际账户持仓 400 2016-12-26 09:31:58.166 【后台】下单已发送 2016-12-26 09:31:58.195 【下单】已经调整为 实际持仓为 400 2016-12-26 09:31:58.195 【下单】002301 价0.000000 量400 买卖1 类型1 开平1 账户60003394 Formula 1 2016-12-26 09:31:58.235 【后台】002301 运行结束 2016-12-26 09:31:58.235 【后台】002212 运行结束 2016-12-26 09:31:58.235 【下单】已提交,订单ID :784 2016-12-26 09:31:58.241 【回报】60003394 : 002301 - 不支持该品种交易 是不是原先有持仓造成的? |
|
-- 作者:zwdqx -- 发布时间:2016/12/27 10:16:12 -- 直接放在end语句后面可以吗? Diff30:=stkindi(\'\',\'macd.diff\',0,4);//30 分钟 diff值 Dea30:= stkindi(\'\',\'macd.dea\',0,4);//30 分钟 dea值 Macd60:=stkindi(\'\',\'macd.macd1\',0,5);//60分钟macd值 If cross(diff30,dea30) and macd30>0.005 and tbuyholding(1)=0
then BEGIN tbuy(1,10000/close,mkt); SENDMAIL(1,\'13913992413@139.COM\', STKLABEL
& STKNAME & NUMTOSTR(CLOSE,2)& \'《买》_【普14】\',\'\'); end If macd60<ref(macd60,1) and tbuyholding(0)>0
then BEGIN tsell(1,0,mkt); SENDMAIL(1,\'13913992413@139.COM\', STKLABEL
& STKNAME & NUMTOSTR(CLOSE,2)& \'《卖》_【普14】\',\'\'); End debugfile(\'d:\\test.txt\',\'diff30 = %.2f\',diff30); debugfile(\'d:\\test.txt\',\'dea30 = %.2f\',dea30); debugfile(\'d:\\test.txt\',\'macd60 = %.2f\',macd60); debugfile(\'d:\\test.txt\',\'金叉判断 = %.0f\',cross(diff30,dea30)); debugfile(\'d:\\test.txt\',\'macd60>0.005判断 = %.0f\',macd60>0.005); |
|
-- 作者:jinzhe -- 发布时间:2016/12/27 10:21:56 -- 就放在你的所有代码最后面 |