Strategi Dagangan Bullish Hammer


Tarikh penciptaan: 2023-09-18 15:30:15 Akhirnya diubah suai: 2023-09-18 15:48:15
Salin: 0 Bilangan klik: 680
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini mengesan isyarat K-Line Multiheaded Anvil Line, digabungkan dengan MACD untuk menentukan arah trend, untuk mencapai perdagangan pelacakan harga saham. Dalam pasaran lembu, masuk lebih banyak apabila terdapat bentuk K-Line Multiheaded Anvil Line, dan di latar belakang MACD; keluar dari kedudukan kosong selepas MACD beralih ke kepala kosong.

Prinsip Strategi

Hitung nisbah saiz segmen entiti, tentukan garis kerucut berbilang kepala. Hitung penunjuk MACD untuk menentukan arah trend. Apabila MACD berbilang kepala, masukkan lebih banyak, seperti isyarat garis kerucut berbilang kepala. Tetapkan stop loss dan saiz kedudukan.

Analisis kelebihan

  • Pengiktirafan garis kerucut berbilang kepala lebih mudah dan jelas
  • MACD boleh menilai penukaran trend kosong
  • Bergerak mengikut trend, dan mengelak daripada terjebak
  • Logik strategi mudah, mudah dilaksanakan

Analisis risiko

  • Pengiktirafan bentuk tidak sepenuhnya tepat, terdapat isyarat yang hilang
  • MACD menjangkakan perubahan trend
  • Frekuensi perdagangan rendah, tidak sesuai untuk perdagangan frekuensi tinggi
  • Tidak dapat menentukan titik balik, risiko kerugian

Syarat pengenalan bentuk boleh dilonggarkan dengan sewajarnya, parameter MACD dikurangkan, penyokong penunjuk lain dan sebagainya untuk mengawal risiko.

Arah pengoptimuman

  • Peraturan parameter untuk mengoptimumkan pengenalan garis kerucut
  • Uji kesan pelbagai parameter MACD
  • Pertimbangan untuk menilai pembalikan trend dalam kombinasi dengan penunjuk lain
  • Parameter pengujian stamina dalam pelbagai jenis

ringkaskan

Strategi ini mengintegrasikan bentuk dan indikator untuk menilai trend, dapat mencapai keuntungan yang stabil. Dengan penyesuaian parameter dan lain-lain, ia boleh menjadi strategi perdagangan kuantitatif yang praktikal.

Kod sumber strategi
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
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/
// © FenixCapital

//@version=4
strategy("Starbux", overlay=true)


//VARIABLES

//Candlestick Variables
body=close-open
range=high-low
middle=(open+close)/2
abody=abs(body)
arange=abs(range)
ratio=abody/range
longcandle= (ratio>0.6)
bodytop=max(open, close)
bodybottom=min(open, close)
shadowtop=high-bodytop
shadowbottom=bodybottom-low

//Closing Variables

macd=macd(close,12,26,9)
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
//plot(macdLine, color=color.blue)
//plot(signalLine, color=color.orange)
//plot(histLine, color=color.red, style=plot.style_histogram)

rsi=rsi(close,14)

sma50= sma(close,50)
sma200= sma(close,200)

exitrsi=rsi > 76
exitmacd=macdLine >0 and signalLine>0
//exitmacd=crossunder(macdLine,signalLine)
stopprice= crossunder(sma50,sma200)

//Candlestick Plotting
blh = (arange*0.33>=abody and close>open and shadowbottom>=abody*2 and shadowtop<=arange*0.1)
plotshape(blh, title= "Bullish Hammer", location=location.belowbar, color=color.lime, style=shape.arrowup, text="Bull\nHammer")

//beh = (arange*0.25>=abody and close<open and shadowtop>=abody*2 and shadowbottom<=arange*0.05)
//plotshape(beh, title= "Bearish Hammer", color=color.orange, style=shape.arrowdown, text="Bear\nHammer")

//bpu = (open>close and close>low and shadowbottom>2*abody)
//plotshape(bpu, title= "Black Paper Umbrella", color=color.red, style=shape.arrowdown, text="Black\nPaper\nUmbrella")

//Trend Signal
bull5= sma50 > sma200
bullmacd=macdLine>=0 and signalLine>=0
bearmacd=macdLine<= 0 and signalLine<=0

//Trading Algorithm
longCondition = blh and bearmacd and volume>volume[1]

if (longCondition)
    strategy.order("Buy", true, 1, when=longCondition)
strategy.risk.max_position_size(10)
//strategy.risk.max_drawdown(25,strategy.percent_of_equity)

exitlong = exitmacd
if (exitlong)
    strategy.close_all()