兄弟 可不可以帮个忙啊 obv指标设置两根均线 一个30 一个5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了兄弟 可不可以帮个忙啊 obv指标设置两根均线 一个30 一个5相关的知识,希望对你有一定的参考价值。

我想把obv指标设置两根均线 一个30 一个5 直接设置在公式里 不要可以调整的

行不行 能不能帮忙搞一下 谢谢啦

VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);
OBV:SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
MAOBV:MA(OBV,M);
只要再加一个参数 M1 2 100 50 然后加入下式就可以了
MAOBV2:MA(OBV,M1);
以后只要在“调整指标参数”中调整到自己认为适合的数值。
由于 OBV 是通达信系统的指标,在下一次启动时会恢复原来的设置,因此自己要另外设置一个指标来使用上述公式。
1.obv指标的计算公式为当日obv=前一日obv+今日成交量,我们一般使用它的方法是直接取120日或250日周期来计算分析OBV指标线的走向。在系统默认设置中往往会从上市首日开始累积计算,但是要注意OBV指标是根据当日收盘价高于前日收盘价取正值,反之取负值,平盘取零,并且对于妖股的适应性比较差,所以在其中可以做不少假象。

2.在obv的运算中,如果当日收盘价高于前日收盘价取正值,反之取负值,平盘取零。obv把股价上升时的成交量视为人气积聚,做相应的加法处理,而把股价下跌日的成交量视为人气离散,并做减法运算。这样计算之后,投资者对股价未来的分歧也就出来了,然后分歧越明显,成交量就越大。

3.市场价格的变动必须有成交量配合,股价上升时成交量必须增加,若是股价的涨跌而却出现成交量不变动,则市场价格的变动难以继续。因此obv的出发点是基于成交量为股价变动的先行指标,短期股价的波动主要是受人气影响。
4.obv能量潮指标通过统计成交量变动的趋势来推测股价趋势。是将成交量数量化,制成趋势线,配合股价趋势线,从价格的变动及成交量的增减关系,推测市场气氛。其主要理论基础是市场价格的变化必须有成交量的配合,股价的波动与成交量的扩大或萎缩有密切的关连。
5.obv指标就是从“量”这个要素作为突破口,来发现热门股票、分析股价运动趋势的一种技术指标。能量潮OBV指标是葛兰碧于20世纪60年代提出的,并被广泛使用。OBV指标的作用,主要是用来判断量价关系即OBV曲线是否与股价运行方向一致。
6. obv指数线是没有参数的,所以使用时无需进行参数设置,这一点是与大部分技术指标都不同的。不过obv指标同样可以选择不同的平均天数,通过不同的obv平均线来判断obv指数的未来变化。
参考技术A VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);
OBV:SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
MAOBV:MA(OBV,5);MBOBV:MA(OBV,30);追问

非常感谢

不过能不能给obv 和maobv换个名字呢

30 改成中线

5改成趋势线

obv那根线不显示

追答

30 改成中线5改成趋势线是啥意思说详细点,obv那根线不显示这个简单。改名也很简单。

追问

就是一般指标栏的左上角

不是有指标名称 和指标的参数么

现在显示的是 obv maobv mbobv

可不可以变成中文

追答

名称;能量线。VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);
OBV:=SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
趋势:MA(OBV,5);中线:MA(OBV,30);

本回答被提问者采纳

量化交易——双均线策略(金叉死叉)

一、双均线概念

  均线:对于每一个交易日,都可以计算出前N天的移动平均值,然后把这些平均值连起来,成为一条线,就叫做N日移动平均线。移动平均线常用线有5日、10日、30日、60日、120日的指标。

    5日和10日的是短线操作参照指标,称作均线指标;

    30日和60日的是中期均线指标,称作均线指标;

    120日和240日的是长期均线指标,称作均线指标。

  金叉:短期均线上穿长期均线,买入信号。

  死叉:短期均线下穿长期均线,卖出信号。

  交易策略:金叉买入,死叉卖出

二、金叉死叉交易练习

1、使用tushare包获取某股票的历史行情

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt    # Python绘图和数据可视化的工具包
import tushare as ts


ts.get_k_data("601318", start="2004-01-30").to_csv(601318.csv)
df = pd.read_csv(601318.csv, index_col="date", parse_dates=[date])[[open, close, high, low]]
print(df)
"""
              open   close    high     low
date                                      
2007-03-01  21.254  19.890  21.666  19.469
2007-03-02  19.979  19.728  20.166  19.503
...            ...     ...     ...     ...
2020-01-22  85.000  85.220  85.480  83.830
2020-01-23  84.010  83.490  84.560  82.480

[3076 rows x 4 columns]
"""

2、使用pandas包计算该股票历史数据的5日和30均线

  5日均线则前4天没有均线,30日均线则前29天没有均线。

(1)普通方法

df[ma5] = np.nan     # 创建5日均值列
df[ma30] = np.nan    # 创建30日均值列
print(df)
"""
              open   close    high     low  ma5  ma30
date                                                 
2007-03-01  21.254  19.890  21.666  19.469  NaN   NaN
2007-03-02  19.979  19.728  20.166  19.503  NaN   NaN
...            ...     ...     ...     ...  ...   ...
2020-01-22  85.000  85.220  85.480  83.830  NaN   NaN
2020-01-23  84.010  83.490  84.560  82.480  NaN   NaN
"""
for i in range(4, len(df)):    # 从第五个到最后一个
    # 当天和前四天的收盘价的平均值为5日均线值
    df.loc[df.index[i], ma5] = df["close"][i-4:i+1].mean()   # i=4是第五天,[0,5]
print(df)
"""
              open   close    high     low      ma5  ma30
date                                                     
2007-03-01  21.254  19.890  21.666  19.469      NaN   NaN
2007-03-02  19.979  19.728  20.166  19.503      NaN   NaN
2007-03-05  19.545  18.865  19.626  18.504      NaN   NaN
2007-03-06  18.704  19.235  19.554  18.597      NaN   NaN
2007-03-07  19.252  19.758  19.936  19.090  19.4952   NaN
...            ...     ...     ...     ...      ...   ...
2020-01-23  84.010  83.490  84.560  82.480  85.6320   NaN
"""

for i in range(29, len(df)):    # 从第30个到最后一个
    # 当天和前29天的收盘价的平均值为30日均线值
    df.loc[df.index[i], ma30] = df["close"][i-29:i+1].mean()
print(df)
"""
              open   close    high     low      ma5       ma30
date                                                          
2007-03-01  21.254  19.890  21.666  19.469      NaN        NaN
2007-03-02  19.979  19.728  20.166  19.503      NaN        NaN
2007-03-05  19.545  18.865  19.626  18.504      NaN        NaN
2007-03-06  18.704  19.235  19.554  18.597      NaN        NaN
2007-03-07  19.252  19.758  19.936  19.090  19.4952        NaN
...            ...     ...     ...     ...      ...        ...
2020-01-17  86.150  86.250  86.900  85.850  86.1780  85.292333
2020-01-20  88.300  87.600  88.700  87.350  86.4080  85.387667
2020-01-21  87.000  85.600  87.290  85.600  86.1620  85.452667
2020-01-22  85.000  85.220  85.480  83.830  86.0440  85.507000
2020-01-23  84.010  83.490  84.560  82.480  85.6320  85.488667
"""

(2)简单方法

df[ma5] = df[close].rolling(5).mean()
df[ma30] = df[close].rolling(30).mean()
print(df)
"""
              open   close    high     low      ma5       ma30
date                                                          
2007-03-01  21.254  19.890  21.666  19.469      NaN        NaN
2007-03-02  19.979  19.728  20.166  19.503      NaN        NaN
2007-03-05  19.545  18.865  19.626  18.504      NaN        NaN
2007-03-06  18.704  19.235  19.554  18.597      NaN        NaN
2007-03-07  19.252  19.758  19.936  19.090  19.4952        NaN
...            ...     ...     ...     ...      ...        ...
2020-01-17  86.150  86.250  86.900  85.850  86.1780  85.292333
2020-01-20  88.300  87.600  88.700  87.350  86.4080  85.387667
2020-01-21  87.000  85.600  87.290  85.600  86.1620  85.452667
2020-01-22  85.000  85.220  85.480  83.830  86.0440  85.507000
2020-01-23  84.010  83.490  84.560  82.480  85.6320  85.488667
"""

3、使用matplotlib包可视化历史数据的收盘价和两条均线

df[[close, ma5, ma30]].plot()
plt.show()

  运行后显示效果:

  技术图片

4、分析输出所有金叉日期和死叉日期

  如果前一交易日五日均线小于30日均线,后一交易日五日均线大于30日均线,则说明是金叉;

  如果前一交易日五日均线大于30日均线,后一交易日五日均线小于30日均线,则说明是死叉。

(1)循环的解法

# dropna()删除含有空数据的全部行,axis参数可删除含义空数据的全部列
df = df.dropna()
gloden_cross = []    # 金叉
death_cross = []      # 死叉

for i in range(0, len(df)-1):
    if df[ma5][i] >= df[ma30][i] and df[ma5][i-1] <= df[ma30][i-1]:
        gloden_cross.append(df.index[i])
    if df[ma5][i] <= df[ma30][i] and df[ma5][i-1] >= df[ma30][i-1]:
        death_cross.append(df.index[i])

print(金叉日期, gloden_cross)
"""
金叉日期 [Timestamp(‘2007-06-14 00:00:00‘), Timestamp(‘2007-12-10 00:00:00‘),..., Timestamp(‘2020-01-02 00:00:00‘)]
"""
print(死叉日期, death_cross)
"""
死叉日期 [Timestamp(‘2007-06-04 00:00:00‘), Timestamp(‘2007-11-06 00:00:00‘),..., Timestamp(‘2019-12-23 00:00:00‘)]
"""

(2)简便算法

# dropna()删除含有空数据的全部行,axis参数可删除含义空数据的全部列
df = df.dropna()

sr1 = df[ma5] < df[ma30]
sr2 = df[ma5] >= df[ma30]

death_cross = df[sr1 & sr2.shift(1)].index
golden_cross = df[-(sr1 | sr2.shift(1))].index

print(金叉日期, golden_cross)
"""
金叉日期 DatetimeIndex([‘2007-04-12‘, ‘2007-06-14‘, ‘2007-12-10‘, ‘2008-04-23‘,..., ‘2020-01-02‘]
"""
print(死叉日期, death_cross)
"""
死叉日期 DatetimeIndex([‘2007-06-04‘, ‘2007-11-06‘, ‘2007-12-13‘, ‘2008-05-20‘,..., ‘2019-11-12‘, ‘2019-12-23‘]
"""

5、使用该策略的炒股收益率

  如果我从2010年1月1日起,初始资金为100000元,金叉尽量买入,死叉全部卖出,则到今天为止,我的炒股收益率?

# 炒股收益率
first_money = 100000
money = first_money    # 持有的资金
hold = 0               # 持有的股票
sr1 = pd.Series(1, index=golden_cross)
sr2 = pd.Series(0, index=death_cross)

sr = sr1.append(sr2).sort_index()    # 将两个表合并,并按时间排序
sr = sr[2010-01-01:]           # 从2010年1月1日开始

for i in range(0, len(sr)):
    p = df[open][sr.index[i]]      # 当天的开盘价
    if sr.iloc[i] == 1:
        # 金叉
        buy = money // (100 * p)   # 买多少手
        hold += buy * 100
        money -= buy * 100 * p
    else:
        # 死叉
        money += hold * p
        hold = 0    # 持有股票重置为0

# 计算最后一天股票市值加上持有的资金
p = df[open][-1]
now_money = hold * p + money
print(当前持有资产总额:, now_money)
print(盈亏情况:, now_money - first_money)
"""
当前持有资产总额: 551977.7999999997
盈亏情况: 451977.7999999997
"""

  需要注意的是:这里金叉死叉都是按照当天的收盘价计算的。但是如果得到当天的收盘价就已经无法进行交易了。因此要让策略可行,需要按照当天的开盘价计算。

 

以上是关于兄弟 可不可以帮个忙啊 obv指标设置两根均线 一个30 一个5的主要内容,如果未能解决你的问题,请参考以下文章

请大家帮个忙啊!两台CENTOS 4.8的服务器想做热备份,需要怎么操作才能实现,或者通过其他软件实现?

各位老师帮个忙啊:step7发现自动许可证管理器存在问题。正在关闭应用程序。请重新安装自动许可证管理器

mysql 的 Unknown column '6' in 'order clause' 这是啥错误啊!! 高手们帮个忙啊!!!

明天是一个好朋友生日,想编个生日快乐的程序送给她,谁能帮个忙啊? C,C++,JAVA,C#啥的都可以~~谢谢

vr & obv

赢在龙头的指标 个股资金强弱 源码 哪位知道!