
Strategi ini adalah strategi pengesanan trend yang menggunakan persetujuan pelbagai indikator jangka masa. Ia akan membuka kedudukan lebih atau lebih rendah pada hari-hari, 10 hari, 15 hari dan 30 hari pada masa yang sama, menggunakan hentian hentian dinamik.
Strategi ini menggunakan empat bingkai masa, garis 10, 15, dan 30 hari untuk menentukan arah trend. Ia dianggap sebagai bullish apabila empat bingkai masa ditutup lebih tinggi daripada harga pembukaan, dan turun apabila empat bingkai masa ditutup lebih rendah daripada harga pembukaan.
Apabila dinilai sebagai bullish, masuk lebih banyak; apabila dinilai sebagai bearish, masuk dengan shorting. Selepas masuk, gunakan saluran KC untuk menghentikan kerugian secara dinamik.
Khususnya, strategi ini menilai arah trend dengan membandingkan harga pembukaan dan harga penutupan pada pelbagai bingkai masa. Jika harga pembukaan lebih rendah daripada harga penutupan, bingkai masa itu adalah bullish, ditunjukkan dengan warna hijau. Jika harga pembukaan lebih tinggi daripada harga penutupan, bingkai masa itu adalah bearish, ditunjukkan dengan warna merah.
Apabila keempat-empat bingkai masa adalah bullish, strategi akan membuka lebih banyak kedudukan; apabila keempat-empat bingkai masa adalah bearish, strategi akan membuka posisi kosong.
Menggunakan pelbagai bingkai masa untuk menilai trend, dapat menyaring penembusan palsu dengan berkesan, menentukan arah trend
Cara Hentikan Kerosakan Dinamis Untuk Mengamankan Kewangan
Syarat kemasukan yang ketat dapat mengurangkan transaksi yang tidak perlu dan mengelakkan terlalu banyak kos slippoint
Kerangka masa yang berlainan untuk menyeimbangkan kelajuan dan kestabilan keuntungan
Syarat kemasukan terlalu ketat, mungkin terlepas peluang
Tetapan stop loss yang tidak betul mungkin terlalu radikal atau konservatif
Kerangka masa yang tidak dipilih dengan betul mungkin tidak sesuai dengan trend jangka panjang atau jangka pendek
Kejadian yang tidak dijangka menyebabkan kemerosotan yang tidak dapat dielakkan
Pilihan jangka masa yang optimum, keseimbangan antara kelajuan dan kestabilan keuntungan
Uji tetapan parameter yang berbeza untuk mengoptimumkan stop loss
Menambah algoritma pembelajaran mesin untuk membantu menentukan titik perubahan trend
Meningkatkan perhatian terhadap kejadian besar dan mengelakkan kemusnahan yang tidak dijangka
Strategi ini mengintegrasikan arah trend penghakiman pelbagai bingkai masa, syarat kemasukan yang ketat digabungkan dengan hentian dinamik, bertujuan untuk mendapatkan keuntungan yang stabil. Terdapat kemungkinan kehilangan peluang dan masalah kawalan risiko yang tidak sesuai. Langkah seterusnya akan terus mengoptimumkan tetapan parameter untuk meningkatkan kestabilan strategi.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("[RichG] Easy MTF Strategy v1.1", overlay=false)
TF_1_time = input("D", "Timeframe 1")
TF_2_time = input("10D", "Timeframe 2")
TF_3_time = input("15D", "Timeframe 3")
TF_4_time = input("30D", "Timeframe 4")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
lengthBB=input(20, title="BB Length")
transaction_size = input(1, "Contract/Share Amount")
src = close, len = 20
out = sma(src, len)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line
kc() =>
ma = sma(close, lengthKC)
range = tr
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
[lowerKC, upperKC]
bb() =>
source = close
basis = sma(source, lengthBB)
dev = multKC * stdev(source, lengthBB)
upperBB = basis + dev
lowerBB = basis - dev
[upperBB, lowerBB]
TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor
TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor
TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor
TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor
TF_global = TF_1 and TF_2 and TF_3 and TF_4
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width
plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)
exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global
longCondition = TF_global
if (longCondition)
strategy.entry("MTF_Long", strategy.long, qty=transaction_size)
shortCondition = TF_global_bear
if (shortCondition)
strategy.entry("MTF_Short", strategy.short, qty=transaction_size)
[kc_lower,kc_upper] = kc()
strategy.close("MTF_Long", when=close < kc_upper)
strategy.close("MTF_Short", when=close > kc_lower)