Trend Mengikuti Strategi Berasaskan Purata Pergerakan


Tarikh penciptaan: 2024-02-29 14:00:35 Akhirnya diubah suai: 2024-02-29 14:00:35
Salin: 0 Bilangan klik: 599
1
fokus pada
1617
Pengikut

Trend Mengikuti Strategi Berasaskan Purata Pergerakan

Gambaran keseluruhan

Strategi ini mengikuti trend harga saham dengan mengira saluran rata-rata, membina kedudukan overhead atau kosong apabila harga menembusi saluran rata-rata.

Prinsip Strategi

Strategi ini mulakan dengan mengira rata-rata titik tinggi 20 hari sebagai saluran atas, rata-rata titik rendah 20 hari sebagai saluran bawah, dan mengira garis tengah saluran. Garis tengah saluran mewakili trend harga purata terkini.

Analisis kelebihan

  • Menggunakan saluran untuk menjejaki trend harga dan mengelakkan dana daripada terkunci di pasaran saham;
  • Oleh itu, ia adalah lebih mudah untuk mengawal kemasukan ke tempat-tempat yang boleh dibeli dan dijual dengan cara menentukan laluan ke atas dan ke bawah.
  • Ia adalah satu-satunya saluran yang boleh digunakan untuk menapis sebahagian daripada kebisingan dan meningkatkan peluang keuntungan.
  • Anda boleh menyesuaikan parameter saluran untuk menyesuaikan sensitiviti strategi.

Analisis risiko

  • Dalam kes ini, garis tengah ujian penyesuaian mungkin berlaku selepas garis tengah penembusan yang besar;
  • Saham jenis goyah tidak sesuai untuk strategi ini dan mudah untuk melakukan lelang yang kerap;
  • Penetapan parameter yang salah juga boleh menjejaskan kesan strategi;

Arah pengoptimuman

  • Mengoptimumkan parameter kitaran saluran, menguji kesan parameter yang berbeza terhadap kesan strategi;
  • Meningkatkan strategi penangguhan kerugian, mengawal kerugian tunggal dan keseluruhan;
  • Ia juga boleh digunakan untuk mengkaji dan mengkaji keadaan badan, dan juga untuk mengkaji keadaan badan.
  • Membina gudang secara beransur-ansur untuk mengurangkan kebarangkalian penyesuaian pada garis tengah ujian penyesuaian;

ringkaskan

Strategi ini secara keseluruhannya lebih mudah dan langsung, untuk menilai trend harga saham melalui saluran harga asas, dan merupakan jenis strategi yang mengikuti trend. Kelebihannya adalah mudah beroperasi, memanfaatkan peluang pelaburan yang dibawa oleh trend harga, untuk mengelakkan dana dikunci. Kelemahannya adalah parameter yang tidak betul mungkin mempengaruhi kesannya, dan terdapat risiko ujian penyesuaian tertentu. Dengan pengoptimuman yang munasabah, anda boleh meningkatkan kestabilan strategi dan meningkatkan prestasi saham sebenar.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20)


testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2019, "Backtest Start Year")
testEndMonth = input(3)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = 20

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
    
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)