懂牛共振追涨指标公式源码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了懂牛共振追涨指标公式源码?相关的知识,希望对你有一定的参考价值。
牛共振追涨指标是一种用于股票分析的技术指标,可以用来判断股票价格的涨跌趋势和市场热度。其计算公式如下:牛共振追涨指标 = (收盘价 - N日前的最低价) / (N日前的最高价 - N日前的最低价) * 100
其中,N代表计算周期,收盘价为当日收盘价,N日前的最高价和最低价分别为过去N天中的最高价和最低价。
以下是使用Python语言实现牛共振追涨指标的源码:
def get_bull_resonance(df, n):
"""
计算牛共振追涨指标
:param df: 包含股票收盘价的数据框
:param n: 计算周期
:return: 牛共振追涨指标
"""
df['min_price'] = df['close'].rolling(n).min() # 计算N日内的最低价
df['max_price'] = df['close'].rolling(n).max() # 计算N日内的最高价
df['bull_resonance'] = (df['close'] - df['min_price']) / (df['max_price'] - df['min_price']) * 100 # 计算牛共振追涨指标
return df['bull_resonance']
使用该代码可以计算股票的牛共振追涨指标,其中参数df为包含股票收盘价的数据框,n为计算周期。函数返回值为牛共振追涨指标。 参考技术A 我不确定您所指的"牛共振追涨指标"具体是哪种技术指标,因为不同的证券分析软件和交易平台有各自独特的指标命名和计算方法。如果您能够提供更具体的信息,我可以尝试为您提供相关的公式和源代码。一般来说,牛共振追涨指标是一个基于技术分析的交易指标,主要用于研究股票或其他证券的走势和价格波动。该指标的计算方法可能涉及到多个变量和参数,因此需要具体的指标定义才能提供公式和源代码。
小白量化《穿云箭集群量化》指标公式写策略
小白量化《穿云箭集群量化》(4)指标公式写策略
穿云箭量化平台支持中文Python写量化策略,同时也直接支持股票公式指标写策略。下面我们看看是如何实现的。
股票软件的指标公式语法是一样的,不同仅仅是个别函数或绘图函数或绘图命令不相同。
下面我们看看常见的MACD指标公式的源码是怎么描述的。
如果不用公式语法描述指标,在python中需要这样实现macd指标。
我们因此建议大家学习指标公式编写策略,是学习量化实现自动交易的捷径。
初中文化程度用心学习,学会公式编写要1周,学会python语法要1个月(只需要看懂,能复制粘贴修改,不需要自己从头写代码)。很快就能实现全自动交易。
走其他路线学量化,大学文化,全职学会Python要一学期,学会数据结构和算法要一学期,还要学习其他数据库等等,什么时候才能真正实现自己的量化交易?
下面我们看有初中文化程度的小白是如何实现自己的量化交易的。
一、在大智慧、通达信、同花顺、东方财富等软件,编写自编“屠龙剑”指标。(“屠龙剑”指标是演示,不保证能赚钱。)
屠龙剑
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
J:=3*K-2*D;
B:CROSS(K,D);
S:CROSS(D,K);
二、在股票软件中测试优化完成,把源代码复制到穿云箭量化的公式面板中。
1、选择一个优质股票池,未来会有70%的股票会上涨。
2、在穿云箭量化的公式面板中,回测和优化。
3、回测完成,当自己满意时,可以通过【生成回测策略】【生成交易策略】按钮,生成Python策略代码。
三、在穿云箭量化的回测面板中可以进行回测和优化。
下面是生成中文指标公式策略。
策略名='回测_自编公式'
导入 pandas 命名为 pd
导入 time
导入 HP_tdx 命名为 htdx #小白量化行情模块
导入 HP_global 命名为 hg #建立高级全局数据域hg
从 HP_formula 导入 * #小白量化公式模块
从 HP_factor 导入 * #小白量化因子公式及Alpha公式模块
导入 HP_factor 命名为 hf #小白量化因子公式及Alpha公式模块
导入 HP_formula 命名为 gs #小白量化公式模块
导入 HP_quant 命名为 hpq #穿云箭量化模块
从 HP_quant 导入 * #穿云箭量化模块
导入 HP_tdxgs 命名为 tgs #公式运行模块
mygs=tgs.Tdxgs()
函数 初始化(context):
context.zh='xiaoba' #账户
context.zhlx='回测' #账户类型,2个汉字
context.firstcash=1000000.00 #初始现金
context.cash=context.firstcash
context.portfolio.available_cash=context.firstcash
set_maxdays(500)
# 设置我们要操作的股票池
g.stocks=hpq.get_universe()
hpq.log.info('----策略环境信息-----')
输出('量化模块版本: ',hpq.ver)
输出('量化模块最后修改日期: ',hpq.mdate)
输出('svrip: ',hpq.svrip)
输出('svrport: ',hpq.svrport)
输出('\\n----开始运行策略-----\\n')
输出('策略名:'+策略名)
qhcsj2=time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))
输出('开始运行时间:'+qhcsj2)
# 设定沪深300作为基准
set_benchmark((1,'000001'))
# 开启动态复权模式(真实价格)
set_option('use_real_price', 真)
hg.seemsg=假
hg.hqsl=1 #行情数量
#hg.sdhq=1 #闪电行情
g.MAX=50
g.hd=0.003 #滑点
g.zzs=-0.05 #止损
g.amount=500 #买入数量
g.gs='''自编指标公式,最好用专家系统公式
屠龙剑
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
J:=3*K-2*D;
B:CROSS(K,D);
S:CROSS(D,K);
'''
##Python程序员交流QQ群 17126454
# 每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
函数 盘中运行(context, data):
序列循环 m,security 在其中 context.universe[0]:
如果 security 不是 在其中 data:
继续
df=data[security].df
如果 len(df)<1:
继续
price = data[security].close
close=price
high= data[security].high
low= data[security].low
pre_close=data[security].pre_close #前收盘
#value = context.portfolio.positions[security].value
acc_avg_cost = context.portfolio.positions[security].acc_avg_cost #买入成本价
amos=context.portfolio.positions[security].closeable_amount #可卖数量
amos2=context.portfolio.positions[security].total_amount #总数量
mydf=gs.initmydf(df) ##初始化mydf表
mygs.loaddf(mydf) #加载行情数据
mydf=mygs.execgs(g.gs) #运行指标公式
如果 'ENTERLONG' 在其中 mydf.columns:
BUY=mydf['ENTERLONG'] #买点
否则如果 'BUY' 在其中 mydf.columns:
BUY=mydf['BUY'] #买点
否则如果 'B' 在其中 mydf.columns:
BUY=mydf['B'] #买点
如果 'EXITLONG' 在其中 mydf.columns:
SELL=mydf['EXITLONG'] #卖点
否则如果 'SELL' 在其中 mydf.columns:
SELL=mydf['SELL'] #卖点
否则如果 'S' 在其中 mydf.columns:
SELL=mydf['S'] #卖点
如果 BUY.iloc[-1]>0 并且 (amos2==0 或者 amos==0):
price2=round(price*(1+g.hd),2)
x=order_target(security,g.amount,p=price2)
如果 x !=空:
hpq.log.info(context.current_dt+" 买入: %s ,数量:%d,买入价格:%.2f,成交资金:%0.2f"%(security,x.amount,price,x.amount*price))
amos=context.portfolio.positions[security].closeable_amount #可卖数量
如果 SELL.iloc[-1]>0 并且 amos>0:
price2=round(price*(1-g.hd),2)
x=order_target(security,0,p=price2)
hpq.log.info(context.current_dt+ " 卖出: %s ,数量:%d,卖出价格:%.2f,成交资金:%0.2f"%(security,amos,price2,amos*price2))
四、在穿云箭量化的交易面板中可以进行模拟或实盘交易。
中文Python穿云箭量化平台支持中文Python语法,提供了完整的Python股票软件开发源代码。新版本支持自编指标公式脚本编写策略回测,并有一键生成Python交易策略功能,提供多空雷达,抄底雷达,响尾蛇导弹,巡航到导弹等交易技术。提供期货行情,期货CTP接口,提供MT5交易接口,提供miniQMT接口,以及彩票模块。支持问财选股,支持语音报盘,微信通知等。
用户可以根据自己需求设计出满足自己要求的 自动化交易工具。
超越自己是我的每一步!我的进步就是你的进步!
以上是关于懂牛共振追涨指标公式源码?的主要内容,如果未能解决你的问题,请参考以下文章
文华财经期货K线多周期画线技术,多重短线技术共振通道线指标公式——多周期主图自动画线
文华财经期货技术分析日内多空信号共振指标公式,波段行情短线抄单操盘幅图指标