Strategi putaran momentum pelbagai faktor


Tarikh penciptaan: 2023-10-25 11:52:19 Akhirnya diubah suai: 2023-10-25 11:52:19
Salin: 0 Bilangan klik: 485
1
fokus pada
1214
Pengikut

Strategi putaran momentum pelbagai faktor

Gambaran keseluruhan

Strategi ini menggunakan RSI, MACD rata-rata, Bollinger Bands, dan Factor Stop, untuk melakukan perdagangan bergilir dengan pelbagai faktor. Strategi ini terlebih dahulu menilai sama ada beberapa petunjuk teknikal mengeluarkan isyarat membeli atau menjual pada masa yang sama, dan jika ya, melakukan pembelian atau penjualan yang sesuai.

Prinsip Strategi

Strategi ini terdiri daripada beberapa bahagian:

  1. Faktor penghakiman

    • RSI: Mengira RSI 14 kitaran untuk menentukan sama ada RSI berada di bawah atau di atas garis beli yang ditetapkan
    • Siri TD: Mengira hari berhenti untuk menentukan sama ada syarat jual beli telah dipenuhi
    • MACD: Mengira MACD dan nilai sejarah MACD untuk menentukan sama ada syarat beli dan jual telah dipenuhi
    • Brin Belt: Mengira Brin Belt 20 Hari untuk menentukan sama ada harga menyentuh Brin Belt
  2. Masuk dan keluar

    • Syarat beli: Beli apabila RSI, MACD, dan TD menghantar isyarat beli pada masa yang sama
    • Syarat jual: Apabila RSI, MACD, dan TD memberi isyarat jual pada masa yang sama, maka ia akan dijual
    • Penangguhan: penangguhan bergerak dengan titik tetap atau peratusan
    • Hentikan Kerosakan: Tetapkan titik kerugian maksimum yang boleh diterima dan hentikan kerosakan
  3. Pengoptimuman Strategi

    • Sesuaikan parameter RSI: parameter kitaran untuk mengoptimumkan RSI
    • Penyesuaian kitaran MA: parameter kitaran untuk mengoptimumkan garis purata
    • Sesuaikan syarat kemasukan: tambah atau kurangkan isyarat kemasukan
    • Menambah faktor lain: menggabungkan lebih banyak petunjuk teknikal dan faktor statistik

Analisis kelebihan strategi

  • Gabungan pelbagai faktor untuk memastikan kemasukan tepat

Strategi ini tidak hanya mempertimbangkan satu petunjuk teknikal, tetapi menggabungkan pelbagai faktor seperti RSI, MACD, dan siri TD untuk mengurangkan isyarat palsu yang disebabkan oleh satu petunjuk dan meningkatkan ketepatan kemasukan.

  • Ciri-ciri dinamik, menangkap trend

Indikator seperti RSI, MACD mempunyai ciri-ciri dinamik yang lebih jelas, yang dapat menangkap perubahan trend dalam harga saham. Indikator ini lebih sensitif terhadap perubahan berbanding dengan indikator yang mengikuti trend seperti garis rata.

  • Mekanisme Hentikan Kerosakan, Kawalan Risiko

Hentian bergerak boleh berhenti dengan keadaan pergerakan, lebih baik untuk mengunci keuntungan. Tetapan berhenti kerugian boleh mengawal kerugian tunggal.

  • Strategi yang jelas dan mudah

Kaedah ini menggabungkan petunjuk teknikal yang biasa digunakan dan mempunyai beberapa kepelbagaian. Peraturan relatif sederhana dan jelas, mudah difahami dan dikendalikan.

Analisis risiko strategi

  • Keadaan yang lebih buruk dalam keadaan berbilang pemimpin

Strategi ini adalah strategi berbalik arah yang menggunakan pergerakan pasaran berbalik arah. Dalam pasaran lembu, penggunaan strategi ini mungkin sering mengalami kerugian dan tidak berkesan.

  • Mungkin terlalu kerap.

Jika parameter ditetapkan terlalu sensitif, frekuensi dagangan boleh menjadi terlalu tinggi, meningkatkan kos dagangan dan kehilangan titik slip.

  • Indeks Penyebaran Risiko

Strategi ini bergantung kepada pelbagai petunjuk yang sama arah isyarat, tetapi kadang-kadang setiap petunjuk juga mungkin berbeza, sehingga menghantar isyarat yang salah.

  • Hentikan Kerosakan Dengan Risiko

Tetapan titik berhenti tetap mungkin akan ditembusi, anda boleh menetapkan berhenti dinamik atau mempertimbangkan pertukaran saham untuk mengelakkan risiko tersebut.

Arah pengoptimuman strategi

  • Optimumkan parameter, kurangkan frekuensi transaksi

Anda boleh menguji parameter RSI dan parameter kitaran garis purata untuk mencari kombinasi yang lebih rendah daripada frekuensi perdagangan.

  • Meningkatkan faktor statistik dan meningkatkan kecekapan

Ia boleh digabungkan dengan ciri-ciri statistik saham sendiri, seperti kadar turun naik, kecairan dan sebagainya untuk menetapkan parameter dan meningkatkan kecekapan strategi.

  • Gabungan dengan penunjuk keseluruhan pasaran seperti VIX

Parameter strategi boleh disesuaikan dengan indeks panik seluruh pasaran seperti VIX untuk mengurangkan frekuensi perdagangan semasa panik pasaran.

  • Uji tempoh pegangan yang berbeza

Anda boleh menguji kitaran pegangan yang berlainan untuk menilai kesan pegangan jangka panjang atau perubahan jangka pendek terhadap kesan strategi.

  • Mengoptimumkan dan menguji strategi hentikan dan hentikan kerugian

Kaedah yang lebih maju untuk menghalang kerosakan brek dinamik boleh dikaji untuk mengukur kesannya.

ringkaskan

Strategi ini mengambil kira pelbagai petunjuk teknikal secara menyeluruh, menggunakan stop loss bergerak untuk mengunci keuntungan dan mengawal risiko, dengan memastikan ketepatan kemasukan yang lebih tinggi. Strategi ini ringkas, mudah difahami, dan dapat meningkatkan keberkesanan dengan mengoptimumkan parameter dan memilih indikator. Tetapi strategi ini lebih sesuai untuk keadaan pasaran berlawanan dan goyah, dan kesannya mungkin kurang baik dalam keadaan kenaikan yang berterusan.

Kod sumber strategi
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("RSI, TD Seq, MACD, BB Strategy - Calculation Trailing Profit",overlay=true)


RSIDifference = input(-7, minval=-50, maxval=50, title="RSI Difference") 


TD = close > close[4] ?nz(TD[1])+1:0
TS = close < close[4] ?nz(TS[1])+1:0
TDUp = TD - valuewhen(TD < TD[1], TD , 1 )
TDDn = TS - valuewhen(TS < TS[1], TS , 1 )
TDcheckUP = iff(TD == 2, true, false)
TDCheckDOWN = iff(TS == 2, true, false)

[_, _, histLine] = macd(close, 12, 26, 9)
MACDCheckDown = iff(histLine > 0 and histLine[1] > 0 and histLine[2] > 0 and histLine[3] > 0  and histLine[4] > 0, true, false)
MACDCheckUp = iff(histLine < 0 and histLine[1] < 0 and histLine[2] < 0 and histLine[3] < 0 and histLine[4] < 0, true, false)

RSICal = rsi(close, 14)
RSICalNewUp = 50 + RSIDifference
RSICalNewDown = 50 - RSIDifference
RSICheckUp = iff(RSICal <= RSICalNewUp, true, false)
RSICheckDown = iff(RSICal >= RSICalNewDown, true, false)

basis = sma(close, 20)
dev = 2 * stdev(close, 20)
upperBB = basis + dev
lowerBB = basis - dev
BBCheckUp = iff(close > upperBB, true, false)
BBCheckDown = iff(close < lowerBB, true, false)
//BBCheckUp = false
//BBCheckDown = false


BuyCheck = iff(TDcheckUP == true and MACDCheckUp == true and RSICheckUp == true and BBCheckUp == false, true, false)
SellCheck = iff(TDCheckDOWN == true and MACDCheckDown == true and RSICheckDown == true and BBCheckDown == false, true, false)


ProfitStratA = input(50, minval=0, maxval=10000, title="Profit", step=0.5) 
ProfitTrailingA = input(10, minval=0, maxval=10000, title="Profit", step=0.5) 
useStopLoss = input(false, title="Use Stop Loss?")
LossstratA = input(145, minval=0, maxval=10000, title="Stop Loss", step=0.5) 
colB = input(100, minval=0, maxval=100, title="0-show / 100-hide Strategy", step=100) 

ProfitStrat = ProfitStratA * 10
ProfitTrailing = ProfitTrailingA * 10
Lossstrat = useStopLoss ? LossstratA * 10 : 1000000

if (strategy.position_size > 0)
    strategy.exit("BuyClose", "Buy", trail_points=ProfitStrat, trail_offset=ProfitTrailing, loss=Lossstrat)
    
    
if (strategy.position_size < 0)   
    strategy.exit("SellClose", "Sell", trail_points=ProfitStrat, trail_offset=ProfitTrailing, loss=Lossstrat) 
    

if (BuyCheck == true and strategy.position_size == 0)
    strategy.entry("Buy", strategy.long, comment="Long Entry")
    


if (SellCheck == true and strategy.position_size == 0)
    strategy.entry("Sell", strategy.short, comment="Short Entry")
    


plotshape(BuyCheck, color=blue, transp=colB, style=shape.arrowup, text="Buy\n", location=location.belowbar)
plotshape(SellCheck, color=orange, transp=colB, style=shape.arrowdown, text="Sell\n", location=location.abovebar)