本意是持仓发生变化的时候记录或发邮件。程序如下:
Myholding:=THOLDING;
Mychange:=Myholding<>REF(Myholding,1);
IF Mychange THEN DEBUGFILE('C:\WSZJ1M.TEXT','持仓%.0f',Myholding);
SENDMAIL(Mychange,'×××××@×××××.com','现持仓',NUMTOSTR(Myholding,0));
结果发现持仓为1的时候,不停地发邮件。后台交易是轮循方式。
你的程序有逻辑问题
后台自动交易的函数属于常数函数,不是序列数字,所以REF引用常数数据将得不到正确结果,有关常数与序列数值的描述参考这里
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=1907
如果只控制发送一次,那么你需要将状态标志保存,然后判断只有仓位变化才发送邮件,具体可以参考
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=2240
这里对全局变量数据的使用