以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 以下策略平多发提醒邮件了,开多没发提醒邮件,什么地方不对? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=145154) |
-- 作者:zwdqx -- 发布时间:2016/12/22 19:33:56 -- 以下策略平多发提醒邮件了,开多没发提醒邮件,什么地方不对? DIFF := EMA(CLOSE,12) - EMA(CLOSE,26); DEA := EMA(DIFF,9); macd:=stkindi(\'\',\'macd.macd1\',0,6);//日macd值 J:=stkindi(\'\',\'kdj.j\',0,6); if CROSS(diff,dea) and CURRENTTIME>144500 and tbuyholding(1)=0 and TTOTALDAYTRADE<1 then BEGIN tbuy(1,10000/close,mkt); SENDMAIL(1,\'13913992413@139.COM; 13773473555@139.COM\',STKLABEL & STKNAME & NUMTOSTR(CLOSE,2)& \'《买》_【普1_macd金叉】\',\'\'); end if (J>118 or c>tenterprice*1.045 or c<tenterprice*0.93 or tenterbars>=20 ) and tbuyholding(0)>0 then BEGIN tsell(1,0,mkt); SENDMAIL(1 ,\'13913992413@139.COM; 13773473555@139.COM\',STKLABEL & STKNAME & NUMTOSTR(CLOSE,2)&\'《卖》_【普1_macd金叉】\',\'\'); end 此策略14:45有3条成交纪录,未发邮件;其它策略均有1条成交纪录,都发邮件了。 |
-- 作者:netfox -- 发布时间:2016/12/22 19:39:13 -- debugif 输出个值记录下,理论上是发出去的,但是金字塔的smtp方式。。。 总归是会丢的,而且我到现在都没搞明白是金字塔的smtp丢的还是smtp服务器丢的。 |
-- 作者:zwdqx -- 发布时间:2016/12/22 19:52:55 -- 不会加debugif,请帮忙加一下。 会不会与同一时间有三个记录有关,其他一条记录的都发了,我也查了策略应该不会错。
|
-- 作者:zwdqx -- 发布时间:2016/12/22 20:00:10 -- 我前面用软件勾选的发邮件功能,同一时间触发的多个记录是通过一个邮件发出的。 为了想不打开邮件就能看到代码和价格,才在策略中使用sendmail语句的,能不能既用sendmail语句,又勾选邮件?不知道这样会是什么情况? |
-- 作者:netfox -- 发布时间:2016/12/22 21:36:23 -- DEBUGFILE(\'C:\\AAW.TXT\',\'holding:%.0f\',holding);
debugif模式这么用的,不过你这其实用不用也无所谓了,既然价格执行了说明程序确实有运作,只是sendmail问题了。 但是金字塔的sendmail是有问题的,确实会丢邮件,然而这个丢的到底是sendmail丢还是smtp丢说不清楚啊。 就是因为会丢所以我最后放弃sendmail ,其实发邮件还可以自己写个py用来读取邮件统计。 可sendmail总归就是有各种~金字塔也没继续优化打算。
理论上sendmail函数就是一个smtp发送器,smtp发送模式是有标准的,自己做一般主要处理时排队发送和缓存。我估计金字塔可能压根没做smtp排队发送以及缓存。 这可能导致邮件丢失问题~但哦。。。也许是smtp丢了毕竟现在靠谱smtp也就是web端了,直接用25端发送听说有个短时间内发送限制。
要不你自己架设个smtp服务实验下,这个架设是很简单的,不过好像没安全签名目前国内各大邮箱会拒收。 |