Strategi Pelacakan Momentum

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

img

Gambaran umum

Strategi ini memanfaatkan ukuran tubuh lilin dan indikator momentum tren EMA untuk menentukan tren pasar dan menerapkan perdagangan otomatis untuk membeli rendah dan menjual tinggi.

Logika Strategi

  1. Klasifikasikan lilin menjadi remah-remah, lilin kecil, dan lilin besar berdasarkan ukuran tubuh.
  2. Ketika EMA naik, jika lilin merah besar muncul, itu menunjukkan koreksi pasar.
  3. Ketika EMA jatuh, jika lilin hijau besar muncul, itu berarti pasar sedang stabil.
  4. Sesuaikan posisi secara dinamis berdasarkan pemantauan perubahan candlestick dan tren EMA secara real-time.

Analisis Keuntungan

  1. Gagasan strategi adalah sederhana dan mudah dimengerti dengan menilai struktur pasar melalui indikator sederhana.
  2. Strategi ini memiliki beberapa parameter dan tidak rentan terhadap overfit, menghasilkan stabilitas yang tinggi.
  3. Ini menerapkan logika membeli murah dan menjual tinggi dan memberikan keuntungan yang nyata selama fluktuasi pasar yang signifikan.
  4. Hal ini memperhitungkan baik tren dan pembalikan dan dapat merespon dengan cepat terhadap perubahan kondisi pasar.

Risiko dan Optimalisasi

  1. Ini tidak mempertimbangkan amplitudo mutlak harga aset, yang dapat menyebabkan risiko stop loss.
  2. Ini tidak mempertimbangkan dasar emisi cryptocurrency dan dapat diuji pada lebih banyak pasangan perdagangan.
  3. Algoritma pembelajaran mesin dapat diperkenalkan untuk membantu menilai pola lilin.
  4. Indikator volume perdagangan dapat digunakan untuk menyaring varietas.
  5. Pengaturan parameter jangka waktu yang berbeda dapat diuji.

Kesimpulan

Ide keseluruhan dari strategi ini sederhana dan mudah dipahami, dengan momentum dan tracking sebagai fitur utamanya. Ini menentukan arah pasar utama melalui indikator EMABOLL sederhana dan menggunakan badan lilin untuk menilai penyesuaian lokal, mewujudkan perdagangan yang efisien dengan membeli rendah dan menjual tinggi. Strategi ini memiliki stabilitas tinggi dan berkinerja sangat baik dalam cryptocurrency, sehingga layak untuk pengujian dan optimalisasi lebih 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 banyak