Strategi ini adalah strategi trend-mengikuti jangka panjang sahaja yang menghasilkan isyarat dagangan melalui pengesahan ganda penunjuk Aroon dan garis purata bergerak regresi linear (LSMA).
Strategi ini menggunakan persilangan jalur atas dan bawah penunjuk Aroon untuk menentukan arah trend. Isyarat beli dihasilkan apabila jalur atas melintasi di atas jalur bawah dari bawah. Isyarat jual dihasilkan apabila jalur atas melintasi di bawah jalur bawah dari atas. Untuk mengelakkan pecah palsu, strategi ini juga memperkenalkan garis LSMA sebagai hakim tambahan. Isyarat beli hanya dicetuskan apabila harga penutupan di atas LSMA.
Khususnya, peraturan untuk menghasilkan isyarat perdagangan adalah:
Isyarat kemasukan panjang: Band atas melintasi di atas band bawah (penunjuk Aroon menentukan trend menaik) dan harga penutupan hari berada di atas garis LSMA (harga penutupan berada dalam trend menaik).
Isyarat keluar panjang: Garis atas melintasi di bawah jalur bawah (penunjuk Aroon menentukan trend menurun) dan harga penutupan hari di bawah garis LSMA (harga penutupan berada dalam trend menurun).
Untuk mengurangkan risiko, stop loss boleh ditambahkan, atau penunjuk lain boleh digunakan untuk menentukan pembalikan trend dan memotong kerugian dalam masa.
Ringkasnya, ini adalah strategi pengesahan dua trend yang agak mudah dan praktikal. Menggunakan Aroon untuk menentukan trend dan LSMA untuk menapis bunyi bising adalah mudah. Dengan penyesuaian parameter yang betul, ia dapat mencapai hasil yang baik. Ia sesuai untuk memegang jangka menengah hingga panjang untuk mengelakkan bunyi bising. Dengan menambahkan modul seperti stop loss, strategi boleh dioptimumkan lagi untuk memperkuat kekuatannya dan mengurangkan risiko.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © exlux99 //@version=4 strategy(title = "Aroon Strategy long only", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1) //Time fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2010, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true //INPUTS length = input(15, minval=1, title="Aroon Legnth") upper = 100 * (highestbars(high, length+1) + length)/length lower = 100 * (lowestbars(low, length+1) + length)/length lengthx = input(title="Length LSMA", type=input.integer, defval=20) offset = 0//input(title="Offset", type=input.integer, defval=0) src = input(close, title="Source") lsma = linreg(src, lengthx, offset) long = crossover(upper,lower) and close > lsma longexit = crossunder(upper,lower) and close < lsma if(time_cond) strategy.entry("long",1,when=long) strategy.close("long",when=longexit)