以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]请版主帮忙看看代码,成交邮件确认不停的发送  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=2521)

--  作者:sorros900
--  发布时间:2010/8/18 18:12:37
--  [求助]请版主帮忙看看代码,成交邮件确认不停的发送

请版主帮忙看看代码,成交就发送一次邮件确认,但是不知为什么不停的发送

 

myhold:=EXTGBDATA(\'myholddata\');
EXTGBDATASET(\'myholdtest\',THOLDING2);
mytest:=EXTGBDATA(\'myholdtest\');
if myhold<>mytest then
begin
SENDMAIL(1,\'*******@sohu.com\',numtostr(TENTERPRICE,1)&numtostr(EXITPRICE,1)&\'成交\'&numtostr(THOLDING2,1),\'\');
EXTGBDATASET(\'myholddata\',THOLDING2);
end


--  作者:wattwei
--  发布时间:2010/8/18 18:45:38
--  
不知道能否帮到你
myhold:=EXTGBDATA(\'myholddata\');
if myhold<>THOLDING2 then
begin
SENDMAIL(1,\'*******@sohu.com\',numtostr(TENTERPRICE,1)&numtostr(EXITPRICE,1)&\'成交\'&numtostr(THOLDING2,1),\'\');
EXTGBDATASET(\'myholddata\',THOLDING2);
end

楼主可以加入DEBUGFILE2函数,实时调试,问题很容易看出来

--  作者:sorros900
--  发布时间:2010/8/18 19:39:30
--  [求助]请版主帮忙,这个代码是从分钟改变就显示一次的代码稍作改动来的

请版主帮忙,这个代码是分钟改变就显示一次的代码稍作改动来的,下面这个代码测试没有问题啊,只是把minu改成tholding2

,把DEBUGFILE2改成sendmail,不知为什么不停发送邮件,请版主指教

 

 

谢谢

 

seco:=mod(TIMETOT0(CURRENTTIME),60);
minu:=(mod(TIMETOT0(CURRENTTIME),3600)-mod(TIMETOT0(CURRENTTIME),60))/60;

dd:=EXTGBDATA(\'mydd\');
EXTGBDATASET(\'mytt\',minu);
tt:=EXTGBDATA(\'mytt\');
if tt<dd then
begin
DEBUGFILE2(\'D:\\TEST.TXT\',\'tt=%f\',tt,1);
EXTGBDATASET(\'mydd\',minu);
end


--  作者:admin
--  发布时间:2010/8/18 19:53:23
--  

SENDMAIL是最后一个周期有效的函数,使用时应该限定在最后一个周期

IF ISLASTBAR THEN

BEGIN

...

END

这样搞,另外再自己加上DEBUGFILE函数调试


--  作者:wattwei
--  发布时间:2010/8/18 20:04:49
--  
 楼主说的问题我遇到过类似的,我当时是想实现满足条件仅告警一次,结果不停的预警。后来经过调试,加些约束,解决了。