Strategi lindung nilai frekuensi tinggi berdasarkan warna kolom MACD dan regresi linier


Tanggal Pembuatan: 2023-10-27 10:42:54 Akhirnya memodifikasi: 2023-10-27 10:42:54
menyalin: 0 Jumlah klik: 871
1
fokus pada
1617
Pengikut

Strategi lindung nilai frekuensi tinggi berdasarkan warna kolom MACD dan regresi linier

Ringkasan

Strategi ini menggabungkan MACD Colors dan Linear Regression Indicators, dengan kombinasi yang cerdik untuk mencapai perdagangan reversal frekuensi tinggi, sangat cocok untuk short-line arbitrage dan hedging, dan merupakan strategi netral pasar yang khas.

Prinsip Strategi

Strategi ini terdiri dari beberapa bagian utama:

  1. MACD kolom warna sebagai indikator untuk menilai tren. Ketika MACD kolom warna hijau, menunjukkan berada dalam tren naik, maka tidak melakukan blanko; Ketika MACD kolom warna merah, menunjukkan berada dalam tren turun, maka tidak melakukan blanko.

  2. Regresi linier sebagai indikator sinyal perdagangan utama. Bila harga berregresi linier dari bawah, lakukan over; bila harga berregresi linier dari atas ke bawah, lakukan over.

  3. PAC channel terdiri dari EMA harga tinggi, rendah, dan closeout untuk menentukan arah regresi linier. Hanya ketika arah regresi linier sesuai dengan tren di channel, sinyal perdagangan akan dihasilkan.

  4. EMA 89 sebagai garis stop loss, ketika harga kembali menembus garis tersebut, maka stop loss akan dilakukan.

Logika yang digunakan untuk menghasilkan sinyal perdagangan adalah:

Sinyal multihead: linear regression up-through-PAC channel down-track dan linear regression up-slope trend dan MACD kolom warna bukan merah Sinyal kosong: Linear Regression Down Trailing Through PAC Channel Dan Linear Regression Downtrend Dan MACD Column Warna Bukan Hijau

Stop loss keluar sinyal: harga di bawah EMA 89

Strategi ini menggabungkan penilaian tren dan tingkat harga kritis untuk mencapai perdagangan yang terlindung dengan frekuensi tinggi.

Analisis Keunggulan

  1. Menggunakan warna kolom MACD untuk menentukan tren besar dan menghindari perdagangan berlawanan arah.

  2. Regresi linier memiliki kelancaran yang dapat memfilter beberapa noise.

  3. Jalur yang terbentuk oleh EMA dengan jelas mendefinisikan arah polygon.

  4. Pengaturan Stop Loss adalah wajar dan menjamin keuntungan maksimum.

  5. Trading dengan frekuensi tinggi, cocok untuk strategi trading dengan frekuensi tinggi.

  6. Investor yang melakukan perdagangan lindung nilai (hedging) dapat memperoleh keuntungan dalam situasi yang tidak stabil.

Analisis risiko

  1. Regressi linier dan indikator saluran memerlukan optimasi parameter tertentu, atau mungkin akan gagal.

  2. Pembatasan kerugian pada saat terjadi gempa besar mungkin lebih sering dipicu.

  3. Jika jumlah transaksi lebih banyak, Anda harus memperhatikan biaya yang dikenakan.

  4. Indeks MACD memiliki keterbelakangan dan mungkin melewatkan pembalikan tren jangka pendek.

  5. Saluran EMA juga perlu terus dioptimalkan untuk menyesuaikan diri dengan perubahan pasar.

Arah optimasi

  1. Adaptasi regresi linier dan parameter saluran agar indikator lebih sesuai dengan karakteristik varietas yang berbeda.

  2. Perlahan stop loss, dan pastikan stop loss rasio lebih besar dari 1.

  3. Optimalkan parameter MACD agar dapat menangkap lebih banyak sinyal pendek.

  4. Cobalah menggunakan indikator lain sebagai alternatif regresi linier, seperti garis Bryn.

  5. Meningkatkan kontrol posisi untuk mencegah kerugian unilateral yang berlebihan.

  6. Sinyal perdagangan sebagian disaring oleh indikator seperti RSI.

Meringkaskan

Strategi ini menggunakan berbagai indikator teknis untuk mencapai perdagangan perlindungan frekuensi tinggi. Kelebihannya adalah menangkap pembalikan jangka pendek, kontrol risiko yang masuk akal, sangat cocok untuk periode gejolak pasar. Pada saat yang sama, perlu diperhatikan pengoptimalan dan perbaikan parameter tertentu, untuk mencegah overfit. Jika dikelola dengan benar, dapat menjadi strategi frekuensi tinggi yang sangat berarti dalam pertempuran.

Kode Sumber Strategi
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("Sonic R + Linear Reg + Kumo Cloud + Barcolor MACD", overlay=true,default_qty_value=10000,initial_capital=200,currency=currency.USD, pyramiding=1)
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, EMA, 0)
plot(linereg, color = orange, title = "Linear Regression Curve", style = line, linewidth = 1)
//////ICHIMOKU/////////
conversionPeriods = input(9),
basePeriods = input(26, minval=1, title="Base Line")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span"),
displacement = input(26, minval=1)
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine) 
leadLine2 = donchian(laggingSpan2Periods-1)
p1 = plot(leadLine1, offset = displacement-1, color=gray,title="Senkou span A", transp=90)
p2 = plot(leadLine2, offset = displacement-1, color=gray, title="Senkou span B", transp=90)
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red, title="Kumo Cloud")
///////////////// MACD BARCOLOR /////////////////////
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hisup= iff(delta>delta[1] and delta>0, 1,
	     iff(delta<delta[1], -1, nz(hisup[1], 0)))
hisdown = iff(delta<delta[1] and delta<0, 1,
	     iff(delta>delta[1], -1, nz(hisdown[1], 0)))
barcolor(hisup==1 and MACD>0 ? lime: hisdown==1 and MACD<0 ? red : blue )
///////////// SIGNAL ///////////////
conbuy = iff(crossover(linereg,pacL) and rising(linereg,5), 1,
	     iff(crossover(linereg,pacH) or (crossunder(linereg,pacL) and pacL<signalMA), -1, nz(conbuy[1], 0)))
consell = iff(crossunder(linereg,pacH) and falling(linereg,5), 1,
	     iff(crossunder(linereg,pacL) or (crossover(linereg,pacH) and pacH>signalMA), -1, nz(consell[1], 0)))
golong= conbuy==1 and close>open and open<pacH and close>linereg and hisdown!=1
goshort= consell==1 and close<open and open>pacL and close<linereg and hisup!=1
if(golong)
    strategy.entry("Buy",strategy.long)
if(goshort)
    strategy.entry("Sell",strategy.short)
closelong= conbuy==-1
closeshort=consell==-1
if(closelong)
    strategy.close("Buy")
if(closeshort)
    strategy.close("Sell")
 ////////////// TP and SL//.
//SL = input(defval=200.00, title="Stop Loss Point", type=float, step=1)
//rr= input(defval=0.1,title="Reward/Risk",type=float)
//useTPandSL = input(defval = false, title = "Use exit order strategy?")
//Stop = SL
//Take=SL*rr
//Q = 100
//if(useTPandSL)
//    strategy.exit("Out Long", "Buy", qty_percent=Q, profit= Take, loss=Stop)
//    strategy.exit("Out Short", "Sell", qty_percent=Q, profit= Take, loss=Stop)