以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  标准版发邮件问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=57859)

--  作者:qq代人发帖
--  发布时间:2013/10/22 14:52:46
--  标准版发邮件问题
请教:标准版不用VBA的情况下,能用邮件发账户的真实持仓到邮箱吗?

--  作者:yukizzc
--  发布时间:2013/10/22 14:55:53
--  

可以啊,看下论坛的这篇帖子

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=54978&skin=0


--  作者:klc
--  发布时间:2013/10/22 15:24:20
--  

trueHolding:=tbuyholdingex(\'\',\'IF11\',1)-tsellholdingex(\'\',\'IF11\',1);

 

if islastbar and trueHolding<>holding then sendmail(1,\'myemail@xxx.com\',\'持仓不一致\',\'虚拟:\'& holding & \'手,真实:\' & trueHolding & \'手\');

 

用IF11做示范,你交易的品种是哪个合约,这个需要用另外的方法获得,不同策略就不一样了,\'IF11\'可用变量替代。


--  作者:klc
--  发布时间:2013/10/22 16:14:13
--  

再说明一点点,如果一直有故障,这个代码会一直发邮件,没必要,你可以弄一个全局变量,例如IsError:

globalvariable:IsError=false;

trueHolding:=tbuyholdingex(\'\',\'IF11\',1)-tsellholdingex(\'\',\'IF11\',1);

 

if islastbar then

begin

  if IsError=false and trueHolding<>holding then

  begin

     sendmail(1,\'myemail@xxx.com\',\'持仓不一致\',\'虚拟:\'& holding & \'手,真实:\' & trueHolding & \'手\');

     IsError=true;

  end;

  if IsError=true and trueHolding=holding then

  begin

     sendmail(1,\'myemail@xxx.com\',\'持仓已恢复一致\',\'持仓已恢复一致\');

     IsError=false;

  end;

end;