Strategi ini menggabungkan keuntungan dari Hull moving average dan T3 moving average untuk merancang strategi perdagangan lintas pasar. Ini dapat digunakan untuk perdagangan jangka pendek dan pelacakan tren jangka panjang. Dengan menghitung nilai rata-rata Hull moving average dan T3 moving average sebagai garis sinyal perdagangan utama, ia menentukan titik masuk dan keluar berdasarkan perubahan arah.
Strategi ini terutama didasarkan pada perhitungan rata-rata bergerak Hull dan rata-rata bergerak T3.
Hull Moving Average (HMA) menggunakan metode perhitungan iteratif rata-rata bergerak tertimbang untuk secara efektif menyaring kebisingan pasar dan menampilkan kurva tren harga yang mulus.
Rata-rata bergerak T3 merespon lebih cepat terhadap perubahan harga sambil mengurangi lag dengan menyesuaikan parameter.
Strategi ini mengambil rata-rata dari dua indikator perdagangan utama. Ini menilai waktu masuk sesuai dengan arah garis rata-rata ini: jika rata-rata periode saat ini lebih tinggi dari periode sebelumnya, itu adalah sinyal masuk panjang; jika lebih rendah, itu adalah sinyal masuk pendek.
Untuk aturan keluar, jika harga melanggar titik stop loss atau take profit, keluar; juga keluar ketika arah moving average berubah.
Strategi ini menggabungkan keuntungan dari rata-rata bergerak Hull dan rata-rata bergerak T3 untuk menghasilkan indikator yang komprehensif. Selanjutnya, strategi ini cocok untuk perdagangan jangka pendek dan jangka panjang dengan menyesuaikan parameter siklus.
Strategi ini terutama bergantung pada indikator rata-rata bergerak, yang dapat menghasilkan beberapa sinyal palsu dalam tren berkisar. Selain itu, ketinggalan rata-rata bergerak dapat kehilangan waktu masuk terbaik. Stop loss dan take profit point perlu diatur dengan hati-hati untuk menghindari terlalu longgar atau terlalu ketat.
Pertimbangkan untuk menambahkan indikator lain untuk memverifikasi sinyal MA dan menyaring sinyal palsu. Uji kombinasi MA yang berbeda dan algoritma bobot untuk mengoptimalkan sinyal MA. Tambahkan stop loss adaptif dan trailing take profit untuk mengelola risiko secara dinamis. Lakukan pengoptimalan backtesting pada mata uang dan kerangka waktu yang berbeda untuk menemukan set parameter optimal.
Strategi ini mengintegrasikan kekuatan rata-rata bergerak Hull dan rata-rata bergerak T3 untuk membentuk indikator komprehensif untuk menilai arah tren. Melalui optimasi parameter, strategi dapat diterapkan secara fleksibel pada siklus perdagangan yang berbeda. Strategi ini memiliki keuntungan tertentu tetapi juga masalah seperti keterlambatan dan sinyal palsu. Dengan menambahkan indikator lain, mengoptimalkan parameter dan berhenti dinamis, strategi dapat terus ditingkatkan untuk hasil yang lebih baik.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m 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="Swing HULL + T3 avg", shorttitle="Swing HULL T3 AVG", overlay=true) 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 = 2000, 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 ////////////////////////////GENERAL INPUTS////////////////////////////////////// length_Ma= input(defval=50, title="Length MAs", minval=1) //==========HMA getHULLMA(src, len) => hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len))) hullma //==========T3 getT3(src, len, vFactor) => ema1 = ema(src, len) ema2 = ema(ema1,len) ema3 = ema(ema2,len) ema4 = ema(ema3,len) ema5 = ema(ema4,len) ema6 = ema(ema5,len) c1 = -1 * pow(vFactor,3) c2 = 3*pow(vFactor,2) + 3*pow(vFactor,3) c3 = -6*pow(vFactor,2) - 3*vFactor - 3*pow(vFactor,3) c4 = 1 + 3*vFactor + pow(vFactor,3) + 3*pow(vFactor,2) T3 = c1*ema6 + c2*ema5 + c3*ema4 + c4*ema3 T3 hullma = getHULLMA(close,length_Ma) t3 = getT3(close,length_Ma,0.7) avg = (hullma+t3) /2 ////////////////////////////PLOTTING//////////////////////////////////////////// colorado = avg > avg[1]? color.green : color.red plot(avg , title="avg", color=colorado, linewidth = 4) long=avg>avg[1] short=avg<avg[1] tplong=input(0.08, title="TP Long", step=0.01) sllong=input(1.0, title="SL Long", step=0.01) tpshort=input(0.03, title="TP Short", step=0.01) slshort=input(0.06, title="SL Short", step=0.01) if(time_cond) strategy.entry("long",1,when=long) strategy.exit("closelong", "long" , profit = close * tplong / syminfo.mintick, loss = close * sllong / syminfo.mintick, alert_message = "closelong") strategy.entry("short",0,when=short) strategy.exit("closeshort", "short" , profit = close * tpshort / syminfo.mintick, loss = close * slshort / syminfo.mintick, alert_message = "closeshort")