股票软件编程函数
『壹』 股票软件中的cross函数的计算方法是什么
很好算。昨天A线在B线下方,今天A线在B线上方,符合这两条件就是上穿。
『贰』 股票软件的公式、指标的未来函数是什么意思
关于“未来函数”问题的探讨
很多人使用指标公式,不知有“未来函数”,更有人一提到“未来函数”就谈虎色变,大骂“未来函数”之害,这都是不正确的。要弄懂“未来函数”的本质,必须知其然并知其所以然,下面从五个方面进行探讨。
一、什么是“未来函数”
所谓“未来函数”,是指可能引用未来数据的函数,即引用或利用当时还没有发生的数据对之前发出的判断进行修正的函数。具体地说,就是本周期结束后显示的指标值,包括线段和买卖提示信号,可能在以后发生新的数据后改变位置或消失。
通俗地讲,含有不确定性判断的指标公式,就是含“未来函数”的指标公式。含有未来数据指标的基本特征是买卖信号不确定,常常是某日发出了买入或卖出信号(线段的转折点与此同理),第二天如果继续下跌或上涨,则该信号消失,并在明天新的位置标示出来。
二、含有未来函数公式的种类
(一)以之字转向为代表的ZIG类函数。我们最常见到和经常提到的多指此类。
1、ZIG(K,N)之字转向。
当价格变化量超过N%时转向。K表示 0:开盘价;1:最高价;2:最低价;3:收盘价
例如:ZIG(3,5)表示收盘价的5%的ZIG转向 。
2、PEAK(K,N,M)向前数前M个ZIG转向波峰值。(以下用法略。点击软件中相应的函数时,下面有提示或用法)
3、PEAKBARS(K,N,M)前M个ZIG转向波峰到当前距离。
4、TROUGH(K,N,M)前M个ZIG转向波谷值。
5、TROUGHBARS(K,N,M)前M个ZIG转向波谷到当前距离。
6、FLATZIG、FLATZIGA、PEAKA、PEAKBARSA、TROUGHA、ZIGA等等都属于此类未来函数。
(二)准未来函数。
这部分函数存在引用未来数据的问题,但不如上述函数明显,有些目前争议较大。
1、FFT(X,N)、傅立叶变换。对序列X进行傅立叶变换或变换处理后反变换。
2、BACKSET(X,N)、向前赋值。若X非0,则将当前位置到N周期前的数值设为1。
3、WINNER、LWINNER等获利盘比例类的和COST也有未来函数的性质,有时可使信号产生漂移。
(三)使用跨周期数据。
这是一种最为隐弊的方法,它的危害性更大。例如在日线中引用本周周线或本月月线数据时,就会造成本周或本月股价上涨时则信号成功;如果股价下跌,则信号自动消失。用公式检测的办法测试不出来。我们经常见到的用KD月、周、日同时金叉进行选股,就属于此类,看起来成功率很高,实际是虚假的。
(四)指定买卖日期或买卖价格。
一般多发生在交易系统里。比如指定最低价买入,最高价卖出,或指定涨跌幅度,这些在交易过程中是无法实现的,所以尽管测试成功率时非常高,其实没有任何实用价值。
三、未来数据的检测方法
知道了未来函数的特征和种类,具备了认识公式中有无未来数据的基础,具体应用中如何识别呢,有以下方法:
1、公式中凡是用了ZIG之字转向类的函数和使用了跨周期数据(如上所述)均应视为使用了未来函数。
2、看买卖信号是否确定。凡是已经出现的信号在新的一天或若干周期中存在漂移的,公式中存在未来函数。
3、从指标图中鉴别。凡是买卖提示信号极为准确的(应看多张图),即没有失误的,肯定有未来函数。
4、用股软鉴别。
A、使用分析家软件的系统测试平台检测,是否含有未来数据系统会自动提醒。如果想亲自看看信号的稳定性和历史的变化过程,分析家的时空隧道可以令时光倒流让你回到从前,信号如何产生、如何消失一目了然。
B、使用飞狐软件的,更为简单,在左侧《管理面板》中用右键单击公式的名称,在出现的下拉菜单中点击“公式检测”即可。
此外还有一种方法是搞清公式的算法。对于源码公式,逐条分析后,是否含有未来数据的引用立刻便知。
四、未来数据在实战中的运用
1、未来数据对于阶段顶底转折点的判断是非常具有参考价值的。他可以给操作者一个可能转折的点位,这是一般指标所无法办到的。经过比较严格的限制优化后完全可以作为选股依据。
2、含未来数据的公式信号会由于继续下跌或上涨而后移,因此当其信号出现后,要结合其他指标是否也发出信号,同时也要结合大盘形势。在熊市中含未来数据的卖出信号较准,买入信号不太准;而在牛市中买入信号较准,而卖出信号不太准,这较符合这么一个规律:在熊市中每次逢高抛出都是正确的,在牛市中每次逢低买入都是正确的。
3、在跌势中含未来数据指标的买入信号肯定是经常向后移的,因此要慎用,不仅是含未来数据的指标,就是不含未来数据的买入信号虽然不变,但是也是发出了又下跌,再发出,再下跌,因此也要慎用,但是卖出信号在跌势中反倒是比较准的。
对于未来函数应当充分了解其意义后针对使用。对于不了解指标的运算方法和特性的,慎用为佳。尤其是含有未来数据的引用的的选股公式,不易直接使用。
五,是是非非话“未来”
以下是根据网友的观点归纳整理而成,引用于此,供大家参考:
1、买股票,买的本来就是股票的未来!都是对未来股价的一种预期、一种预测。不管你使用什么样的分析方法,只要你买入或卖出股票了,就本质上而言,你就已经使用未来数据了!
2、未来函数不能直接用,并只作为谨慎参考,用时,要同时提醒自己,这是用未来函数表达的,可能会变异。
3、ZIG是陷阱,也能使人绕开许多陷阱,关键是正确地组织和应用,熟悉指标的特征表达。
4、严格的说动态中的公式都有未来数据,从这层意义上说,未来函数无处不在。因此不必一见到未来数据就头痛。
5、使用未来数据不用花费任何精力就可以轻松获得表面上非常高的成功率。发出的买入信号在实际操作中毫无价值,是一种赤裸裸的欺骗行为,在实战中给投资者带来的惨痛损失和后果苦不堪言。
6、未来数据的要害是什么?从本质上讲是美化历史而并不能从真正意义上揭示(启示)未来,它把历史上的一切功劳归为自己,而完美地回避了所有历史错误。它揭示的只是一种过去时的未来,而非现实意义上的未来。
说明:本文中部分段落引用了网友的“成果”,在此谨致谢意。同时欢迎大家对此问题深入探讨,让未来函数成为我们的工具,更好地为我们服务。
很对不起,我忘记了此文的出处。谨向原作者致歉。你还可以在网络搜索“未来函数”就会有很多资料参考。
『叁』 如何学习同花顺炒股软件的指标编程
股票软件的编程是比较较简单的,
熟练使用股票软件公式管理器中的各种函数,再有就是熟练掌握,股票分析的常用技术指标,和财务指标.
可以先从改开始,先看别人是怎么编写的.最后再自己编写.
建议从通达信开始学,因为通达信公式编辑器有动态翻译,适合新手学习,通达信和同花顺,很多基础函数都是通用的,会用通达信了,转到同花顺也容易很多.
例如下图的指标就是macd的代码通达信和同花顺的截图,通达信有动态翻译,而同花顺没有.

想自学,最好的办法就是多看,打好基础,熟练掌握软件中自带的基础公式的技术指标.各种形态指标,财务指标等等.
『肆』 股票软件新增函数应用“BLOCKSETNUM” 编写及方法
新增函数应用“BLOCKSETNUM”
函数: BLOCKSETNUM(板块名称)
说明: 统计板块中股票数量
用法: BLOCKSETNUM(板块名称)
注意:板块名称要用单引号
例如: BLOCKSETNUM('ST板块'),返回"ST板块"数量。
公式名称:STPM
公式描述:个股在st板块内排名
--------------
板块股数量:BLOCKSETNUM('ST板块'),NODRAW;
ST涨幅排名:HORCALC('ST板块',105,1,2);
说明:
NODRAW是不输出线型只输出数值命令,用于多指标不兼容坐标;
常用的语句
1)今收盘对于N日内最低收盘价的涨幅(%)(c-llv(c,n))/llv(c,n)*100;
2)今收盘价对于N日最高收盘价的跌幅(%)(HHV(C,N)-C)/HHV(C,N)*100;
3)股价在过去N日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100;
4)股价上方N1%至N2%处的筹码(%)
aa:=winner(c+c*n2/100)*100;
bb:=winner(c+c*n1/100)*100;
aa-bb
5)股价下方N1%至N2%处的筹码(%)
(winner(c-c*n1/100)-winner(c-c*n2/100))*100;
6)收盘价N%处的套牢盘 100-(winner(c*N/100))*100;
7)收盘价N%处的获利盘 winner(c*N/100)*100;
8)下影线 (MIN(O,C)-L)/L*100;
9)上影线 (h-max(o,c))/max(o,c)*100;
10)本周期的涨跌幅 (c-ref(c,1))/ref(c,1)*100;
11)振幅 (h-l)/l*100;
12)均线金叉(M.N为均线周期) cross(ma(c,m),ma(c,n))
13)均线多头排列
a1:=ma(c,n1);
a2:=ma(c,n2);
a3:=ma(c,n3);
a4:=ma(c,n4);
count(a1>a2 and a2>a3 and a3>a4,3);
14) 均线空头排列
a1:=ma(c,n1);
a2:=ma(c,n2);
a3:=ma(c,n3);
a4:=ma(c,n4);
count(a1<a2 and a2<a3 and a3<a4,3);
15)N日均线向下
aa:=ma(c,n);
bb:=ref(aa,2);
aa<bb
16)向前N日至M日出现过均线死叉(P1<P2)
aa:=ma(c,p1);
bb:=ma(c,p2);
cc:=ref(cross(bb,aa),n);
count(cc,m);
17)今日成交量大于N日以来的均量 VOL>MA(VOL,N);
18)低位密集
A1:=COST(85);
A2:=COST(15);
A3:=A1-A2;
A4:=(A1+A2)/2;
A5:=A3/A4*100<10;
B1:=HHV(H,120);
B2:=LLV(L,120);
B3:=B1-B2;
B4:=(A4-B2)<B3/2;
A5 AND B4;
19)换手率 VOL/CAPITAL*100;
20)N日盈亏
V1:=VOL/SUM(VOL,N);
V2:=DMA(CLOSE,V1);
V3: (CLOSE-V2)/V2*100;
『伍』 通达信版股票软件,求前N日到前M日区间的最高值的函数
HHV(REF(H,10),20-10);
今日前M个交易日到前N个交易日的最高价:
HHV(REF(H,M),N-M);
(M-N )是区间长度,M是前移天数.
『陆』 如何在股票软件写入公式
1. 打开同花顺股票软件;
2. 点击同花顺股票软件界面菜单栏上的“工具”;
3. 点击“公式管理”;
4. 点击“新建”;
5. 点击“确定”;
6. 出现下图

把要导入的公式原码粘贴到最下面的那个大输入框中(公式编写区)。 记住一定要在“名称”栏输入公式的名称、这名称如果不输入,公式导入会失败的(名称可以是中文,也可以是字母)。在“描述”栏输入对这个公式的描述或解释(输入什么文字以你自己方便理解即可。如AAA,在K线图时输入AAA就会出现上面公式的指标了)。
7、点击“确定”,公式导入了。
『柒』 如何编程从免费股票软件中提取实时数据
自己写程序的话,一种方法是从已提供的信息源,例如webservice获取数据。还有种办法就是去连接提供即时信息的网页硬解析。
代码举例如下:
Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '获取失败,请检查网络状态,或者API端口URL已经不匹配!'
get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request
def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
获取个股历史交易数据
--------
输入:
--------
code:string
股票代码 比如:601989
start:string
开始日期 格式:YYYY-MM-DD 为空时取到API所提供的最早日期数据
end:string
结束日期 格式:YYYY-MM-DD 为空时取到最近一个交易日数据
ktype:string(default=D, 函数内部自动统一为大写)
数据类型 D=日K线,W=周K线,M=月K线,5=5分钟,15=15分钟
30=30分钟,60=60分钟
输出:
--------
DataFrame
date 日期
open 开盘价
high 最高价
close 收盘价
low 最低价
chg 涨跌额
p_chg 涨跌幅
ma5 5日均价
ma10 10日均价
ma20 20日均价
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover换手率(指数无此项)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()
url = ''
url = get_url(ktype, code)
print(url)
js = json.loads(ping_API(url))
cols = []
if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)
if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df
def code_to_APIcode(code):
"""
功能:
验证输入的股票代码是否正确,若正确则返回API对应使用的股票代码
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code
def get_url(ktype, code):
"""
功能:
验证输入的K线类型是否正确,若正确则返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')
def ping_API(url):
"""
功能:
向API发送数据请求,若链接正常返回数据
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text
#测试入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))
『捌』 股票软件中ZIG函数详解
这个是未来函数 比如今天是这样 如果明天发生了之字反转就提示 不发生不提示。
ZIG(C,N) 意思是 当收盘价发生幅度为N%的反转时 则如何如何。。
『玖』 编写股票分析软件需要学会哪些计算机语言
编写股票分析软件需要学会的计算机语言是C++、Java、Java Script 、 VB 、Visual Foxpro 语言。
股票分析软件准确称为是证券决策分析系统,它是在普通行情软件的基本功能整加了一些特定的功能,如一些分析大盘的指标、公式,新闻资讯,预警系统,选股系统,盘后分析,信息实时发布系统,研究报告,赢富数据等。" 股市有风险,投资需谨慎",广大股民朋友要根据自己的需求选择合适自己的股票软件,而后结合一定的分析理论和自己的炒股经验,形成一套自己的、行之有效炒股模式。股票分析软件实质是通过对股市行情数据的统计,按照一定的分析模型和交易模型汇总成一系列的报表,指标图形,实时资讯,让广大股民朋友更加清晰直观的从基本面、技术面分析大盘和个股,即时方便的掌握股市的动向。股票分析软件是炒股的工具,所以请广大股民朋友要灵活运用。
『拾』 如何编写股票公式
公式入门 我们大多数的用户并不是完全了解“公式管理”的意义,简单地,我们可以从以下几个角度进行理解: 一、指标分析: “公式管理”好比是一个工作母床,通过这个工作母床可以制造出所需要的各式各样的零件,同样,在指标分析的工作中,利用编辑器可以编写出相应的分析条件,这种方法是在技术分析当中最为常用的方法之一。例如,指标KD、指标MA等等,通过对这些指标的观察、分析,找出一些合适的条件作为买入卖出点。当然,我们也许需要的是一些自己的指标,一些自己的准确的指标,更多的MB、MC、MD等等,这一切我们通过“公式管理”可以实现。 二、条件选股: 编写公式都要用到什么东西? 我们留下了许多问题--都是公式编写的基础问题,所以我们这节课来解决这些基础的问题。 什么是技术指标? MA均线就是一种技术指标,我们在炒股的时候,经常会将一些行情数据进行数学计算得出一些曲线等等,方便我们掌握股市的变动情况。 什么是条件选股? 简单讲,就是按照您的设定的条件用电脑帮助您完成一些太多太复杂的挑选--比如您有一些好的心得和方法,可使有1000多只股票,您就是有100双眼睛有时也不一定可以看得过来,这时电脑就派上用场了。 什么是参数? 比如讲:10日均线,您可以把10日当作参数,好处在于,您觉得需要修改成5日的时候,就可以使用一些简单的方法,例如参数精灵来很方便的修改和调整。参数需要名字,例如M就不错。还要规定参数的范围,例如1日至260日。(来源:股市马经 http://www.goomj.com)这样我们就可以在1到260之间任意调节M的值了,M最常用的数填在“缺省”一栏,例如你最喜欢用10日均线,那就填10吧。 什么是周期? 这么解释吧!我们有的投资者喜欢使用日线图作技术分析;有的喜欢用5分钟的K线;有的喜欢使用长一点时间的,例如周线。所以在公式设计中,允许不同喜好的使用者选择不同的分析时间--就是可以选择不同的周期。 什么是函数? 函数在公式编写非常重要,如果作个比喻,我们用一种语言去告诉电脑我的想法,并且让它去帮我做,那么函数就是这种语言的单词。 我们在公式编辑器中选择插入函数,就可以看到里面有许多的函数,我们在附录中有一个简表,大家可以到那里去检索! 例一: 一根K线有四个价格组成: 最高价:HIGH 收盘价:CLOSE 最低价:LOW 开盘价:OPEN 成交量:VOL 成交额:AMO 例二: 两条均线不断地交叉,就专门设定了一条函数来描述两条线交叉:CROSS(X,Y) 假如下图中的两条均线一条名叫X,另外一条叫y CROSS(X,Y)表示X向上穿过了Y CROSS(Y,X)表示Y向上穿过了X 例三: 前面的CLOSE,还是VOL,都表示当天,或者您使用的不是日线,那就表示本周期的数据,那么前几天的怎么表示呢? REF(X,M) 例如: REF(Close,5)表示5天前的收盘; REF(Vol,10)表示10天前的成交量; 这里的M就是参数,您现在明白了什么是参数了吗? 例四:
