Rasio Emas Strategi Perdagangan Trend Pembalikan

Penulis:ChaoZhang, Tarikh: 2023-12-07 11:03:20
Tag:

img

Ringkasan

Strategi perdagangan trend pembalikan purata golden ratio mengenal pasti arah trend yang lebih kuat menggunakan penunjuk saluran dan purata bergerak, dan membuka kedudukan dalam arah trend selepas harga menarik balik kepada nisbah tertentu. Strategi ini sesuai untuk pasaran dengan ciri trend yang lebih kuat dan boleh berfungsi dengan baik di pasaran trend.

Logika Strategi

Penunjuk teras strategi ini termasuk penunjuk saluran, purata bergerak dan garis pencetus tarik balik.

  1. Penunjuk saluran dikira dari tertinggi tertinggi dan terendah terendah untuk mengenal pasti saluran harga.
  2. Purata bergerak digunakan untuk menentukan arah trend keseluruhan harga.
  3. Garis pencetus pulback kemudian membuka kedudukan selepas harga melantun kembali dari sempadan saluran dengan nisbah tertentu.

Apabila harga menyentuh bahagian bawah saluran, strategi mencatat titik terendah sebagai titik rujukan dan menetapkan isyarat jual. Apabila harga naik, sebaik sahaja kenaikan mencapai nisbah pulback, kedudukan pendek akan dibuka di sekitar titik kebangkitan.

Sebaliknya, apabila harga mencapai bahagian atas saluran, strategi mencatat titik tertinggi sebagai titik rujukan dan menetapkan isyarat beli. Apabila harga jatuh, jika penurunan memenuhi keperluan nisbah pulback, kedudukan panjang dibuka di sekitar titik itu.

Oleh itu, logik perdagangan strategi ini adalah untuk mengesan saluran harga dan campur tangan dalam trend sedia ada apabila isyarat pembalikan muncul.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Ia boleh berfungsi dengan baik di pasaran yang kuat.
  2. Keganasan memasuki perdagangan boleh diselaraskan melalui parameter nisbah pulback.
  3. Kawalan pengeluaran yang munasabah boleh mengehadkan kerugian perdagangan tunggal.

Secara khusus, kerana strategi ini terutamanya membuka kedudukan pada titik pembalikan trend, ia berfungsi dengan lebih baik di pasaran dengan turun naik harga yang lebih besar dan trend yang lebih jelas. Di samping itu, menyesuaikan parameter nisbah pulback dapat mengawal tahap agresif strategi untuk mengikuti trend. Akhirnya, stop loss dapat mengawal kerugian perdagangan tunggal dengan sangat baik.

Analisis Risiko

Risiko utama strategi ini juga termasuk:

  1. Strategi ini sensitif terhadap ciri trend instrumen dagangan.
  2. Tetapan nisbah pulback yang tidak betul boleh menyebabkan terlalu agresif atau terlalu konservatif.
  3. Masa memegang kedudukan mungkin terlalu lama, risiko semalam memerlukan perhatian.

Secara khusus, jika instrumen perdagangan yang digunakan dalam strategi mempunyai trend yang lemah dan turun naik yang lebih kecil, prestasi mungkin terganggu. Di samping itu, nisbah pulback yang terlalu besar atau terlalu kecil akan mempengaruhi prestasi strategi. Akhirnya, kerana jangka masa memegang kedudukan strategi mungkin lebih lama, kawalan risiko semalam juga memerlukan perhatian.

Untuk mengelakkan risiko di atas, pertimbangkan untuk mengoptimumkan aspek berikut:

  1. Pilih instrumen dagangan dengan ciri-ciri trend yang lebih jelas.
  2. Sesuaikan parameter nisbah tarik balik untuk mencari kombinasi parameter terbaik.
  3. Tetapkan keuntungan mengambil keluar untuk mengawal masa penahan dengan munasabah.

Kesimpulan

Rasio emas bermaksud strategi perdagangan trend pembalikan menilai trend harga dan isyarat tarik balik melalui penunjuk mudah, membuka kedudukan untuk mengesan trend di pasaran yang kuat, dan tergolong dalam sistem trend biasa. Strategi ini mempunyai ruang penyesuaian parameter yang besar, dapat menyesuaikan diri dengan lebih banyak persekitaran pasaran melalui pengoptimuman, dan kawalan risiko juga munasabah. Oleh itu, ia adalah idea strategi yang patut disahkan dan diperbaiki dalam perdagangan langsung.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//
// A port of the TradeStation EasyLanguage code for a mean-revision strategy described at
//     http://traders.com/Documentation/FEEDbk_docs/2017/01/TradersTips.html
//
// "In “Mean-Reversion Swing Trading,” which appeared in the December 2016 issue of STOCKS & COMMODITIES, author Ken Calhoun
//  describes a trading methodology where the trader attempts to enter an existing trend after there has been a pullback. 
//  He suggests looking for 50% pullbacks in strong trends and waiting for price to move back in the direction of the trend
//  before entering the trade."
//
//  See Also:
//    - 9 Mistakes Quants Make that Cause Backtests to Lie (https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/)
//    - When Backtests Meet Reality (http://financial-hacker.com/Backtest.pdf)
//    - Why MT4 backtesting does not work (http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020)
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy("Mean-Reversion Swing Trading Strategy v1", shorttitle="MRST Strategy v1", overlay=true)
channel_len  = input(defval=20, title="Channel Period", minval=1)
pullback_pct = input(defval=0.5, title="Percent Pull Back Trigger", minval=0.01, maxval=1, step=0.01)
trend_filter_len = input(defval=50, title="Trend MA Period", minval=1)


upper_band = highest(high, channel_len)
lower_band = lowest(low, channel_len)
trend      = sma(close, trend_filter_len)

low_ref  = 0.0
low_ref  :=  nz(low_ref[1])
high_ref = 0.0
high_ref := nz(high_ref[1])
long_ok  = false
long_ok  := nz(long_ok[1])
short_ok = false
short_ok := nz(short_ok[1])
long_ok2 = false
long_ok2  := nz(long_ok2[1])

if (low == lower_band)
    low_ref  := low
    long_ok  := false
    short_ok := true
    long_ok2 := false

if (high == upper_band)
    high_ref := high
    long_ok  := true
    short_ok := false
    long_ok2  := true

// Pull Back Level
trigger = long_ok2 ? high_ref - pullback_pct * (high_ref - low_ref) : low_ref + pullback_pct * (high_ref - low_ref)

plot(upper_band, title="Upper Band", color=long_ok2?green:red)
plot(lower_band, title="Lower Band", color=long_ok2?green:red)
plot(trigger, title="Trigger", color=purple)
plot(trend, title="Trend", color=orange)

enter_long = long_ok[1] and long_ok and crossover(close, trigger) and close > trend and strategy.position_size <= 0
enter_short = short_ok[1] and short_ok and crossunder(close, trigger) and close < trend and strategy.position_size >= 0

if (enter_long)
    long_ok := false
    strategy.entry("pullback-long", strategy.long, stop=close, comment="pullback-long")
else
    strategy.cancel("pullback-long")

if (enter_short)
	short_ok := false
    strategy.entry("pullback-short", strategy.short, stop=close, comment="pullback-short")
else
    strategy.cancel("pullback-short")

strategy.exit("exit-long", "pullback-long", limit=upper_band, stop=lower_band)
strategy.exit("exit-short", "pullback-short", limit=lower_band, stop=upper_band)


Lebih lanjut