Strategi ini berdasarkan satu petunjuk untuk meluruskan garis laut, untuk mencapai trend yang mudah untuk menjejaki pembelian dan penjualan. Strategi ini menggunakan petunjuk garis laut yang lancar untuk mengenal pasti arah trend, digabungkan dengan sejarah garis K untuk menentukan masa masuk dan keluar untuk keuntungan.
Strategi ini membina garis lurus dengan mengira purata bergerak. Secara khusus, ia adalah purata bergerak untuk harga pembukaan, harga tertinggi, harga terendah, dan harga penutupan, dan kemudian mengira garis lurus untuk harga pembukaan, harga tertinggi, harga terendah, dan harga penutupan.
Syarat pembelian: harga penutupan K semasa lebih besar daripada harga penutupan K sebelumnya, harga penutupan K sebelumnya lebih besar daripada harga penutupan K sebelumnya, hampir tiga K adalah garis yang bercahaya.
Syarat jual: harga penutupan K semasa adalah lebih rendah daripada harga penutupan K sebelumnya, harga penutupan K sebelumnya adalah lebih rendah daripada harga penutupan K sebelumnya, hampir tiga K adalah garis hitam.
Syarat membeli dan menjual mesti memenuhi isyarat terakhir 0 atau sebaliknya, untuk mengelakkan transaksi berulang secara berturut-turut.
Ia boleh dikombinasikan dengan petunjuk lain untuk menilai trend jangka panjang, mengoptimumkan strategi berhenti kerugian, memberi perhatian kepada persekitaran saham besar dan sebagainya.
Strategi ini menggunakan ciri trend pengesanan indikator garis keras laut, berkerjasama dengan bentuk garis K untuk menentukan masa masuk, mengawal frekuensi perdagangan dengan penapisan isyarat berulang. Logik strategi sederhana dan jelas, mudah dilaksanakan. Tetapi boleh diperbaiki dengan kombinasi pelbagai indikator, mengoptimumkan stop loss, memberi perhatian kepada spread besar, dan sebagainya, menjadikan strategi lebih stabil dan boleh dipercayai.
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Masoud Abdoli
//Heikin Ashi Smoothed Buy & Sell Strategy Rev.4
//Date: 01-Oct-2021
//@version=4
strategy(title="Abdoli's Heikin Ashi Smoothed Buy & Sell Strategy Rev.4", shorttitle="Heikin-Ashi Smoothed Rev.4", overlay=true,
initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
MaPeriod = input (title="Moving Average Period?", type=input.integer, defval=65, minval=5, maxval=100, step=5)
maOpen = ema(open , MaPeriod)
maHigh = ema(high , MaPeriod)
maLow = ema(low , MaPeriod)
maClose = ema(close, MaPeriod)
haClose = (maOpen+maHigh+maLow+maClose)/4
haOpen = 0.0
haOpen:= na(haOpen[1]) ? (maOpen[1]+maClose[1])/2 : (haOpen[1]+haClose[1])/2
haHigh = max(maHigh, max(haClose, haOpen))
haLow = min(maLow , max(haClose, haOpen))
plotcandle(haOpen, haHigh, haLow, haClose, title="heikin-Ashi smoothed", color=haOpen>haClose ? color.orange : color.blue)
B0 = haClose - haOpen
B1 = haClose[1] - haOpen[1]
B2 = haClose[2] - haOpen[2]
BuyCondition = B0 > 0.0 and B1 > 0.0 and B2 > 0.0 and haClose > haClose[1] and haClose[1] > haClose[2]
SellCondition= B0 < 0.0 and B1 < 0.0 and B2 < 0.0 and haClose < haClose[1] and haClose[1] < haClose[2]
last_signal = 0
Buy_final = BuyCondition and (nz(last_signal[1]) == 0 or nz(last_signal[1]) ==-1)
Sell_final = SellCondition and (nz(last_signal[1]) == 0 or nz(last_signal[1]) == 1)
last_signal := Buy_final ? 1 : Sell_final ? -1 : last_signal[1]
plotshape(Buy_final , style=shape.labelup , location=location.belowbar, color=color.blue, title="Buy label" , text="BUY" , textcolor=color.white)
plotshape(Sell_final, style=shape.labeldown, location=location.abovebar, color=color.red , title="Sell label", text="SELL", textcolor=color.white)
strategy.entry("Buy", strategy.long, when=Buy_final)
strategy.close("Buy", when=Sell_final)