Strategi rata-rata pergerakan keuntungan yang dikonfirmasi ganda


Tanggal Pembuatan: 2024-01-23 10:49:57 Akhirnya memodifikasi: 2024-01-23 10:49:57
menyalin: 0 Jumlah klik: 572
1
fokus pada
1617
Pengikut

Strategi rata-rata pergerakan keuntungan yang dikonfirmasi ganda

Ringkasan

Strategi ini adalah strategi pelacakan tren multi-kepala yang menghasilkan sinyal perdagangan dengan konfirmasi ganda dari indikator Aroon dan linear regression moving average. Strategi ini berlaku untuk perdagangan tren garis tengah dan panjang.

Prinsip Strategi

Strategi ini menggunakan persimpangan atas dan bawah dari indikator Aroon untuk menentukan arah tren. Ketika atas melangkah dari bawah, sinyal beli dihasilkan. Ketika atas melangkah dari atas ke bawah, sinyal jual dihasilkan.

Secara khusus, aturan untuk menghasilkan sinyal perdagangan dari strategi ini adalah:

  1. Kondisi pembentukan sinyal beli: tren naik menembus tren turun (indicator Aroon menentukan tren naik) dan harga penutupan hari lebih tinggi dari rata-rata bergerak LSMA (harga penutupan berada dalam tren naik)

  2. Kondisi penciptaan sinyal jual: rel atas jatuh dari rel bawah ((indikator Aroon menentukan rel ganda membentuk tren turun) dan harga penutupan hari lebih rendah dari rata-rata bergerak LSMA ((harga penutupan berada dalam tren turun)

Keunggulan Strategis

  1. Menggunakan indikator Aroon untuk menentukan arah tren, menghindari gangguan dari kebisingan
  2. Menambahkan moving average LSMA sebagai kondisi penyaringan tambahan untuk menghindari false breakout yang menyebabkan transaksi yang tidak perlu
  3. Hanya melakukan overhead, sesuai dengan karakteristik naik jangka panjang dari pasar besar, menghindari risiko kerugian tak terbatas yang ditimbulkan oleh shorting
  4. Pengaturan parameter kebijakan sederhana dan mudah diterapkan

Risiko Strategis

  1. Taktik yang tidak efektif dalam situasi yang kacau
  2. Pengaturan parameter tetap dapat menyebabkan risiko overfitting
  3. Kesulitan untuk membalikkan tren dan waktu untuk berhenti

Untuk mencegah risiko, Anda dapat mengatur strategi stop loss, atau digabungkan dengan indikator lain untuk menentukan kapan tren akan berbalik, dan berhenti pada waktu yang tepat.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk bergabung dengan opsi shorting, dan Anda juga dapat mengambil keuntungan dari penurunan.
  2. Dapat menguji efek indikator dari parameter periode yang berbeda
  3. Dapat menambahkan modul pembelajaran mesin untuk mengoptimalkan parameter secara otomatis

Meringkaskan

Strategi ini secara keseluruhan adalah strategi pelacakan tren konfirmasi ganda yang lebih sederhana dan praktis. Ini menggunakan Aroon untuk menentukan arah tren dan filter kebisingan LSMA dengan cara yang sederhana dan langsung, dan dapat menghasilkan hasil yang bagus jika parameternya disetel dengan benar. Strategi ini cocok untuk memegang garis tengah dan panjang, dan menghindari gangguan dari kebisingan pasar jangka pendek.

Kode Sumber Strategi
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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/
// © exlux99

//@version=4

strategy(title = "Aroon Strategy long only", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)

//Time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

//INPUTS

length = input(15, minval=1, title="Aroon Legnth")
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length

lengthx = input(title="Length LSMA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, lengthx, offset)


long = crossover(upper,lower) and close > lsma
longexit = crossunder(upper,lower) and close < lsma

if(time_cond)
    strategy.entry("long",1,when=long)
    strategy.close("long",when=longexit)