Strategi Pelacakan Pembalikan Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2023-12-07 17:40:12 Akhirnya memodifikasi: 2023-12-07 17:40:12
menyalin: 0 Jumlah klik: 615
1
fokus pada
1621
Pengikut

Strategi Pelacakan Pembalikan Rata-rata Pergerakan Ganda

Gagasan utama dari strategi ini adalah menggunakan moving averages sebagai sinyal jual beli, dengan kombinasi cara harga menembus dua garis rata untuk melakukan posisi dan stop loss. Strategi ini menghasilkan sinyal beli ketika garis rata-rata jangka pendek melewati garis rata-rata jangka panjang; menghasilkan sinyal jual ketika garis rata-rata jangka pendek melewati garis rata-rata jangka panjang.

Kebijakan ini bekerja secara rinci sebagai berikut:

  1. Perhitungan rata-rata bergerak sederhana jangka pendek dan rata-rata bergerak sederhana jangka panjang.

  2. Perbandingan apakah harga lebih tinggi atau lebih rendah dari rata-rata bergerak, dengan harga di atas rata-rata bergerak sebagai kepala ganda, harga di bawah rata-rata bergerak sebagai kepala kosong berdasarkan penilaian.

  3. Lakukan lebih banyak saat memakai garis rata-rata panjang pada garis rata-rata pendek; kosongkan saat memakai garis rata-rata panjang di bawah garis rata-rata pendek.

  4. Ini adalah cara untuk mengganti posisi kosong.

Keuntungan utama dari strategi ini adalah:

  1. Strategi biner ini menggabungkan trend tracking dan reversal trading, yang bertujuan untuk melacak tren pasar dan menangkap peluang reversal.

  2. Forklift dengan garis lurus memiliki daya tahan tertentu, sehingga dapat secara efektif menghilangkan penembusan palsu.

  3. Menggunakan teori garis rata-rata untuk mengunci keuntungan di tengah-tengah perubahan tren.

Risiko utama dari strategi ini adalah:

  1. Strategi biner adalah sensitif terhadap parameter, dan pengaturan parameter moving average yang tidak tepat dapat menyebabkan perdagangan yang sering atau kehilangan peluang.

  2. Kegagalan penembusan dapat menyebabkan kerugian, dan penghentian kerugian yang efektif diperlukan untuk mengendalikan risiko.

  3. Jika terjadi perubahan tren, itu tidak selalu berhasil, dan kemungkinan besar akan terus berlanjut dengan kerugian.

Strategi ini bertujuan untuk mengoptimalkan:

  1. Untuk menguji dan mengoptimalkan parameter moving average untuk menemukan kombinasi parameter yang optimal.

  2. Menambahkan indikator untuk menilai tren, membedakan tren dan pasar yang bergoyang.

  3. Menambahkan stop loss yang efektif untuk mengendalikan risiko, seperti menelusuri stop loss, memasang stop loss, dan lain-lain.

  4. Kombinasi dengan indikator lain untuk meningkatkan stabilitas strategi.

Secara keseluruhan, strategi ini merupakan strategi pelacakan berbalik dua garis lurus, dengan mempertimbangkan pelacakan tren dan perdagangan berbalik, dengan optimasi parameter dan pengendalian risiko, dapat memperoleh hasil yang lebih baik. Namun, strategi apa pun dapat menghadapi risiko kesalahan penilaian arah, kegagalan stop loss, dan lain-lain.

Kode Sumber Strategi
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 10m
basePeriod: 1m
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/
// © HPotter
//  Simple SMA strategy
//
// WARNING:
//      - For purpose educate only
//      - This script to change bars colors
//@version=4
strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
         iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig = iff(reverse and pos == 1, -1,
           iff(reverse and pos == -1, 1, pos))
if (possig == 1)
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)
if (possig == 0)
    strategy.close_all()
nColor = BarColors ? possig == -1 ? color.red : possig == 1 ? color.green : color.blue : na 
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)