Strategi Penangkap Tren

Penulis:ChaoZhang, Tanggal: 2024-04-26 11:48:28
Tag:MASMA

img

Gambaran umum

Strategi Trend Catcher adalah strategi yang mendeteksi formasi tren menggunakan metode uniknya sendiri dan membuka posisi ke arah tren. Strategi ini menghitung nilai persentase yang disebut limit dengan membagi perbedaan antara harga tertinggi dan terendah dalam kisaran tertentu dengan jumlah panjang lilin dalam kisaran tersebut. Semakin dekat nilai ini dengan 100, semakin kuat tren. Ketika nilai ini melebihi batas yang ditetapkan dan moving average naik, strategi membuka posisi panjang; ketika nilai ini melebihi batas yang ditetapkan dan moving average turun, strategi membuka posisi pendek. Setelah membuka posisi, strategi menutup bagian dari posisi ketika harga mencapai tingkat tertentu dan memindahkan posisi yang tersisa ke titik di mana ia percaya tren telah berakhir.

Prinsip Strategi

  1. Hitung perbedaan antara harga tertinggi dan terendah dalam kisaran tertentu, serta jumlah panjang semua lilin dalam kisaran itu.
  2. Bagi perbedaan dengan jumlah panjang lilin dan kalikan dengan 100 untuk mendapatkan nilai persentase yang disebut limit.
  3. Ketika batas melebihi nilai yang ditetapkan dan rata-rata bergerak naik, buka posisi panjang; ketika batas melebihi nilai yang ditetapkan dan rata-rata bergerak turun, buka posisi pendek.
  4. Setelah membuka posisi, tutup bagian dari posisi ketika harga mencapai level take profit dan pindahkan posisi yang tersisa ke level stop loss.
  5. Ketika rata-rata bergerak melintasi ke bawah, tutup posisi panjang; ketika rata-rata bergerak melintasi ke atas, tutup posisi pendek.

Keuntungan Strategi

  1. Strategi ini menggunakan metode unik untuk mendeteksi formasi tren. Dengan menghitung nilai batas untuk menentukan kekuatan tren, ia membantu membuka posisi pada awal tren.
  2. Setelah membuka posisi, strategi mengendalikan risiko dengan menutup bagian dari posisi dan memindahkan level stop loss dari posisi yang tersisa.
  3. Strategi ini menggunakan penyeberangan ke atas dan ke bawah dari rata-rata bergerak untuk menentukan akhir tren, yang membantu menutup posisi secara tepat waktu.

Risiko Strategi

  1. Strategi ini membuka posisi pada awal tren. Jika tren tidak dapat dipertahankan, itu dapat menyebabkan kerugian.
  2. Strategi ini menggunakan tingkat profit dan stop loss yang tetap, yang mungkin tidak cukup fleksibel dalam beberapa kasus.
  3. Strategi hanya menggunakan rata-rata bergerak untuk menentukan tren, yang mungkin kehilangan beberapa peluang tren.

Arah Optimasi Strategi

  1. Pertimbangkan untuk menggunakan indikator lain seperti MACD dan RSI untuk membantu menentukan tren dan meningkatkan akurasi posisi pembukaan.
  2. Mengatur secara dinamis tingkat mengambil keuntungan dan stop loss berdasarkan volatilitas pasar untuk mengontrol risiko dengan lebih baik.
  3. Pertimbangkan untuk membuka posisi hanya setelah tren dikonfirmasi untuk mengurangi risiko pada awal tren.

Ringkasan

Strategi Trend Catcher menggunakan metode unik untuk mendeteksi formasi tren dan membuka posisi ke arah tren. Strategi ini menghitung nilai batas untuk menentukan kekuatan tren dan menggunakan penyeberangan rata-rata bergerak untuk menentukan akhir tren. Strategi ini mengendalikan risiko dengan menutup bagian dari posisi dan memindahkan level stop loss setelah membuka posisi. Namun, strategi dapat menghadapi risiko tertentu ketika membuka posisi di awal tren, menggunakan tingkat fixed take profit dan stop loss mungkin tidak cukup fleksibel, dan hanya menggunakan rata-rata bergerak untuk menentukan tren dapat melewatkan beberapa peluang. Di masa depan, kita dapat mempertimbangkan untuk memperkenalkan indikator lain, menyesuaikan secara dinamis tingkat take profit dan stop loss, dan membuka posisi hanya setelah tren dikonfirmasi untuk mengoptimalkan strategi.


/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 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/
// © faytterro

//@version=5
strategy("Trend Catcher Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
len = input.int(10)
tp = input.float(2.5, step = 0.1)
sl = input.float(2.5, step = 0.1)
malen = input.int(5)
limit = input.int(50)
ma = ta.sma(close,malen)
sum = 0.0
for i = 0 to len-1
    sum := sum + high[i]-low[i]
frs = 100*(ta.highest(high,len)-ta.lowest(low,len))/sum
//hline(50)
//plot(frs, color = color.white)
l = ta.crossover(frs,limit) and ma>ma[1]
s = ta.crossover(frs,limit) and ma<ma[1]
cl = ma<ma[1]
cs = ma>ma[1]
qty_balance=input.int(50, maxval = 100)
if (l)
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("exit long", "My Long Entry Id", qty_percent = qty_balance, limit = close*(100+tp)/100, stop = close*(100-sl)/100)

if (s)
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("exit short", "My Short Entry Id", qty_percent = qty_balance, limit = close*(100-tp)/100, stop = close*(100+sl)/100)

if (cl)
    strategy.close("My Long Entry Id")
if (cs)
    strategy.close("My Short Entry Id")

l:= l and strategy.opentrades<1
s:= s and strategy.opentrades<1
transp = strategy.opentrades>0? 0 : 100
pma=plot(ma, color = ma<ma[1]? color.rgb(255, 82, 82, transp) : color.rgb(76, 175, 79, transp))
price = open/2+close/2
pprice = plot(price, display = display.none)
fill(pma,pprice, color = ma<ma[1]? color.rgb(255, 82, 82, transp+90) : color.rgb(76, 175, 79, transp+90))

spm=plot(ta.valuewhen(s,close,0), color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.white : color.rgb(1,1,1,100), offset=1)
lpm=plot(ta.valuewhen(l,close,0), color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.white : color.rgb(1,1,1,100), offset=1)

ltp=plot(ta.valuewhen(l,close,0)*(100+ta.valuewhen(l,tp,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
lsl=plot(ta.valuewhen(l,close,0)*(100-ta.valuewhen(l,sl,0))/100,  color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.red : color.rgb(1,1,1,100), offset=1)

stp=plot(ta.valuewhen(s,close,0)*(100-ta.valuewhen(s,tp,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
ssl=plot(ta.valuewhen(s,close,0)*(100+ta.valuewhen(s,sl,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.red : color.rgb(1,1,1,100), offset=1)
fill(stp,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(ssl,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))
fill(ltp,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(lsl,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))

Berkaitan

Lebih banyak