Strategi sederhana berdasarkan trailing stop dan trailing buy


Tanggal Pembuatan: 2024-01-19 14:30:59 Akhirnya memodifikasi: 2024-01-19 14:30:59
menyalin: 4 Jumlah klik: 554
1
fokus pada
1617
Pengikut

Strategi sederhana berdasarkan trailing stop dan trailing buy

Ringkasan

Strategi ini memungkinkan untuk mengoptimalkan parameter strategi dengan menguji kombinasi persentase yang berbeda pada frame waktu yang berbeda dan pada grafik yang berbeda.

Prinsip Strategi

Strategi ini dilakukan melalui dua indikator utama, yaitu Tracking Stop Loss dan Tracking Buy:

  1. Trailing Stop Line (TSL): Menggunakan persentase deflection dari stop loss yang ditetapkan oleh pengguna, dan berdasarkan pada rata-rata bergerak dari harga penutupan pada garis N-root K terbaru. Stop loss terjadi ketika harga berada di bawah garis tersebut.
  2. Trailing Buy Line (TBL): berdasarkan persentase bias pembelian yang ditetapkan oleh pengguna, dan dihitung berdasarkan rata-rata bergerak dari harga tertinggi pada garis N-root K terbaru. Dibangun posisi multihead ketika harga lebih tinggi dari garis tersebut.

Dengan membandingkan harga dengan hubungan kedua indikator, aturan stop loss dan buyback dapat dicapai.

Keunggulan Strategis

Strategi ini memiliki keuntungan sebagai berikut:

  1. Ini adalah salah satu cara yang paling efektif untuk memanipulasi dan memaksimalkan data.
  2. Elastisitas dari stop loss dan repurchase dapat dicapai dengan menyesuaikan parameter;
  3. Dapat diterapkan di berbagai pasar dan periode waktu yang berbeda;
  4. Hal ini memungkinkan pelacakan tren dan stop loss tepat waktu.

Risiko Strategis

Strategi ini juga memiliki risiko sebagai berikut:

  1. Penetapan parameter yang tidak tepat dapat menyebabkan stop loss atau pembelian yang terlalu radikal;
  2. Perdagangan yang sering terjadi dan kehilangan titik slip dalam pasar yang bergejolak;
  3. Parameter perlu dioptimalkan sesuai dengan karakteristik pasar yang berbeda.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menggunakan algoritma adaptif untuk mengoptimalkan otomatis posisi stop loss dan parameter buy;
  2. Meningkatkan jumlah posisi dan modul manajemen risiko;
  3. Ini adalah salah satu indikator yang digunakan untuk mengevaluasi tren dan menghindari terjerumus dalam situasi yang tidak stabil.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang sangat sederhana dan intuitif. Strategi ini dapat diterapkan di berbagai pasar melalui penyesuaian parameter, dan kombinasi dengan algoritma penyesuaian diri dan indikator lainnya dapat meningkatkan stabilitas dan kepraktisan strategi lebih lanjut. Secara keseluruhan, strategi ini memberikan kerangka strategi dasar yang sederhana namun efektif untuk perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")