Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def draw(stock, query=QueryByIndex(-130), ma_n=22, ma_w='auto', vigor_n=13):
"""绘制亚历山大.艾尔德交易系统图形"""
kdata = stock.getKData(query)
close = CLOSE(kdata)
ema = EMA(close, ma_n)
sf = SAFTYLOSS(close, 10, 3, 2.0)
vigor = VIGOR(kdata, vigor_n)
ax1, ax2, ax3 = create_figure(3)
kdata.plot(axes=ax1)
_draw_ema_pipe(ax1,kdata, ema, n=ma_n, w=ma_w)
sf.plot(axes=ax1, color='y', legend_on=True)
#ax1.legend(loc='upper left')
ax_draw_macd2(ax2, ema, kdata)
vigor.plot(axes=ax3, marker='.', color='r', zero_on=True,
legend_on=False, text_on=True)
u = [i for i in vigor if i > 0 and i != constant.null_price]
l = [i for i in vigor if i < 0]
umean = mean(u)
umax = max(u)
lmean = mean(l)
lmin = min(l)
up = int(umax / umean)
def draw(stock, query=Query(-130), ma1_n=5, ma2_n=10, ma3_n=20, ma4_n=60,
ma5_n=100, ma_type="SMA", vma1_n=5, vma2_n=10):
"""绘制普通K线图 + 成交量(成交金额)"""
kdata = stock.getKData(query)
close = CLOSE(kdata,)
ma1 = MA(close, ma1_n, ma_type)
ma2 = MA(close, ma2_n, ma_type)
ma3 = MA(close, ma3_n, ma_type)
ma4 = MA(close, ma4_n, ma_type)
ma5 = MA(close, ma5_n, ma_type)
ax1, ax2 = create_figure(2)
kdata.plot(axes=ax1)
ma1.plot(axes=ax1, legend_on=True)
ma2.plot(axes=ax1, legend_on=True)
ma3.plot(axes=ax1, legend_on=True)
ma4.plot(axes=ax1, legend_on=True)
ma5.plot(axes=ax1, legend_on=True)
sg = SG_Cross(OP(MA(n=ma1_n, type=ma_type)), OP(MA(n=ma2_n, type=ma_type)))
sg.setTO(kdata)
sg.plot(axes=ax1, kdata=kdata)
vol = VOL(kdata)
total = len(kdata)
engine = get_current_draw_engine()
if engine == 'matplotlib':
def draw(stock, query=Query(-130), ma1_n=5, ma2_n=10, ma3_n=20, ma4_n=60,
ma5_n=100, vma1_n=5, vma2_n=10):
"""绘制普通K线图 + 成交量(成交金额)"""
kdata = stock.getKData(query)
close = CLOSE(kdata,)
ma1 = MA(close, ma1_n)
ma2 = MA(close, ma2_n)
ma3 = MA(close, ma3_n)
ma4 = MA(close, ma4_n)
ma5 = MA(close, ma5_n)
ax1, ax2 = create_figure(2)
kdata.plot(axes=ax1)
ma1.plot(axes=ax1, legend_on=True)
ma2.plot(axes=ax1, legend_on=True)
ma3.plot(axes=ax1, legend_on=True)
ma4.plot(axes=ax1, legend_on=True)
ma5.plot(axes=ax1, legend_on=True)
sg = SG_Cross(MA(n=ma1_n), MA(n=ma2_n))
sg.setTO(kdata)
sg.plot(axes=ax1, kdata=kdata)
vol = VOL(kdata)
total = len(kdata)
engine = get_current_draw_engine()
if engine == 'matplotlib':
ama1 = AMA(n=10, fast_n=2, slow_n=30),
ama2 = None,
n = 10, filter_n = 20, filter_p = 0.1,
sg_type = 'CROSS',
show_high_low = True,
arrow_style = 1):
"""绘制佩里.J.考夫曼(Perry J.Kaufman) 自适应移动平均系统(AMA)"""
sm = StockManager.instance()
if block.name == 'SZ':
kdata = sm['sz000001'].getKData(query)
elif block.name == 'GEM':
kdata = sm['sz399006'].getKData(query)
else:
kdata = sm['sh000001'].getKData(query)
ax1, ax2, ax3 = create_figure(3)
kdata.plot(axes = ax1)
cama = AMA(CLOSE(kdata), n = n )
cama.name = "CAMA"
cama.plot(axes = ax1, color = 'b', legend_on = True)
hama = AMA(HIGH(kdata), n = n)
hama.name = "HAMA"
hstd = STDEV(hama, n)
lama = AMA(LOW(kdata), n = n)
lama.name = "LAMA"
lstd = STDEV(lama, n)
fy1 = list(lama - lstd)[lstd.discard:]
fy2 = list(hama + hstd)[hstd.discard:]
ax1.fill_between(range(lstd.discard,len(kdata)),fy1,fy2,alpha=0.2, color='y' )
def draw(stock, query=QueryByIndex(-130), ma_n=22, ma_w='auto', vigor_n=13):
"""绘制亚历山大.艾尔德交易系统图形"""
kdata = stock.getKData(query)
close = CLOSE(kdata)
ema = EMA(close, ma_n)
sf = SAFTYLOSS(close, 10, 3, 2.0)
vigor = VIGOR(kdata, vigor_n)
ax1, ax2, ax3 = create_figure(3)
kdata.plot(axes=ax1)
_draw_ema_pipe(ax1,kdata, ema, n=ma_n, w=ma_w)
sf.plot(axes=ax1, color='y', legend_on=True)
#ax1.legend(loc='upper left')
ax_draw_macd2(ax2, ema, kdata)
vigor.plot(axes=ax3, marker='.', color='r', zero_on=True,
legend_on=False, text_on=True)
u = [i for i in vigor if i > 0 and i != constant.null_price]
l = [i for i in vigor if i < 0]
umean = mean(u)
umax = max(u)
lmean = mean(l)
lmin = min(l)
up = int(umax / umean)
def draw2(stock, query=Query(-130), ma1_n=7, ma2_n=20, ma3_n=30,
ma4_n=42, ma5_n=100, vma1_n=5, vma2_n=10):
"""绘制普通K线图 + 成交量(成交金额)+ MACD"""
kdata = stock.getKData(query)
close = CLOSE(kdata)
ma1 = MA(close, ma1_n)
ma2 = MA(close, ma2_n)
ma3 = MA(close, ma3_n)
ma4 = MA(close, ma4_n)
ma5 = MA(close, ma5_n)
ax1, ax2, ax3 = create_figure(3)
kdata.plot(axes=ax1)
ma1.plot(axes=ax1, legend_on=True)
ma2.plot(axes=ax1, legend_on=True)
ma3.plot(axes=ax1, legend_on=True)
ma4.plot(axes=ax1, legend_on=True)
ma5.plot(axes=ax1, legend_on=True)
vol = VOL(kdata)
total = len(kdata)
engine = get_current_draw_engine()
if engine == 'matplotlib':
rg = range(total)
x = [i-0.2 for i in rg]
x1 = [x[i] for i in rg if kdata[i].closePrice > kdata[i].openPrice]
y1 = [vol[i] for i in rg if kdata[i].closePrice > kdata[i].openPrice]
def draw(stock, query = Query(-130),
n = 10, filter_n = 20, filter_p = 0.1,
sg_type = "CROSS",
show_high_low = False,
arrow_style = 1):
"""绘制佩里.J.考夫曼(Perry J.Kaufman) 自适应移动平均系统(AMA)"""
kdata = stock.getKData(query)
ax1, ax2 = create_figure(2)
kdata.plot(axes = ax1)
cama = AMA(CLOSE(kdata), n = n )
cama.name = "CAMA"
cama.plot(axes = ax1, color = 'b', legend_on = True)
hama = AMA(HIGH(kdata), n = n)
hama.name = "HAMA"
hstd = STDEV(hama, n)
lama = AMA(LOW(kdata), n = n)
lama.name = "LAMA"
lstd = STDEV(lama, n)
fy1 = list(lama - lstd)[lstd.discard:]
fy2 = list(hama + hstd)[hstd.discard:]
ax1.fill_between(range(lstd.discard,len(kdata)),fy1,fy2,alpha=0.2, color='y' )
def draw2(stock, query=Query(-130), ma1_n=7, ma2_n=20, ma3_n=30,
ma4_n=42, ma5_n=100, vma1_n=5, vma2_n=10):
"""绘制普通K线图 + 成交量(成交金额)+ MACD"""
kdata = stock.getKData(query)
close = CLOSE(kdata)
ma1 = MA(close, ma1_n)
ma2 = MA(close, ma2_n)
ma3 = MA(close, ma3_n)
ma4 = MA(close, ma4_n)
ma5 = MA(close, ma5_n)
ax1, ax2, ax3 = create_figure(3)
kdata.plot(axes=ax1)
ma1.plot(axes=ax1, legend_on=True)
ma2.plot(axes=ax1, legend_on=True)
ma3.plot(axes=ax1, legend_on=True)
ma4.plot(axes=ax1, legend_on=True)
ma5.plot(axes=ax1, legend_on=True)
vol = VOL(kdata)
total = len(kdata)
engine = get_current_draw_engine()
if engine == 'matplotlib':
rg = range(total)
x = [i-0.2 for i in rg]
x1 = [x[i] for i in rg if kdata[i].closePrice > kdata[i].openPrice]
y1 = [vol[i] for i in rg if kdata[i].closePrice > kdata[i].openPrice]