
Strategi ini adalah strategi perdagangan kuantitatif MACD yang mudah dan cekap, yang direka khas untuk pasaran cryptocurrency, yang sesuai untuk perdagangan dalam jangka masa yang lebih tinggi, seperti 1 jam, 4 jam, 1 hari, dan sebagainya. Strategi ini menggunakan indikator MACD untuk menentukan arah trend pasaran, dan digabungkan dengan purata bergerak sederhana untuk menghasilkan isyarat perdagangan.
Strategi ini menggunakan indikator MACD untuk menentukan trend pasaran dan menghasilkan isyarat dagangan. MACD terdiri daripada garis cepat, garis lambat dan tiang MACD. Garis cepat adalah purata bergerak jangka pendek, tiang perlahan adalah purata bergerak jangka panjang.
Ini adalah strategi yang sangat mudah dan berkesan, dan kelebihan utamanya ialah:
Menggunakan MACD untuk menentukan arah pasaran, yang merupakan satu petunjuk analisis teknikal yang boleh dipercayai dan boleh digunakan untuk menentukan trend dengan tepat;
Penapisan isyarat yang digabungkan dengan purata bergerak mudah dapat mengelakkan isyarat palsu dan meningkatkan ketepatan isyarat;
MACD paling berkesan dalam pasaran yang sangat bergolak seperti cryptocurrency;
Logik strategi mudah difahami, mudah difahami dan dilaksanakan, ambang yang rendah dan mudah digunakan;
Ia boleh beroperasi dalam kitaran masa yang lebih tinggi, yang dapat mengurangkan frekuensi transaksi, mengurangkan kos transaksi dan kesan titik slippage.
Namun, strategi ini juga mempunyai risiko, terutamanya dalam beberapa aspek:
Menggunakan purata bergerak mudah sebagai penapis isyarat, yang mungkin terlepas masa masuk yang terbaik dalam keadaan tertentu;
Tidak menggunakan strategi stop-loss yang boleh menyebabkan kerugian tunggal yang besar kepada akaun;
Ia mungkin akan menghasilkan isyarat kelewatan dan isyarat palsu yang menyebabkan kerugian yang tidak perlu;
Tidak mengambil kira kesan masa dan kekerapan dagangan terhadap keuntungan.
Semua risiko ini memerlukan strategi yang lebih baik dan lebih optimum.
Berdasarkan analisis risiko di atas, strategi ini boleh dioptimumkan lebih jauh dalam beberapa arah:
Mencuba pelbagai parameter dan kombinasi penunjuk untuk mencari parameter terbaik;
Menambah strategi hentian dan hentian untuk mengehadkan kerugian tunggal;
Mengoptimumkan pilihan masa masuk, menetapkan kaedah pengesahan isyarat yang lebih ketat untuk memastikan isyarat berkesan;
Pertimbangkan kesan masa dan kekerapan dagangan yang berbeza terhadap tahap keuntungan keseluruhan.
Dengan mengoptimumkan beberapa arah ini, kita dapat meningkatkan kestabilan, keuntungan dan kebolehpercayaan strategi ini.
Secara keseluruhannya, ini adalah strategi perdagangan MACD yang sangat bernilai dalam pertempuran. Ia mudah, cekap, dan mudah dilaksanakan, sangat sesuai untuk mereka yang ingin cepat masuk ke perdagangan kuantitatif. Strategi ini juga mempunyai ruang pengoptimuman yang besar, dengan ujian pengoptimuman berterusan, ia boleh menjadi strategi kuantitatif yang stabil dan cekap, sesuai untuk operasi jangka panjang.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © SoftKill21
//@version=4
strategy("MACD crypto strategy", overlay=true)
// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
longcondition = hist > 0
shortcondition = hist < 0
//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")
strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)
//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)
//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick,alert_message = "closeshort")
// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)