Strategi purata bergerak kelebihan yang disahkan dua kali


Tarikh penciptaan: 2024-01-23 10:49:57 Akhirnya diubah suai: 2024-01-23 10:49:57
Salin: 0 Bilangan klik: 572
1
fokus pada
1617
Pengikut

Strategi purata bergerak kelebihan yang disahkan dua kali

Gambaran keseluruhan

Strategi ini adalah strategi trend-following multi-head sahaja, yang menghasilkan isyarat perdagangan dengan pengesahan ganda indikator Aroon dan rata-rata bergerak regresi linear. Strategi ini digunakan untuk perdagangan trend garis panjang dan tengah.

Prinsip Strategi

Strategi ini menggunakan persimpangan atas dan bawah Aroon untuk menentukan arah trend. Apabila atas menjana isyarat beli apabila ia menembusi ke atas dari bawah. Apabila atas menjana isyarat jual apabila ia menembusi ke bawah dari atas.

Secara khusus, strategi menghasilkan isyarat perdagangan dengan peraturan berikut:

  1. Syarat penjanaan isyarat beli: tren atas meletupkan tren bawah (indicator Aroon menentukan tren naik) dan harga penutupan pada hari itu lebih tinggi daripada purata bergerak LSMA (harga penutupan berada dalam tren naik)

  2. Syarat penjanaan isyarat jual: rantaian atas jatuh dari rantaian bawah ((indikator Aroon menentukan rantaian dua hala membentuk tren menurun) dan harga penutupan pada hari itu lebih rendah daripada purata bergerak LSMA ((harga penutupan berada dalam tren menurun)

Kelebihan Strategik

  1. Menggunakan Aroon untuk menentukan arah trend dan mengelakkan gangguan bunyi
  2. Menambah purata bergerak LSMA sebagai syarat penapisan tambahan untuk mengelakkan perdagangan yang tidak perlu akibat penembusan palsu
  3. Hanya melakukan lebih banyak, sesuai dengan ciri-ciri kenaikan jangka panjang pasaran utama, mengelakkan risiko kerugian tanpa had yang disebabkan oleh shorting
  4. Tetapan parameter dasar mudah dan mudah dilaksanakan

Risiko Strategik

  1. Taktik yang tidak berfaedah dalam keadaan yang tidak menentu
  2. Tetapan parameter tetap boleh menyebabkan risiko overfitting
  3. Kemerosotan dan Kesukaran Mengubah Trend

Untuk mengelakkan risiko, anda boleh menetapkan strategi hentikan kerugian, atau bersama-sama dengan petunjuk lain untuk menentukan masa untuk membalikkan trend, hentikan kerugian tepat pada masanya.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk menyertai peluang shorting dan mendapat keuntungan dalam keadaan turun.
  2. Keupayaan penunjuk yang boleh diuji dengan parameter kitaran yang berbeza
  3. Modul pembelajaran mesin boleh dimasukkan untuk mengoptimumkan parameter secara automatik

ringkaskan

Strategi ini secara keseluruhan adalah strategi pengesanan trend dua kali yang lebih mudah dan praktikal. Ia menggunakan Aroon untuk menentukan arah trend dan kaedah penapisan kebisingan LSMA secara mudah dan langsung, dan jika parameter ditetapkan dengan betul, ia boleh memberikan kesan yang baik. Strategi ini sesuai untuk memegang garis panjang dan panjang, untuk mengelakkan gangguan oleh kebisingan pasaran jangka pendek.

Kod 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)