mql语言 KD出现顶背离时报警并给出K线最高值反之
时间: 2024-05-05 14:16:31 浏览: 16
当使用MQL语言编写的KD指标出现顶背离时,可以通过以下代码实现报警并给出K线最高值:
```
double KValue = iCustom(Symbol(), PERIOD_CURRENT, "KD", 9, 3, 3, MODE_MAIN, 0);
double DValue = iCustom(Symbol(), PERIOD_CURRENT, "KD", 9, 3, 3, MODE_SIGNAL, 0);
double HighValue = iHigh(Symbol(), PERIOD_CURRENT, 1);
if (KValue > DValue && HighValue > iHigh(Symbol(), PERIOD_CURRENT, 2)) {
Alert("KD出现顶背离,K线最高值为:", DoubleToStr(HighValue, 5));
}
```
上述代码中,首先使用iCustom函数获取当前K值和D值,然后使用iHigh函数获取最高价,如果K值大于D值且当前最高价大于前一根K线的最高价,则触发警报并输出最高价。
反之,如果需要在KD指标出现底背离时报警并给出K线最低值,则可以使用以下代码:
```
double KValue = iCustom(Symbol(), PERIOD_CURRENT, "KD", 9, 3, 3, MODE_MAIN, 0);
double DValue = iCustom(Symbol(), PERIOD_CURRENT, "KD", 9, 3, 3, MODE_SIGNAL, 0);
double LowValue = iLow(Symbol(), PERIOD_CURRENT, 1);
if (KValue < DValue && LowValue < iLow(Symbol(), PERIOD_CURRENT, 2)) {
Alert("KD出现底背离,K线最低值为:", DoubleToStr(LowValue, 5));
}
```
上述代码中,首先使用iCustom函数获取当前K值和D值,然后使用iLow函数获取最低价,如果K值小于D值且当前最低价小于前一根K线的最低价,则触发警报并输出最低价。