Sumber dimuat naik... memuat...

Strategi MACD Lanjutan dengan Martingale Terhad

Penulis:ChaoZhang, Tarikh: 2024-06-03 10:43:00
Tag:MACDATR

img

Ringkasan

Strategi ini menggabungkan penunjuk MACD dan kaedah pengurusan wang Martingale untuk menangkap pergerakan pasaran trend sambil mengawal risiko. Strategi ini menggunakan persilangan garis cepat MACD dan garis perlahan sebagai isyarat perdagangan, dan mengamalkan sebilangan pendekatannya Martingale untuk mengawal saiz kedudukan. Apabila perdagangan yang rugi berlaku, strategi akan menggandakan jumlah kontrak untuk perdagangan seterusnya, sehingga maksimum tiga kali, untuk memulihkan kerugian sebelumnya. Pada masa yang sama, strategi menetapkan syarat mengambil keuntungan dan berhenti kerugian untuk mengawal risiko lebih lanjut.

Prinsip Strategi

  1. Gunakan persilangan garis pantas MACD (periode lalai 12) dan garis perlahan (periode lalai 26) sebagai isyarat perdagangan. Pergi panjang apabila garis pantas melintasi di atas garis perlahan, dan pergi pendek apabila garis pantas melintasi di bawah garis perlahan.
  2. Jumlah kontrak awal adalah 0.02. Apabila perdagangan yang rugi berlaku, menggandakan jumlah kontrak untuk perdagangan seterusnya, sehingga maksimum tiga kali. Jika keuntungan tidak dicapai selepas tiga kali ganda, atur semula jumlah kontrak kepada nilai awal 0.02.
  3. Tetapkan syarat mengambil keuntungan: Untuk kedudukan panjang, tutup kedudukan apabila harga meningkat 1.5% di atas harga masuk; untuk kedudukan pendek, tutup kedudukan apabila harga jatuh 1% di bawah harga masuk.
  4. Tetapkan syarat stop-loss: Untuk kedudukan panjang, tutup kedudukan apabila harga jatuh 1% di bawah harga masuk; untuk kedudukan pendek, tutup kedudukan apabila harga naik 1% di atas harga masuk.

Kelebihan Strategi

  1. Dengan menggabungkan penunjuk trend MACD dan kaedah pengurusan wang Martingale, strategi ini boleh mendapat keuntungan dari pasaran trend sambil mengawal penarikan.
  2. Strategi ini menggunakan pendekatan Martingale yang terhad, mengelakkan risiko leverage tanpa had.
  3. Syarat mengambil keuntungan dan hentian kerugian yang jelas ditetapkan, mengendalikan risiko lebih lanjut.
  4. Logik kod adalah jelas dan mudah difahami dan dilaksanakan.

Risiko Strategi

  1. Walaupun kaedah Martingale mengehadkan jumlah leverage, masih ada risiko leverage yang berlebihan, yang membawa kepada kerugian besar.
  2. Indikator MACD boleh menyimpang dari harga, menyebabkan isyarat perdagangan menjadi tidak sah.
  3. Nisbah keuntungan dan hentian kerugian yang tetap mungkin tidak disesuaikan dengan keadaan pasaran yang berbeza, mengakibatkan pengambilan keuntungan atau hentian kerugian yang lebih awal.

Arahan Pengoptimuman Strategi

  1. Pertimbangkan penyesuaian dinamik nisbah leverage Martingale dan bilangan kali berdasarkan turun naik pasaran semasa dan toleransi risiko akaun.
  2. Gabungkan penunjuk teknikal lain seperti RSI dan Bollinger Bands dengan isyarat MACD untuk membentuk isyarat perdagangan yang lebih boleh dipercayai.
  3. Mengguna pakai kaedah mengambil keuntungan dan menghentikan kerugian yang beradaptasi, seperti mengambil keuntungan dan menghentikan kerugian berdasarkan ATR, atau menyesuaikan nisbah mengambil keuntungan dan menghentikan kerugian secara dinamik berdasarkan trend pasaran dan turun naik.
  4. Memperkenalkan modul pengurusan kedudukan untuk menyesuaikan saiz kedudukan setiap perdagangan secara dinamik berdasarkan faktor seperti baki akaun dan toleransi risiko.

Ringkasan

Dengan menggabungkan penunjuk MACD dan kaedah pengurusan wang Martingale, strategi ini bertujuan untuk mendapat keuntungan daripada pasaran yang sedang berkembang sambil mengawal risiko. Logik strategi jelas dan mudah dilaksanakan, tetapi masih ada risiko yang berkaitan dengan levaran Martingale dan batasan nisbah keuntungan dan stop-loss tetap. Pada masa akan datang, strategi dapat dioptimumkan dengan menyesuaikan pendekatan levaran secara dinamik, mengoptimumkan isyarat perdagangan, mengamalkan kaedah mengambil keuntungan dan stop-loss yang adaptif, dan melaksanakan pengurusan kedudukan untuk meningkatkan ketahanan dan keuntungan strategi.


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

//@version=5
strategy("Advanced MACD Strategy with Limited Martingale", overlay=true, initial_capital=500)

// MACD 설정 변경
fastLength = 15
slowLength = 30
signalSmoothing = 9
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 계약수 및 이전 거래 결과 기록
var float contractSize = 0.02 // 계약 수를 0.05로 시작
var int martingaleCount = 0 // 마틴게일 카운트
var float lastTradeResult = 0

// 매수 및 매도 조건
longCondition = ta.crossover(macdLine, signalLine)
shortCondition = ta.crossunder(macdLine, signalLine)

// 매수 신호
if (longCondition)
    strategy.entry("Long", strategy.long, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 매도 신호
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 익절 및 손절 조건
strategy.close("Long", when=(close / strategy.position_avg_price >= 1.015))
strategy.close("Short", when=(strategy.position_avg_price / close >= 1.01))
strategy.close("Long", when=(close / strategy.position_avg_price <= 0.99))
strategy.close("Short", when=(strategy.position_avg_price / close <= 0.99))

// 마틴게일 전략 적용
if (strategy.netprofit < lastTradeResult)
    if (martingaleCount < 3)
        contractSize := contractSize * 2
        martingaleCount := martingaleCount + 1
    else
        contractSize := 0.02 // 리셋 할 때 0.05로 리셋
        martingaleCount := 0
else
    contractSize := 0.02 // 초기화
    martingaleCount := 0

// 매수, 매도 포인트 화살표로 표시
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

Berkaitan

Lebih lanjut