
Strategi ini menggabungkan kelebihan Hull Moving Average dan T3 Moving Average untuk merancang strategi perdagangan lintas-bandar. Strategi ini boleh digunakan untuk perdagangan garis pendek dan juga untuk mengikuti trend garis panjang dan tengah. Dengan mengira purata Hull Moving Average dan T3 Moving Average sebagai garis isyarat perdagangan utama, masuk dan keluar masa ditentukan berdasarkan perubahan arahnya.
Strategi ini terutamanya berdasarkan pengiraan purata bergerak Hull dan purata bergerak T3.
Hull Moving Average (HMA) dengan menggunakan kaedah pengiraan berulang rata-rata bergerak yang bertimbangan, dapat menyaring bunyi pasaran dengan berkesan dan menunjukkan kelancaran trend harga. Ia lebih sensitif terhadap perubahan harga daripada purata bergerak sederhana dan purata bergerak indeks, dan juga dapat dengan berkesan menahan pecah palsu.
T3 Moving Average dapat membuat Moving Average lebih dekat dengan harga melalui penyesuaian parameter super tertentu, sambil mengurangkan kesan lag. Ia dapat bertindak balas dengan lebih cepat terhadap perubahan harga melalui pengiraan indeks berulang kali.
Strategi ini mengira purata kedua-duanya, sebagai petunjuk perdagangan utama. Waktu masuk ditentukan berdasarkan arah rata-rata itu: jika rata-rata kitaran semasa lebih tinggi daripada kitaran sebelumnya, ia adalah isyarat masuk multihead; jika rata-rata kitaran semasa lebih rendah daripada kitaran sebelumnya, ia adalah isyarat masuk kosong.
Untuk peraturan keluar, keluar jika harga menembusi titik berhenti atau mencapai titik berhenti; jika arah garis purata berubah, keluar juga dilakukan.
Strategi ini menggabungkan kelebihan Hull Moving Average dan T3 Moving Average untuk menghasilkan satu indikator komprehensif, yang dapat meredam kebisingan dan bertindak balas dengan cepat terhadap perubahan harga. Kedua, strategi ini boleh digunakan untuk perdagangan garis pendek dan garis panjang, dengan menyesuaikan parameter kitaran yang dikira untuk menyesuaikan perdagangan kitaran yang sesuai.
Strategi ini bergantung kepada indikator garis rata, yang mungkin menghasilkan beberapa isyarat palsu dalam trend goyah. Di samping itu, garis rata mempunyai keterlambatan dan mungkin kehilangan titik masuk terbaik untuk perubahan harga. Menetapkan titik henti rugi perlu berhati-hati untuk mengelakkan terlalu longgar atau terlalu mendesak.
Anda boleh mempertimbangkan untuk memasukkan petunjuk tambahan seperti indikator kekuatan lemah, indikator turun naik, dan lain-lain untuk mengesahkan isyarat garis lurus, menapis isyarat palsu. Anda boleh menguji kombinasi garis lurus yang berbeza dan algoritma berat, mengoptimumkan kesan menghasilkan isyarat garis lurus. Anda boleh menambahkan risiko pengurusan dinamik untuk menghentikan kerugian dan penghentian mengikut.
Strategi ini menggabungkan kelebihan Hull Moving Average dan T3 Moving Average untuk membentuk satu petunjuk komprehensif untuk menilai arah trend. Dengan pengoptimuman parameter, strategi ini dapat digunakan secara fleksibel untuk kitaran perdagangan yang berbeza. Strategi ini mempunyai kelebihan tertentu, tetapi juga ada masalah seperti kelewatan dan menghasilkan isyarat palsu. Dengan menambah petunjuk tambahan, parameter pengoptimuman, dan alat-alat seperti Stop Loss Stop, strategi ini boleh terus dioptimumkan untuk mendapatkan kesan 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")