失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python_大智慧SAR指标编写

python_大智慧SAR指标编写

时间:2019-02-09 04:58:12

相关推荐

python_大智慧SAR指标编写

import pandas as pdimport numpy as npimport datetimeimport time#获取数据df=pd.read_csv('C:/Users/HXWD/Desktop/000001.csv',encoding='gbk')df.columns=['date','code','name','close','high','low','open','preclose','change','change_per','volume','amt']df=df[['date','open','high','low','close','volume','amt']]df.head()def get_SAR(df,N=10,step=2,maxp=20):sr_value=[]sr_up=[]ep_up=[]af_up=[]sr_down=[]ep_down=[]af_down=[]for i in range(len(df)):if i >=N:if len(sr_up)==0 and len(sr_down)==0:if df.ix[i,'close']>df.ix[0,'close']:#标记为上涨趋势sr0=df['low'][0:i].min()af0=0.02ep0=df.ix[i,'high']sr_up.append(sr0)ep_up.append(ep0)af_up.append(af0)sr_value.append(sr0)if df.ix[i,'close']<=df.ix[0,'close']:#标记为上涨趋势sr0=df['high'][0:i].max()af0=0.02ep0=df.ix[i,'high']sr_down.append(sr0)ep_down.append(ep0)af_down.append(af0)sr_value.append(sr0)if len(sr_up)>0:if df.ix[i-1,'low']>sr_up[-1]:sr0=sr_up[-1]ep0=df['high'][-len(sr_up):].max()if df.ix[i,'high']>df['high'][-(len(sr_up)-1):].max() :af0=af_up[-1]+0.02if df.ix[i,'high']<=df['high'][-(len(sr_up)-1):].max() :af0=af_up[-1]sr=sr0+af0*(ep0-sr0)sr_up.append(sr)ep_up.append(ep0)af_up.append(af0)sr_value.append(sr)print('上涨sr0={},ep0={},af0={},sr={}'.format(sr0,ep0,af0,sr))if df.ix[i-1,'low']<=sr_up[-1]:ep0=df['high'][-len(sr_up):].max()sr0=ep0af0=0.02sr_down.append(sr0)ep_down.append(ep0)af_down.append(af0)sr_value.append(sr0)sr_up=[]ep_up=[]af_up=[]if len(sr_down)>0:if df.ix[i-1,'high']<sr_down[-1]:sr0=sr_down[-1]ep0=df['low'][-len(sr_down):].max()if df.ix[i,'low']<df['low'][-(len(sr_down)-1):].max() :af0=af_down[-1]+0.02if df.ix[i,'low']>=df['low'][-(len(sr_down)-1):].max() :af0=af_down[-1]sr=sr0+af0*(ep0-sr0)sr_down.append(sr)ep_down.append(ep0)af_down.append(af0)sr_value.append(sr)print('下跌sr0={},ep0={},af0={},sr={}'.format(sr0,ep0,af0,sr))if df.ix[i-1,'high']>=sr_down[-1]:ep0=df['low'][-len(sr_up):].max()sr0=ep0af0=0.02sr_up.append(sr0)ep_up.append(ep0)af_up.append(af0)sr_value.append(sr0)sr_down=[]ep_down=[]af_down=[]return sr_valuesar=get_SAR(df)

#测试下来看,似乎中间逻辑有问题,有时间进一步修改

注:需要单独编写文华财经,金字塔,大智慧,通达信,TB,Python平台的指标、策略等,请联系扣扣1733505732,兼职时间:工作日下午18:00-22:00,节假日。

如果觉得《python_大智慧SAR指标编写》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。