大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说python调用通达信公式_通达信公式-主力雷达Python化[通俗易懂],希望能够帮助大家进步!!!
2020-11-20 20:43:16
1.通达信代码:
LC赋值:1日前的收盘价
df'lc'=df'close'.shift(1)
RSI1赋值:收盘价-LC和0的较大值的6日1日权重移动平均/收盘价-LC的绝对值的6日1日权重移动平均*100
df'close_lc'=100*max(df'close'-df'lc',0).rolling(6).mean()/abs(df'close'-df'lc').rolling(6).mean()
AR赋值:最高价-开盘价的26日累和/开盘价-最低价的26日累和*100
for i in range(len(df)):
df.ixi,'ar'=100*(sum(df'high')-sum(df'open'))/(sum(df'open')-sum(df'low'))
卖点雷达赋值:85上穿RSI1*30,COLOR00FF00,线宽为2
当满足条件85上穿RSI1时,在20位置书写文字,COLOR00FF00
当满足条件卖点雷达时,在0和20位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLOR00FF00
VARB赋值:收盘价-LC和0的较大值的7日1日权重移动平均/收盘价-LC的绝对值的7日1日权重移动平均*100
df'varb'=100*max(df'close'-df'lc',0).rolling(7).mean()/abs(df'close'-df'lc').rolling(7).mean()
VARC赋值:收盘价-LC和0的较大值的13日1日权重移动平均/收盘价-LC的绝对值的13日1日权重移动平均*100
df'varc'=100*max(df'close'-df'lc',0).rolling(13).mean()/abs(df'close'-df'lc').rolling(13).mean()
VARD赋值:收盘价的有效数据周期(存疑)
df'vard'=df'close'
输出
for i in range(len(df)):
if df'varb'<20 and df'varc'<25 and df'vard'>50 and df'ar'<70:
df.ixi,'sign'='买入雷达'
买点雷达:(VARB< 20 AND VARC< 25 AND VARD> 50 AND AR<70)*30,线宽为2,COLOR0078FF
BT1赋值:RSI1上穿25
当满足条件BT1时,在-80位置书写文字,COLOR0000FF
当满足条件BT1时,在-100和-80位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLOR0000FF
#重点:
输出主力:(收盘价-收盘价的7日简单移动平均)/收盘价的7日简单移动平均*480的2日指数移动平均*5,线宽为1,COLOR0000FF
df'Main_output'=(df'close'-df'close'.rolling(7))/((df'close'.rolling(7)*480).rolling(2))*5
输出散户:(收盘价-收盘价的11日简单移动平均)/收盘价的11日简单移动平均*480的7日指数移动平均*5,线宽为2,COLORC87800
df'individual_output'=(df'close'-df'close'.rolling(11))/((df'close'.rolling(11)*480).rolling(2))*5
BT2赋值:主力上穿散户 AND 主力<-10
当满足条件RSI1上穿25时,在主力位置画26号图标
当满足条件主力上穿散户AND主力<-10时,在主力位置画23号图标
BT赋值:统计3日中满足BT1ORBT2的天数>=2的3日过滤
当满足条件BT时,在0和50位置之间画柱状线,宽度为4,1不为0则画空心柱.,COLOR0000FF
当满足条件BT时,在50位置书写文字,COLOR0000FF
当满足条件BT2时,在0和20位置之间画柱状线,宽度为3,0不为0则画空心柱.,COLORFF00FF
当满足条件BT2时,在20位置书写文字,COLORFF00FF
今天文章到此就结束了,感谢您的阅读,Java架构师必看祝您升职加薪,年年好运。