Strategi pembalikan tren mata uang kripto berdasarkan tertinggi dan terendah PIVOT


Tanggal Pembuatan: 2024-01-12 14:13:36 Akhirnya memodifikasi: 2024-01-12 14:13:36
menyalin: 0 Jumlah klik: 691
1
fokus pada
1617
Pengikut

Strategi pembalikan tren mata uang kripto berdasarkan tertinggi dan terendah PIVOT

Ringkasan

Strategi ini didasarkan pada PIVOT high low dan breakout untuk menilai reversal tren mata uang kripto, dan termasuk dalam kategori strategi reversal breakout. Strategi ini pertama-tama menghitung harga tertinggi dan harga terendah PIVOT dalam beberapa waktu terakhir, dan kemudian menilai apakah harga telah melakukan reversal setelah melewati titik-titik kunci ini untuk menangkap perubahan tren yang besar.

Prinsip Strategi

  1. Perhitungan PIVOT High Low

Menggunakan fungsi ta.pivothigh() dan ta.pivotlow() untuk menghitung harga tertinggi dan harga terendah dari bar tertentu sebagai titik PIVOT utama.

  1. Penghakiman terobosan

Jika harga menembus PIVOT low ke atas, atau menembus PIVOT high ke bawah, maka trend akan berbalik.

  1. Tetapkan kondisi penyaringan

Perlu harga yang lebih besar dari titik PIVOT, dan melewati 150 bar dari harga penutupan, untuk menghindari ditargetkan

  1. Masuk dan keluar

Trigger buy condition untuk melakukan over entry dan trigger sell condition untuk menghapus over entry. Sama halnya dengan menentukan over entry dan over exit.

Analisis Keunggulan

  1. Pivot point adalah titik yang lebih sensitif terhadap perubahan tren besar.
  2. Filter yang efektif untuk masuk ke tren bergoyang, memastikan masuk setelah tren berbalik
  3. Pivot Point adalah titik yang dapat digunakan untuk membalikkan posisi, karena Pivot Point adalah titik yang dapat digunakan untuk membalikkan posisi, dan Pivot Point adalah titik yang dapat digunakan untuk membalikkan posisi.

Analisis risiko

  1. Siklus-siklus besar dapat memicu terjadinya kebocoran strategi
  2. Perlu menyesuaikan panjang titik PIVOT dan kondisi penyaringan untuk memenuhi standar yang berbeda
  3. Perlu memastikan bahwa biaya transaksi di bursa mendekati nol, jika tidak, kerugian akan lebih besar.

Arah optimasi

  1. Kombinasi parameter PIVOT yang berbeda dapat diuji
  2. Stop loss mobile dapat ditambahkan untuk mengendalikan kerugian tunggal
  3. Dapat dikombinasikan dengan indikator lain untuk menilai sinyal filter

Meringkaskan

Strategi ini secara keseluruhan cukup kuat dan cocok untuk menangkap reversal besar. Namun, perlu berhati-hati untuk mengendalikan risiko, menyesuaikan parameter untuk menyesuaikan dengan mata uang yang berbeda.

Kode Sumber Strategi
/*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 Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nkrastins95

//@version=5
strategy("Swing Hi Lo", overlay=true, margin_long=100, margin_short=100)

//-----------------------------------------------------------------------------------------------------------------------//

tf = input.timeframe(title="Timeframe", defval="")

gr="LENGTH LEFT / RIGHT"
leftLenH = input.int(title="Pivot High", defval=10, minval=1, inline="Pivot High",group=gr)
rightLenH = input.int(title="/", defval=10, minval=1, inline="Pivot High",group=gr)
colorH = input(title="", defval=color.red, inline="Pivot High",group=gr)

leftLenL = input.int(title="Pivot Low", defval=10, minval=1, inline="Pivot Low", group=gr)
rightLenL = input.int(title="/", defval=10, minval=1, inline="Pivot Low",group=gr)
colorL = input(title="", defval=color.blue, inline="Pivot Low",group=gr)

//-----------------------------------------------------------------------------------------------------------------------//

pivotHigh(ll, rl) =>
    maxLen = 1000
    float ph = ta.pivothigh(ll, rl)
    int offset = 0
    while offset < maxLen
        if not na(ph[offset])
            break 
        offset := offset + 1
    ph[offset]

pivotLow(ll, rl) =>
    maxLen = 1000
    float pl = ta.pivotlow(ll, rl)
    int offset = 0
    while offset < maxLen
        if not na(pl[offset])
            break 
        offset := offset + 1
    pl[offset]


//-----------------------------------------------------------------------------------------------------------------------//

ph = request.security(syminfo.tickerid, tf, pivotHigh(leftLenH, rightLenH), barmerge.gaps_off, barmerge.lookahead_on)
pl = request.security(syminfo.tickerid, tf, pivotLow(leftLenL, rightLenL), barmerge.gaps_off, barmerge.lookahead_on)

drawLabel(_offset, _pivot, _style, _color) =>
    if not na(_pivot)
        label.new(bar_index[_offset], _pivot, str.tostring(_pivot, format.mintick), style=_style, color=_color, textcolor=#131722)

//-----------------------------------------------------------------------------------------------------------------------//

VWAP = ta.vwap(ohlc4)

longcondition = ta.crossunder(close,pl) and close > close[150]
exitcondition = close > ph

shortcondition = ta.crossover(close,ph) and close < close[150]
covercondition = close < pl

strategy.entry("long", strategy.long, when = longcondition)
strategy.close("long", when = exitcondition)

strategy.entry("Short", strategy.short, when = shortcondition)
strategy.close("Short", when = covercondition)