How to use the hikyuu.interactive.drawplot.create_figure function in hikyuu

To help you get started, we’ve selected a few hikyuu examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github fasiondog / hikyuu / tools / hikyuu / interactive / elder.py View on Github external
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)
github fasiondog / hikyuu / tools / hikyuu / interactive / volume.py View on Github external
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':
github fasiondog / hikyuu / hikyuu / interactive / volume.py View on Github external
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':
github fasiondog / hikyuu / hikyuu / interactive / kaufman.py View on Github external
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' )
github fasiondog / hikyuu / hikyuu / interactive / elder.py View on Github external
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)
github fasiondog / hikyuu / tools / hikyuu / interactive / volume.py View on Github external
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]
github fasiondog / hikyuu / hikyuu / interactive / kaufman.py View on Github external
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' )
github fasiondog / hikyuu / hikyuu / interactive / volume.py View on Github external
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]