首页 > 其他分享 >第五篇——通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS(从零起步编写通达信指标公式系列)

第五篇——通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS(从零起步编写通达信指标公式系列)

时间:2023-04-19 13:13:49浏览次数:64  
标签:EMA 函数 公式 CROSS 通达信 金叉 编写 REF

内容提要:本文主要介绍了编写通达信指标公式常用的函数REF、MA、EMA、CROSS以及这些函数的综合运用举例。

 

通达信的函数非常多,想全部熟练掌握,几乎是不可能的,而且没有必要,毕竟很多函数很少用到。

 

编写通达信指标公式常用的函数大概也就三四十个,对于这些函数,建议认真学习研究,多模仿练习,做到烂熟于心。打好基础很重要,如果没有打好基础,编写复杂一点的指标时,头脑可能一片空白。初期要知道函数的用法,并能在函数库中找到相应的函数。随着熟练程度逐渐提高,在编写指标时要做到直接手打函数。

 

对于不常用的函数,要学会使用函数库的查找功能,并借助搜索引擎,学习函数的使用方法。常用的函数方法掌握了,学习新的函数也不难。

 

一、通达信指标公式常用函数介绍

在前文《第四篇——通达信指标公式编写基础(二)(从零起步编写通达信指标公式系列)》中,已经介绍了基础的行情函数LOW、HIGH、OPEN、CLOSE、VOL、AMOUNT,这几个函数比较简单,就不需要再介绍了。引用函数REF有必要再讲讲。

 

1、REF函数

含义:引用几个周期之前的数据

使用方法:REF(X,N),引用N个周期前的X值。

举例:涨停

ZT:C/REF(C,1)>1.095 AND C=H;

REF(C,1),表示引用前一个交易日的收盘价;

C/REF(C,1)>1.095,表示今天的收盘价除以前一个交易日的收盘价大于1.095,也就是说今天的涨幅大于9.5%;

C=H,代表今天的收盘价和最高价相等,也就是说今天以最高价完成收盘;

AND是并且的意思,也就是AND的前后两个条件要同时成立,连起来的意思是今天涨幅大于9.5%并且以最高价收盘。

这时候可能会有疑问,创业板、科创板涨跌幅限制是20%,这个公式就不适用了。确实如此,这里只是为了新手容易理解,把涨跌幅限制为10%。后面掌握了基础的函数,可以用INBLOCK函数做进一步优化。

 

2、MA函数

含义:简单移动平均

使用方法:MA(X,N),X的N日简单移动平均。

举例:MA5:MA(C,5),就是常见的5日均线,几乎所有的交易软件都会自带的。算法很简单,把最近的5个交易日的收盘价加起来,然后除以5,就得到了结果。至于为什么加载到K线图上会形成线,那是因为每根K线都会算一下,得到了结果,然后连起来,就成了均线。

 

3、EMA函数

含义:指数移动平均

这里的指数和上证指数中的指数并不是同一个意思,而是以指数式递减加权。

使用方法:EMA(X,N):X的N日指数移动平均。

 

举例:EMA12:EMA(C,12),为什么举12日EMA均线的例子,其实是因为MACD指标按照默认参数就是使用了EMA12、EMA26这两条EMA均线。EMA指数移动平均具体的算法就不说了,对于新手来说,看到复杂的计算公式,估计会晕倒。EMA的优势是提高了近期行情的权重,对行情反应更快,优化了MA简单移动平均反应慢的问题,能够更好的反映近期的行情走势。

 

4、CROSS函数

含义:两条线交叉

 

使用用法:CROSS(A,B),表示当A从下方向上穿过B时返回1,否则返回0

举例:5日均线、10日均线金叉,5日均线、10日均线死叉

MA5:=MA(CLOSE,5);

MA10:=MA(CLOSE,10);

JC:CROSS(MA5,MA10);

SC:CROSS(MA10,MA5);

 

MA5、MA10就不用介绍了,上面刚讲过

JC:CROSS(MA5,MA10);表示5日均线从下方向上穿过10日均线,也就是我们常说的金叉,金叉了返回的结果就是1,否则就是0

死叉把MA5,MA10的前后位置换一下就行了,SC:CROSS(MA10,MA5);就代表死叉。

 

 

二、函数综合运用举例

例1:放量大涨

 

思路:放量大涨包含了2个基本条件,一个是放量,一个是大涨。

  1. 放量我定义为今天的成交量大于前一个交易日的成交量的两倍,如果你觉得两倍不够,可以三倍或者四倍,写指标是为你的交易思路服务的,可以自行定义。代码是V/REF(V,1)>2,代表今天的成交量除以前一个交易日的成交量大于2倍。这里的V是VOL(成交量)的缩写,写成V或者VOL都可以;

  2. 大涨我定义为今天涨幅大于6%,代码是C/REF(C,1)>1.06,表示今天的收盘价除以前一个交易日的收盘价大于1.06,也就是涨幅大于6%;

  3. ab两个条件用AND(并且)连起来就是放量大涨。

 

代码如下:

FLDZ:V/REF(V,1)>2 AND C/REF(C,1)>1.06;

 

加载到副图,效果如下图,最下方的三角锥就表示满足了我定义的放量大涨条件。(满足的时候值为1,不满足值为0)

 

例2:MACD零轴之上金叉

 

思路:MACD零轴之上金叉包含了3个条件,MACD、零轴之上、金叉。

  1. MACD金叉,其实并不是MACD的值与什么金叉,而是指的MACD指标中的快线(DIF)与慢线(DEA)金叉,所以要实现MACD金叉,需要把DIF和DEA写出来。这里就用MACD指标的默认参数12、26、9。

    DIF:=EMA(C,12)-EMA(C,26);

    DEA:=EMA(DIF,9);

  2. 零轴之上,就限定DIF>0,DEA>0

  3. 金叉,就用到上面介绍的CROSS,CROSS(DIF,DEA)就是金叉

 

代码如下:

DIF:=EMA(C,12)-EMA(C,26);

DEA:=EMA(DIF,9);

LZZSJC:DIF>0 AND DEA>0 AND CROSS(DIF,DEA);

 

把指标加载到副图,效果如下图,三角锥就表示满足了快线慢线零轴之上金叉。(满足的时候值为1,不满足值为0)

 

 

本文来自技术Pie

关注博主,学习更多通达信指标公式编写知识。

 

 

标签:EMA,函数,公式,CROSS,通达信,金叉,编写,REF
From: https://www.cnblogs.com/ma-dongdong/p/17332956.html

相关文章

  • 第六篇——通达信指标公式编写常用函数(二)——HHV、LLV(从零起步编写通达信指标公式系列
    内容提要:本文主要介绍了编写通达信指标公式需要用到的HHV函数、LLV函数以及函数的应用举例,并结合前面讲过的函数进行综合运用。 一、HHV、LLV函数简介1、HHV函数 含义:求最高值使用方法:HHV(X,N),表示N个周期内X的最高值举例:HH:HHV(H,60);表示60个周期内最高价的......
  • 第七篇——通达信指标公式编写常用函数(三)——HHVBARS、LLVBARS(从零起步编写通达信指标
    内容提要:本文主要介绍了HHVBARS函数、LLVBARS函数、函数的应用举例以及函数的综合运用。 HHVBARS这个函数名由HHV和BARS两部分组成,HHV是最高值,BARS是英文,翻译成中文就是K线的意思。从这个函数名就能看出来,HHVBARS函数和最高值对应的K线有关系。LLVBARS类似,在下面的文章中,主......
  • linux下C编写及编译、运行
    一、简介 Windows下我们可以使用各种各样的IDE进行编程,这些IDE很多都可以直接编译运行。但在Linux下这两部分是分开的,大多只是编辑器(如Vim),如果要编译的话就需要用到GCC编译器,使用GCC编译器肯定就要接触到Makefile。二、代码编写1、设置Vi:其TAB键默认跳......
  • 编写你的第一个 Django 应用程序,第4部分
    本教程从教程3 停止的地方开始。我们是继续民意调查应用程序,并将专注于表单处理和减少我们的代码。一、编写最小表单让我们更新上一个教程的投票详细信息模板(“polls/detail.html”),以便模板包含一个HTML <form>元素:<formaction="{%url'polls:vote'question.id%}"......
  • 编写你的第一个 Django 应用程序,第3部分
    本教程从教程2 停止的地方开始。我们是继续网络投票应用程序,并将专注于创建公众界面–“视图”。在我们的投票应用程序中,我们将有以下四个视图:问题“索引”页面–显示最新的几个问题。问题“详细信息”页面–显示问题文本,没有结果,但用表格投票。问题“结果”页面......
  • 小白用chatgpt编写python 爬虫程序代码 抓取网页数据(js动态生成网页元素)
    jS动态生成,由于呈现在网页上的内容是由JS生成而来,我们能够在浏览器上看得到,但是在HTML源码中却发现不了一、注意:代码加入了常规的防爬技术    如果不加,如果网站有防爬技术,比如频繁访问,后面你会发现什么数据都取不到1.1 模拟请求头: 这里入进入一步加强,随机,主要是User-Agen......
  • shell 编写脚本的一些细节心得:流程控制
    流程控制用得最多的,无非也就是老三样,if、for、while。if其中if作为判断的函数使用,其中也是有很多小细节的。例如你要判断两个值是否相等的时候,有两种方式,代码如下:test=2if((${test}==2))thenecho"yes"fiif[${test}-eq2]thenecho"yes"fi其实两段代码的......
  • imx6ul 编写中断程序步骤
    ①、启动文件start.s需要添加一级中断向量表和中断处理函数的框架两部分的内容。一级中断向量表如下:3_start:4ldrpc,=Reset_Handler/*复位中断*/5ldrpc,=Undefined_Handler/*未定义指令中断*/6ldrpc,=SVC_Handler/*SVC(Supervisor)中断*/7ldrpc,......
  • Shell之bash脚本的编写
    下面是我写的一段部署脚本。#!/bin/bashcontainerID=`dockerps|grepkapok-admin|awk'{print$1}'`dockerstop$containerIDecho"dockerstop$containerID"imageID=`dockerimages|grepkapok-admin|awk'{print$3}'`foridin$im......
  • 功能不够用?使用C++编写通达信插件及接入Python(二)
    参考:https://zhuanlan.zhihu.com/p/613157262一、准备工作(参考上一篇)安装VS2019 安装pycharm下载 http://help.tdx.com.cn/book.asp《通达信DLL函数编程规范.rar》二、下载python3.x的32位版本,http://www.python.org,随便找个32位版就行了。我准备下载Windowsembeddabl......