Strategi ini memanfaatkan kesepakatan indikator di beberapa kerangka waktu untuk melacak tren. Ini pergi panjang atau pendek ketika kerangka waktu harian, 10 hari, 15 hari dan 30 hari secara bersamaan memberikan sinyal bullish atau bearish, dengan stop loss dinamis.
Strategi ini menilai arah tren menggunakan empat kerangka waktu - harian, 10 hari, 15 hari dan 30 hari. Ketika harga penutupan lebih tinggi dari harga pembukaan di semua empat kerangka waktu, itu menunjukkan sinyal bullish. Ketika harga penutupan lebih rendah dari harga pembukaan di semua empat kerangka waktu, itu menunjukkan sinyal bearish.
Setelah masuk, saluran KC digunakan untuk stop loss dinamis.
Secara khusus, strategi ini membandingkan harga pembukaan dan harga penutupan di berbagai kerangka waktu untuk menentukan arah tren. Jika harga penutupan lebih tinggi dari harga pembukaan, kerangka waktu dianggap bullish dan digambarkan dengan warna hijau. Jika harga penutupan lebih rendah dari harga pembukaan, kerangka waktu dianggap bearish dan digambarkan dengan warna merah.
Ketika semua empat timeframe setuju pada sinyal bullish, strategi akan membuka posisi panjang. Ketika semua empat timeframe setuju pada sinyal bearish, strategi akan membuka posisi pendek. Ini akan keluar ketika mencapai stop loss atau trend berbalik.
Menggunakan beberapa kerangka waktu untuk mengkonfirmasi tren dapat secara efektif menyaring terobosan palsu dan menentukan arah tren.
Stop loss dinamis dapat memaksimalkan perlindungan modal.
Kriteria masuk yang ketat mengurangi perdagangan yang tidak perlu dan biaya slip.
Menggabungkan beberapa kerangka waktu menyeimbangkan kecepatan keuntungan dan stabilitas.
Kriteria masuk mungkin terlalu ketat, kehilangan beberapa kesempatan.
Pengaturan stop loss yang tidak tepat mungkin terlalu agresif atau konservatif.
Pilihan jangka waktu yang tidak tepat mungkin tidak selaras dengan tren jangka panjang atau jangka pendek.
Perubahan tiba-tiba dari peristiwa mungkin tidak memicu stop loss.
Mengoptimalkan pilihan jangka waktu untuk menyeimbangkan kecepatan keuntungan dan stabilitas.
Uji pengaturan parameter yang berbeda untuk mengoptimalkan tingkat stop loss.
Tambahkan algoritma pembelajaran mesin untuk membantu menilai titik pembalikan.
Memantau peristiwa-peristiwa penting untuk menghindari kerugian dari pembalikan tiba-tiba.
Strategi ini mengintegrasikan penilaian di beberapa kerangka waktu, dengan kriteria masuk yang ketat dan berhenti dinamis, bertujuan untuk pengembalian yang stabil.
/*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)