Strategi Pengesanan Momentum

Penulis:ChaoZhang, Tarikh: 2023-11-23 13:47:02
Tag:

img

Ringkasan

Strategi ini menggunakan saiz badan lilin dan penunjuk momentum trend EMA untuk menentukan trend pasaran dan melaksanakan perdagangan automatik untuk membeli rendah dan menjual tinggi.

Logika Strategi

  1. Kelaskan lilin ke dalam serpihan, lilin kecil, dan lilin besar berdasarkan saiz badan.
  2. Apabila EMA meningkat, jika lilin merah besar muncul, ia menunjukkan pembetulan pasaran.
  3. Apabila EMA jatuh, jika lilin hijau besar muncul, ia bermakna pasaran stabil.
  4. Sesuaikan kedudukan secara dinamik berdasarkan pemantauan masa nyata perubahan candlestick dan trend EMA.

Analisis Kelebihan

  1. Idea strategi adalah mudah dan mudah difahami dengan menilai struktur pasaran melalui penunjuk mudah.
  2. Strategi ini mempunyai beberapa parameter dan tidak terdedah kepada pemasangan berlebihan, menghasilkan kestabilan yang tinggi.
  3. Ia melaksanakan logik membeli rendah dan menjual tinggi dan memberikan keuntungan yang ketara semasa turun naik pasaran yang ketara.
  4. Ia mengambil kira kedua-dua trend dan pembalikan dan boleh bertindak balas dengan cepat terhadap perubahan keadaan pasaran.

Risiko dan Pengoptimuman

  1. Ia tidak mengambil kira amplitud mutlak harga aset, yang boleh membawa kepada risiko stop-loss.
  2. Ia tidak mempertimbangkan isu asas mata wang kripto dan boleh diuji pada lebih banyak pasangan perdagangan.
  3. Algoritma pembelajaran mesin boleh diperkenalkan untuk membantu menilai corak lilin.
  4. Penunjuk jumlah dagangan boleh digunakan untuk menyaring varieti.
  5. Penyesuaian parameter jangka masa yang berbeza boleh diuji.

Kesimpulan

Idea keseluruhan strategi ini adalah mudah dan mudah difahami, dengan momentum dan tracking sebagai ciri utamanya. Ia menentukan arah pasaran utama melalui penunjuk EMABOLL yang mudah dan menggunakan badan lilin untuk menilai penyesuaian tempatan, merealisasikan perdagangan yang cekap dengan membeli rendah dan menjual tinggi. Strategi ini mempunyai kestabilan yang tinggi dan berfungsi dengan sangat baik dalam mata wang kripto, menjadikannya bernilai untuk ujian dan pengoptimuman lanjut.


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)

//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------

timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800

//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------

emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0

crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0

bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0

//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------

buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1

//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(buy, 0.5)
    strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
    strategy.close('long')

//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))

Lebih lanjut