你这个程序在实盘时,可能会连续警报不停吧?
下面的代码供你参考:
void doAlert(datetime current, string txt) { static datetime pastt; static string pasttxt; //--- 超过参数指定的间隔,就复位一次,也就是说同样的提醒内容只有在指定间隔外才可以重复提醒。 if(TimeCurrent() > pastt) pasttxt=""; if(pasttxt != StringSubstr(txt,0,6)) { //--- 遇到第一声警报后,同样的提醒在5分钟(300秒)内保持静默。 pastt=TimeCurrent()+300; pasttxt=StringSubstr(txt,0,6); Print(txt); PlaySound("request.wav"); //SendNotification(txt); //Alert(txt); SendMail(txt,txt); } }
顺便提醒一下:在这个论坛贴代码,要用Alt+S插入,就是插入表格右边的那个按钮。
Limons:
你这个程序在实盘时,可能会连续警报不停吧?
下面的代码供你参考:
顺便提醒一下:在这个论坛贴代码,要用Alt+S插入,就是插入表格右边的那个按钮。
if(downxiao_fanbao[1]!=EMPTY_VALUE && timedown_fanbao!=Time[1] && Period()>1) { Alert(Period()+"周期"+Symbol()+"弱下反包"); SendMail(Period()+"周期"+Symbol()+"弱下反包",""); timedown_fanbao=Time[1]; }前辈好,我感觉我这个代码理论上是可行的,一次报警后,会把序号1的K线时间赋值到timedown_fanbao,if条件里面timedown_fanbao不等于Time[1]才会执行,理论上不是应该只会报警一次嘛,但是我这边有时是只有1次报警有时是2次报警,很是不解
这是我写的报警的代码,前辈们能不能帮忙看看是哪里出了问题,符合条件后,有时候指标会触发两次报警,有时候只触发一次报警
if(downxiao_fanbao[1]!=EMPTY_VALUE && timedown_fanbao!=Time[1] && Period()>1)
{
Alert(Period()+"周期"+Symbol()+"弱下反包");
SendMail(Period()+"周期"+Symbol()+"弱下反包","");
timedown_fanbao=Time[1];
}