通达信预警公式如何编写?

公式如下:

H1:=MAX(DYNAINFO(3),DYNAINFO(5));
L1:=MIN(DYNAINFO(3),DYNAINFO(6));
P1:=H1-L1;
阻力:=L1+P1*8/9
支撑:=L1+P1*0.5/9

诉求是:
当股票的现价 = 阻力 的时候, 预警提醒我 价格突破
当股票的现价 = 支撑的时候, 预警提醒我 价格跌破

不知道在 公式预警 里面这段代码如何实现

通达信预警公式编写的基本原则是利用已有的函数和变量来描述特定的条件,以触发预警。根据你提供的公式,你想要实现当股票的现价等于阻力或支撑时发出预警。
首先,你需要了解通达信预警公式中的一些基本概念和函数:
- `REF` 函数:用于引用历史数据。
- `C` 函数:用于获取当前价格。
- `SETTEXT` 函数:用于设置预警文本。
- `ALERT` 函数:用于触发预警。
根据你的诉求,我们可以编写两个预警条件:
1. 当股票的现价等于阻力时,发出价格突破的预警。
2. 当股票的现价等于支撑时,发出价格跌破的预警。
下面是一个基于你提供的公式编写的通达信预警公式示例:
```
H1:=MAX(DYNAINFO(3),DYNAINFO(5));
L1:=MIN(DYNAINFO(3),DYNAINFO(6));
P1:=H1-L1;
阻力:=L1+P1*8/9;
支撑:=L1+P1*0.5/9;
// 发出价格突破的预警
IF (C > 阻力) THEN
SETTEXT(1, "价格突破阻力");
ALERT;
ENDIF;
// 发出价格跌破的预警
IF (C < 支撑) THEN
SETTEXT(2, "价格跌破支撑");
ALERT;
ENDIF;
```
请注意,在通达信中,`SETTEXT` 函数用于设置预警文本,`ALERT` 函数用于触发预警。在上述代码中,我们根据当前价格与阻力和支撑的关系设置了两个条件,并在满足条件时触发了相应的预警。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2024-03-22

    在通达信预警公式中,您可以使用如下代码实现您的诉求:

    cppH1:=MAX(DYNAINFO(3),DYNAINFO(5));
    L1:=MIN(DYNAINFO(3),DYNAINFO(6));
    P1:=H1-L1;
    阻力:=L1+P1*8/9;
    支撑:=L1+P1*0.5/9;

    {预警条件}
    突破:=(C=阻力);
    跌破:=(C=支撑);

    {提示信息}STICKLINE(突破,0,10,5,0),COLORRED;STICKLINE(跌破,0,10,5,0),COLORGREEN;

    {声音提示}DRAWICON(突破,0,1);DRAWICON(跌破,0,2);

    这段代码首先计算阻力和支撑价格,然后定义两个条件变量:突破和跌破。使用STICKLINE函数绘制红色和绿色的柱状图,表示价格突破和跌破的预警。同时,使用DRAWICON函数在满足预警条件时显示图标,提醒用户。

相似回答