第十九篇——创业板科创板也适用的通达信涨停指标公式怎么写?(从零起步编写通达信指标公式系列)

Posted 且听风吟,愿风裁尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十九篇——创业板科创板也适用的通达信涨停指标公式怎么写?(从零起步编写通达信指标公式系列)相关的知识,希望对你有一定的参考价值。

上一篇文章提到连板梯队的代码不完善,没有对主板和创业板、科创板涨停进行区分,主板涨停是10%,而创业板、科创板涨停是20%,区别还是比较大的。今天就来给大家介绍如何区分。

 

区分主板和创业板、科创板,主要有两种方法:

 

第一种利用股票代码进行区分,创业板的股票代码以30开头,科创板的股票代码以68开头,利用这个特征,可以和主板区分开来。

 

第二种利用板块进行区分,创业板、科创板为两个特定的板块。

 

知道了这两种方法,接下来介绍使用的函数。除了创业板、科创板,去除ST、*ST的股票也经常用到,顺便介绍一下。

 

一、通达信函数

 

1、CODELIKE函数

 

含义:CODELIKE由code和like两部分组成,code的意思是“代码”,like的意思是“像…一样”,组合起来就是“像…一样的代码”,通过英文的意思可以了解CODELIKE函数的大概意思。在通达信编程语言中,CODELIKE用来模糊匹配股票代码,查询股票代码是否以设定的参数开头。

 

我们上面说到创业板,大家应该知道创业板以30开头,CODELIKE(\'30\')就可以查找出以30开头的股票代码,即创业板股票。科创板以68开头,CODELIKE(\'68\')可以找出以68开头的股票代码。使用函数的时候,要注意,数字要加英文单引号,不然查找不到对应的股票代码。

 

2、INBLOCK函数

 

含义:INBLOCK由in和block两部分组成,in的意思是“在……里面”,block是“块”,组合起来可以理解为“在板块里”。在通达信编程语言中,可以用于查询判断股票是否属于某板块。

 

INBLOCK(\'创业板\')、INBLOCK(\'科创板\')就可以用来分别判断是否属于创业板、科创板。

 

3、NAMELIKE函数

 

除了区分创业板、科创板,在平时编写通达信指标公式的过程中,经常还会去除ST、*ST的股票,这时候就得用上NAMELIKE函数。

 

含义:NAMELIKE由name和like组成,name的意思是“名称”,组合起来就是“像…一样的名称”,NAMELIKE用来模糊匹配股票名称。

 

NAMELIKE(\'ST\')可以用来查找ST股票,如果查找*ST,NAMELIKE(\'ST\')查找不到,因为NAMELIKE查询需要以设定的参数开头,写成NAMELIKE(\'*\')才能查到,所以如果要把ST、*ST股票都去除,使用NAMELIKE需要分别写。

 

4、NAMEINCLUDE函数

 

上面讲的NAMELIKE函数,去除ST、*ST,需要分别写,而NAMEINCLUDE不需要,因为NAMEINCLUDE只需要名称中包含设定的参数就可以找到。

 

含义:NAMEINCLUDE由name和include组成,name的意思是“名称”,include的意思是“包含”,在通达信编程语言中的意思就是查询股票名称中是否包含设定的参数。

 

ST、*ST股票名称的共同特征是都包含了ST,NAMEINCLUDE(\'ST\')就可以把名称中包含ST、*ST的股票都找出来。

 

二、完善涨停指标公式

 

通过上面对一些函数的学习,就可以完善之前的涨停指标公式。

 

涨停(适用于除ST、*ST的沪深A股)

ZT1:=C/REF(C,1)>1.095 AND C=H;10%涨停

ZT2:=C/REF(C,1)>1.19 AND C=H;20%涨停

CYB:=CODELIKE(\'30\');创业板股票

KCB:=CODELIKE(\'68\');科创板股票

ZT:IF(CYB OR KCB, ZT2, ZT1);如果是创业板、科创板股票,20%涨停,否则10%涨停

 

 

本文来自技术Pie

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

 

 

flask第十九篇——模板

请关注微信公众号:自动化测试实战

今天我们继续模板的知识,现在我们增加字典的复杂度,这个时候在render_template第二个参数可以传**title,以后我们会用**context代替原来的title=title

# coding: utf-8

from flask import Flask, render_template app = Flask(__name__)  # type: Flask
app.debug = True

@app.route(‘/‘)
def hello_world():    title = {"tPrize": "key",
            "info": {"name": u"Warren",
                     "age": 18,
                     "gender": u"男"},
            "val": {"title": u‘标题‘,
                    "content": u‘内容‘}}
   
   return render_template(‘post/index.html‘, **title)
   

if __name__ == ‘__main__‘:    app.run()

相应的我们的index.html文件也要做一些修改,就是将变量处的传参改为具体的key值,比如我们想获取title里面的info值,那么我们只需要在大胡须里写info即可:

<!DOCTYPE html>

<html lang="en">
<head>    <meta charset="UTF-8">    <title>这里是title</title>
</head>
<body>    <h1>{{ info }}</h1>

</body>
</html>

执行代码可以看到页面显示的是info的值:

技术分享图片

html中,注释用{# 注释内容 #},快捷键是ctrl+/比如:

技术分享图片

现在我们新建一个登录的html文件

技术分享图片

代码(方便大家复制)

<!DOCTYPE html>
<html lang="en">
<head>    <meta charset="UTF-8">    <title>登录页面</title>
</head>
<body>    这是登录页面
</body>
</html>

在主文件中新建login方法:

@app.route(‘/login/‘)
def login():    return render_template(‘login.html‘)

index.html文件中增加一行超链接:<a href=‘#‘>链接到登录页面</a>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这里是title</title>
</head>
<body>

{#    <p>这段代码被注释了</p>#}
    <h1>{{ info }}</h1>
    <a href="#">链接到登录页面</a>
</body>
</html>

现在我们想要跳转页面,那么超链接里`href`就要写跳转的url,如果粗鲁一点就直接写‘/login/‘,这样肯定是可以的:

技术分享图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这里是title</title>
</head>
<body>

{#    <p>这段代码被注释了</p>#}
    <h1>{{ info }}</h1>
    <a href="/login/">链接到登录页面</a>
</body>
</html>

但是如果下次登录页面变成/post/login/我们还要来修改这里的路径,所以这时候我们就要用到url_for了。将地址改为:{{  url_for(‘login‘) }}即可,注意,url_for里面的传参是函数名,这样我们即使修改路径,只要不修改函数名,那么就不必每次都来修改这里的链接值了。

我们来页面上通过开发者工具查看一下,发现给的路径就是‘login‘

技术分享图片

只要我们点击“链接到登录页面”,页面就会到转到127.0.0.1:5000/login/了。

技术分享图片

最后附上本节的所有代码,方便大家自己下去操作:

结构:

技术分享图片

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这里是title</title>
</head>
<body>

{#    <p>这段代码被注释了</p>#}
    <h1>{{ info }}</h1>
    <a href="{{ url_for(‘login‘) }}">链接到登录页面</a>
</body>
</html>

rendertemplateDemo.py

# coding: utf-8

from flask import Flask, render_template

app = Flask(__name__)  # type: Flask
app.debug = True

@app.route(‘/‘)
def hello_world():

    title = {"tPrize": "key",
             "info": {"name": u"Warren",
                      "age": 18,
                      "gender": u"男"},
             "val": {"title": u‘标题‘,
                     "content": u‘内容‘}}

    return render_template(‘post/index.html‘, **title)

@app.route(‘/login/‘)
def login():
    return render_template(‘login.html‘)

if __name__ == ‘__main__‘:
    app.run()

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>
    这是登录页面
</body>
</html>































以上是关于第十九篇——创业板科创板也适用的通达信涨停指标公式怎么写?(从零起步编写通达信指标公式系列)的主要内容,如果未能解决你的问题,请参考以下文章

flask第十九篇——模板

自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测

第二十篇——通达信自动提示启明星黄昏星K线组合形态(含指标公式代码)(从零起步编写通达信指标公式系列)

自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测

自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测

通达信大资金进出指标公式