1.通达信代码:
```python
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.ix[i,'ar']=100*(sum(df['high'][i:i+26])-sum(df['open'][i:i+26]))/(sum(df['open'][i:i+26])-sum(df['low'][i:i+26]))
卖点雷达赋值: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'][i]<20 and df['varc'][i]<25 and df['vard'][i]>50 and df['ar'][i]<70:
df.ix[i,'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 主力
当满足条件RSI1上穿25时,在主力位置画26号图标
当满足条件主力上穿散户AND主力
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