Strategi Jangka Panjang-Pendek Berdasarkan SMA


Tanggal Pembuatan: 2023-11-22 15:42:29 Akhirnya memodifikasi: 2023-11-22 15:42:29
menyalin: 2 Jumlah klik: 596
1
fokus pada
1617
Pengikut

Strategi Jangka Panjang-Pendek Berdasarkan SMA

Ringkasan

Strategi ini didasarkan pada indikator SMA untuk membangun strategi multi-berlubang yang sederhana. Berlubanglah ketika harga naik melewati SMA 20-siklus tinggi dan berlubanglah ketika harga turun melewati SMA 20-siklus rendah.

Prinsip Strategi

Strategi ini menggunakan SMA dengan harga tertinggi dan terendah selama 20 periode sebagai indikator untuk menentukan keterlambatan. Ketika harga melewati SMA tertinggi, dianggap sedang dalam tren naik, maka lebih banyak; Ketika harga melewati SMA terendah, dianggap sedang dalam tren turun, maka lebih banyak.

Secara khusus, strategi ini pertama-tama menghitung SMA dengan harga tertinggi dan terendah selama 20 periode, lalu menggambar garis indikator. Lalu mengatur logika perdagangan sebagai berikut:

Multiple entry: saat harga close out melewati SMA tertinggi Berbagai posisi: saat harga ditutup di bawah 0,99 kali SMA tertinggi

Masuk kosong: saat harga tutup di bawah SMA terendah
Keluar dengan posisi kosong: harga ditutup dengan 1,01 kali SMA terendah

Dengan begitu, strategi multi-ruang yang mengikuti tren dapat dibangun.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan:

  1. Menggunakan indikator SMA untuk menentukan arah tren sederhana dan praktis
    1. SMA HIGHEST dan SMA LOWEST berperan penting sebagai indikator yang mendukung garis resistensi
    2. Desain penghentian kerugian yang masuk akal untuk menghindari kerugian besar.
    3. Adaptif, dapat digunakan untuk berbagai periode waktu dan varietas

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Indeks SMA terlambat, mungkin kehilangan titik balik tren
  2. Langkah-langkah pencegahan dari kejadian yang tidak terkait dengan pasar
  3. Tidak mempertimbangkan dampak biaya transaksi

Risiko ini dapat dikontrol dan dikurangi dengan cara yang berbeda, seperti dengan mengkombinasikan indikator lain, pengaturan stop loss, parameter optimasi, dan sebagainya.

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa hal:

  1. Kombinasi dengan indikator lain untuk menilai tren, seperti MACD, KDJ, dan lain-lain
  2. Menambahkan mekanisme pencegahan terhadap kejadian yang tidak terduga, seperti penangguhan lisensi, penanganan situasi yang tidak biasa, dan batas harga
  3. Mengoptimalkan parameter siklus SMA untuk mencari kombinasi parameter yang optimal
  4. Pertimbangan optimal untuk berbagai varietas, berbagai periode waktu
  5. Evaluasi dampak dari biaya transaksi, pengaturan stop loss dan stop loss yang optimal

Meringkaskan

Strategi ini memiliki ide yang jelas dan mudah untuk diimplementasikan, dengan indikator SMA untuk menilai tren overbought, mengatur mekanisme masuk dan keluar yang masuk akal, dapat memperoleh hasil yang baik. Ada ruang untuk optimasi lebih lanjut, jika dikombinasikan dengan indikator dan teknik lainnya, dapat menjadi strategi yang layak untuk dilacak dalam jangka panjang.

Kode Sumber Strategi
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 10m
basePeriod: 1m
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/
// © AlanAntony

//@version=4


strategy("ma 20 high-low",overlay=true)

//compute the indicators

smaH = sma(high, 20)
smaL = sma(low, 20)


//plot the indicators
plot(smaH,title="smaHigh", color=color.green, linewidth=2)


plot(smaL,title="smaLow", color=color.red, linewidth=2)


//trading logic
enterlong = crossover(close,smaH) //positive ema crossover
exitlong = crossunder(close,0.99*smaH)  //exiting long


entershort = crossunder(close,smaL) //negative EMA Crossover
exitshort = crossover(close,1.01*smaH) //exiting shorts


notintrade = strategy.position_size<=0
bgcolor(notintrade ? color.red:color.green)

//execution logic

start = timestamp(2015,6,1,0,0)
//end = timestamp(2022,6,1,0,0)

if time >= start
    strategy.entry( "long", strategy.long,1, when = enterlong)
    strategy.entry( "short", strategy.short,1, when = entershort) 
    
    strategy.close("long", when = exitlong)
    strategy.close("short", when = exitshort)

//if time >= end
   // strategy.close_all()