以文本方式查看主题

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

--  作者:智水仁
--  发布时间:2013/6/5 11:03:53
--  下单发邮
我用图表自动化,标准版,想在每次下单时自动发邮,但不行,邮箱设置了,以下是代码,请高手看看,

平空:SELLSHORT(PKKD,1,MARKET),ignorecheckprice,ORDERQUEUE;                  //平空信号
开多:BUY(PKKD AND HOLDING=0,1,MARKET),ignorecheckprice,ORDERQUEUE;          //开多信号
平多:SELL(PDKK,1,MARKET),ignorecheckprice,ORDERQUEUE;                       //平多信号
开空:BUYSHORT(PDKK AND HOLDING=0,1,MARKET),ignorecheckprice,ORDERQUEUE;     //开空信号

 cond:=PKKD or PDKK;
if ISLASTBAR AND barpos>EXTGBDATA(\'t\') and cond then
  BEGIN
    SENDMAIL(PKKD,\'504049021@qq.com\',\'IF06\',\'平空开多\');
    SENDMAIL(PDKK,\'504049021@qq.com\',\'IF06\',\'平多开空\');
    EXTGBDATASET(\'t\',BARPOS);
  END


--  作者:jinzhe
--  发布时间:2013/6/5 11:05:20
--  

邮件是如何设置的?

发送过测试邮件了吗?


--  作者:智水仁
--  发布时间:2013/6/5 11:34:02
--  
 
发送测试邮件正常

--  作者:王锋
--  发布时间:2013/6/5 11:40:01
--  

cond:=PKKD or PDKK;
if ISLASTBAR AND barpos>EXTGBDATA(\'t\') and cond then
  BEGIN
    SENDMAIL(PKKD,\'504049021@qq.com\',\'IF06\',\'平空开多\');
    SENDMAIL(PDKK,\'504049021@qq.com\',\'IF06\',\'平多开空\');
    EXTGBDATASET(\'t\',BARPOS);
  END

这里的BEGIN ... END发送邮件中你加上DEBUGFILE调试日志看看邮件发送的代码是否执行过


--  作者:智水仁
--  发布时间:2013/6/5 13:59:15
--  
中间加了个DEGBUGFILE,这次在K线中间未结束时有信号也发了一次邮,而我要的是K 线走完时有下单信号才发邮。请高手帮忙。


平空:SELLSHORT(PKKD,1,MARKET),ignorecheckprice,ORDERQUEUE;                  //平空信号
开多:BUY(PKKD AND HOLDING=0,1,MARKET),ignorecheckprice,ORDERQUEUE;          //开多信号
平多:SELL(PDKK,1,MARKET),ignorecheckprice,ORDERQUEUE;                       //平多信号
开空:BUYSHORT(PDKK AND HOLDING=0,1,MARKET),ignorecheckprice,ORDERQUEUE;     //开空信号




cond:=PKKD OR PDKK;
if ISLASTBAR AND barpos>EXTGBDATA(\'t\') and cond then
  BEGIN
    SENDMAIL(PKKD,\'504049021@qq.com\',\'IF06\',\'平空开多\');
    SENDMAIL(PDKK,\'504049021@qq.com\',\'IF06\',\'平多开空\');
    DEBUGFILE(\'D:\\TEST.TXT\',\'发邮\',1);
    EXTGBDATASET(\'t\',BARPOS);
  END
 
--  作者:智水仁
--  发布时间:2013/6/5 14:00:26
--  
是逐K法
--  作者:jinzhe
--  发布时间:2013/6/5 14:07:50
--  

那么sendmail要加一个时间判断条件,判断当前时间是不是在k线最后几秒

比如以1分钟为例:

t1:dynainfo(207);
ttt:t1%100;

这个TTT就是表示当前的秒数,需要k线走完之后才判断,可以用ttt>55 and ttt<=59来判断


--  作者:智水仁
--  发布时间:2013/6/5 14:18:34
--  
 怎么越搞越复杂,金字塔连一个下单发邮都搞不定吗
--  作者:jinzhe
--  发布时间:2013/6/5 14:26:18
--  
走完k线是走完k线才发单,不是走完k线再运行程序,所以要加上时间判断条件
[此贴子已经被作者于2013-6-5 14:26:25编辑过]

--  作者:智水仁
--  发布时间:2013/6/6 15:38:18
--  
以下是引用jinzhe在2013-6-5 14:07:50的发言:

那么sendmail要加一个时间判断条件,判断当前时间是不是在k线最后几秒

比如以1分钟为例:

t1:dynainfo(207);
ttt:t1%100;

这个TTT就是表示当前的秒数,需要k线走完之后才判断,可以用ttt>55 and ttt<=59来判断



如果K线走完后一秒新K线就来了,不就不在这个范围里了吗,而新K线什么时候来,谁知道,有的一秒内,有的十几秒才来也有,如果范围扩得很大,会把新K线里符合下单条件的信号都发邮了。头大,请各位高手帮忙!