|
本帖最后由 hpy6666 于 2022-2-18 21:02 编辑
二次修改:
static datetime TimeStamp;
bool tempon=true;
input int count=3;
// 以上不要放在ON TICK 或者ON TIME 里
void sendAlert(string message)
{
string str=message;
if(TimeStamp != iTime(NULL,PERIOD_M1,0) )
{
for(int i=0;i<count;i++) //每分钟响COUNT 次; 间隔200MS;
{
Alert(Symbol(), str);
Sleep(200);
}
TimeStamp = iTime(NULL,PERIOD_M1,0);
}
}
double MacdCurrent,MacdPrevious;//macd当前、上一个
double SignalCurrent,SignalPrevious;
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);//MODE_MAIN:基本指标线。
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
if(MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && tempon==true)
{
//Alert("macd金叉");
sendAlert("macd金叉");
if(TimeStamp == iTime(NULL,PERIOD_M1,0)) tempon=false;
else tempon=true;
return;
}
//死叉
if(MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && tempon==true)
{
//Alert("macd死叉");
sendAlert("macd死叉");
if(TimeStamp == iTime(NULL,PERIOD_M1,0)) tempon=false;
else tempon=true;
return;
} |
评分
-
查看全部评分
|