以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=149513)

--  作者:c100011689
--  发布时间:2017/3/22 12:57:11
--  成交后发邮件
if 开空平多条件 then
begin
SELL(1,0,MARKET);
BUYSHORT(1,空头手数,MARKET);
SENDMAIL(1,\'197@qq.com\',\'自营开空平多交易\',‘交易’);
end

实际交易时选择的是k线走完模式,交易在下一根k线开盘完成,避免了信号的闪烁,可条件一成立,就立即收到了邮件,我的问题是,能否在有交易发生了才发送邮件?现在不时就收到邮件,但k线走完并没有信号,也没有实际的交易。谢谢

--  作者:netfox
--  发布时间:2017/3/22 13:00:41
--  

你这样问题是每次条件实现了自然就发送了,你要查看开仓方式是否。

 

其实做个计数器就好了

 

首先在开仓后做个  i:=I+1;

 

然后  if holding<>=0 and I>0 then

           beging

                sendmail(xxxxxx)

                i:=0;

          END

 


--  作者:shq
--  发布时间:2017/3/22 13:06:46
--  
2楼的方法可以去尝试下。
--  作者:c100011689
--  发布时间:2017/3/22 15:44:34
--  
ok,谢谢啦,我试试,果然都是高手啊
--  作者:c100011689
--  发布时间:2017/3/23 22:39:26
--  
这个编写了,需要变量i=0,我在程序第一行写了,VARIABLE:i=0;然后就没有发邮件了,请问能指点一下吗,另外,holding<>=0,提示错误。
--  作者:shq
--  发布时间:2017/3/24 9:14:42
--  
if 开空平多条件 then
begin
SELL(1,0,MARKET);
BUYSHORT(1,空头手数,MARKET);
i:=1;
end

if holding>0 and i>0 then

      begin

            SENDMAIL(1,\'197@qq.com\',\'自营开空平多交易\',‘交易’);

            i:=0;

       END


这样重新尝试下,看看平多开空条件触发后,邮件是否正常发送了?

[此贴子已经被作者于2017/3/24 9:16:29编辑过]