Sumber dimuat naik... memuat...

Strategi Dagangan Berdasarkan Persaingan Emas dan Kematian MACD Berturut-turut

Penulis:ChaoZhang, Tarikh: 2024-04-30 17:26:19
Tag:MACDEMA

img

Ringkasan

Strategi ini berdasarkan pada isyarat salib emas dan salib kematian berturut-turut dari penunjuk MACD untuk perdagangan. Apabila isyarat salib emas berturut-turut muncul, ia membuka kedudukan panjang; apabila isyarat salib kematian berturut-turut muncul, ia membuka kedudukan pendek. Pada masa yang sama, strategi ini membolehkan pengguna menetapkan tahap mengambil keuntungan dan stop-loss untuk mengawal risiko. Di samping itu, strategi ini menyediakan pilihan untuk memilih julat masa backtest, yang membolehkan pengguna menilai prestasi strategi dalam tempoh masa yang ditentukan.

Prinsip Strategi

Inti strategi ini adalah menggunakan isyarat salib emas dan isyarat salib kematian dari penunjuk MACD untuk menentukan titik perubahan trend pasaran. Indikator MACD terdiri daripada purata bergerak pantas (EMA) dan purata bergerak perlahan (EMA). Apabila EMA pantas melintasi EMA perlahan, ia membentuk isyarat salib emas atau isyarat salib kematian. Isyarat salib emas berturut-turut menunjukkan bahawa pasaran mungkin memasuki trend menaik, di mana kedudukan panjang dibuka; isyarat salib kematian berturut-turut menunjukkan bahawa pasaran mungkin memasuki trend menurun, di mana kedudukan pendek dibuka. Dengan menangkap titik perubahan trend ini, strategi berusaha untuk mendapat keuntungan dari trend pasaran.

Kelebihan Strategi

  1. Sederhana dan mudah difahami: Strategi ini berdasarkan penunjuk MACD yang digunakan secara meluas, yang mempunyai prinsip yang mudah dan mudah difahami dan dilaksanakan.
  2. Pengesanan trend: Dengan menangkap isyarat salib emas dan salib kematian berturut-turut, strategi dapat mengesan trend utama pasaran, yang membantu mendapat keuntungan dari trend.
  3. Kawalan risiko: Strategi ini membolehkan pengguna menetapkan tahap mengambil keuntungan dan menghentikan kerugian, membantu mengawal risiko dan kerugian yang berpotensi.
  4. Pengujian belakang yang fleksibel: Strategi ini menyediakan pilihan untuk memilih julat masa pengujian belakang, yang membolehkan pengguna menilai prestasi strategi dalam tempoh masa yang berbeza mengikut keperluan.

Risiko Strategi

  1. Sensitiviti parameter: Prestasi penunjuk MACD bergantung pada pemilihan tempoh EMA yang cepat dan perlahan, dan tetapan parameter yang berbeza boleh membawa kepada isyarat perdagangan yang berbeza.
  2. Kebisingan pasaran: Dalam keadaan pasaran yang berayun atau tidak pasti, penunjuk MACD boleh menghasilkan lebih banyak isyarat palsu, yang membawa kepada perdagangan yang kerap dan potensi kerugian.
  3. Trend lag: Indikator MACD adalah penunjuk ketinggalan, dan isyarat perdagangan mungkin muncul selepas trend telah ditubuhkan, kehilangan titik kemasukan terbaik.
  4. Risiko Stop Loss: Jika pasaran turun naik dengan tajam, harga boleh dengan cepat memecahkan tahap stop loss, mengakibatkan kerugian yang lebih besar daripada yang dijangkakan.

Arahan Pengoptimuman Strategi

  1. Gabungkan dengan penunjuk lain: Pertimbangkan untuk menggabungkan penunjuk MACD dengan penunjuk teknikal lain (seperti RSI, Bollinger Bands, dan lain-lain) untuk meningkatkan kebolehpercayaan isyarat dan menapis isyarat palsu.
  2. Pengoptimuman parameter: Melalui pengujian balik dan pengoptimuman tempoh EMA cepat dan perlahan yang berbeza, cari kombinasi parameter yang paling sesuai dengan pasaran dan aset tertentu.
  3. Mengambil keuntungan dinamik dan menghentikan kerugian: Sesuaikan tahap mengambil keuntungan dan menghentikan kerugian secara dinamik berdasarkan turun naik pasaran atau tahap harga untuk menyesuaikan diri dengan perubahan pasaran dan mengawal risiko.
  4. Memperkenalkan pengurusan kedudukan: Sesuaikan saiz kedudukan setiap perdagangan berdasarkan kekuatan isyarat atau keadaan pasaran untuk mengoptimumkan nisbah risiko-balasan.

Ringkasan

Strategi ini berdagang berdasarkan isyarat salib emas dan salib kematian MACD berturut-turut, cuba menangkap titik perubahan dalam trend pasaran. Ia mudah dan mudah difahami, boleh mengesan trend utama, dan menyediakan kawalan risiko dan keupayaan pengujian balik yang fleksibel. Walau bagaimanapun, prestasi strategi mungkin dipengaruhi oleh faktor-faktor seperti pemilihan parameter, bunyi pasaran, dan ketinggalan trend. Untuk meningkatkan lagi, seseorang boleh mempertimbangkan untuk menggabungkannya dengan penunjuk lain, mengoptimumkan parameter, memperkenalkan keuntungan dan stop-loss dinamik, dan pengurusan kedudukan. Secara keseluruhan, strategi ini menyediakan kerangka asas untuk perdagangan trend, tetapi dalam aplikasi praktikal, ia perlu dinilai dengan teliti dan disesuaikan untuk memenuhi keadaan pasaran tertentu dan keutamaan risiko peribadi.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("连续MACD交叉和回测范围")
//策略初始化時間設置
useDateFilter = input.bool(true, title="启用时间回测范围", group="回测范围")
backtestStartDate = input(timestamp("1 Jan 2023"), title="开始时间", group="回测范围")
backtestEndDate = input(timestamp("1 Jan 2024"), title="结束时间", group="回测范围")
inTradeWindow = true

// 定义MACD指标参数
fastLength = input.int(12, "快速EMA周期")
slowLength = input.int(26, "慢速EMA周期")
signalSmoothing = input.int(9, "信号线平滑周期")
long_win = input.float(defval = 0.01,title = "多单止盈设置", tooltip = "0.01代表1%" )
long_lose= input.float(0.01,"多单止损设置")
short_win = input.float(0.01,"空单止盈设置")
short_lose = input.float(0.01,"空单止损设置")

// 计算MACD值
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 定义金叉和死叉的条件
crossUp = ta.crossover(macdLine, signalLine)
crossDown = ta.crossunder(macdLine, signalLine)

// 使用历史状态记录上一次交叉情况
var lastCrossUp = false
var lastCrossDown = false

// 更新历史状态
if crossUp
    lastCrossUp := true
else if crossDown
    lastCrossUp := false

if crossDown
    lastCrossDown := true
else if crossUp
    lastCrossDown := false

// 交易执行逻辑:检查是否存在连续的金叉或死叉
if lastCrossUp and crossUp and inTradeWindow
    strategy.entry("买入开多", strategy.long)
    strategy.exit("买入止盈止损", "买入开多", limit=close * (1 + long_win), stop=close * (1 - long_lose))

if lastCrossDown and crossDown and inTradeWindow
    strategy.entry("卖出开空", strategy.short)
    strategy.exit("卖出止盈止损", "卖出开空", limit=close * (1 - short_win), stop=close * (1 + short_lose))

// 显示MACD线和信号线
plot(macdLine, "MACD线", color=color.blue)
plot(signalLine, "信号线", color=color.orange)


Berkaitan

Lebih lanjut