Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Freeongoo/56c8b55747b66fe965735612719a3bc7 to your computer and use it in GitHub Desktop.
Save Freeongoo/56c8b55747b66fe965735612719a3bc7 to your computer and use it in GitHub Desktop.

Revisions

  1. @bongkook bongkook renamed this gist Oct 16, 2019. 1 changed file with 0 additions and 0 deletions.
  2. @bongkook bongkook created this gist May 21, 2019.
    43 changes: 43 additions & 0 deletions Heikin Ashi Strategy sample
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    //@version=2
    //Heikin Ashi Strategy V2 by breizh29

    strategy("Heikin Ashi Strategy V2",shorttitle="HAS V2",overlay=true,default_qty_value=1000,initial_capital=100000,currency=currency.EUR)
    res = input(title="Heikin Ashi Candle Time Frame", type=resolution, defval="60")
    hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
    res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
    mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
    fama = input(1,"Heikin Ashi EMA Period")
    test = input(1,"Heikin Ashi EMA Shift")
    sloma = input(30,"Slow EMA Period")
    slomas = input(1,"Slow EMA Shift")
    macdf = input(false,title="With MACD filter")
    res2 = input(title="MACD Time Frame", type=resolution, defval="15")
    macds = input(1,title="MACD Shift")




    //Heikin Ashi Open/Close Price
    ha_t = heikinashi(tickerid)
    ha_open = security(ha_t, res, open[hshift])
    ha_close = security(ha_t, res, close[hshift])
    mha_close = security(ha_t, res1, close[mhshift])

    //macd
    [macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
    macdl = security(ha_t,res2,macdLine[macds])
    macdsl= security(ha_t,res2,signalLine[macds])

    //Moving Average
    fma = ema(mha_close[test],fama)
    sma = ema(ha_close[slomas],sloma)
    plot(fma,title="MA",color=lime,linewidth=2,style=line)
    plot(sma,title="SMA",color=red,linewidth=2,style=line)


    //Strategy
    golong = crossover(fma,sma) and (macdl > macdsl or macdf == false )
    goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false )

    strategy.entry("Buy",strategy.long,when = golong)
    strategy.entry("Sell",strategy.short,when = goshort)