Trend kedudukan kitaran mengikut strategi

Penulis:ChaoZhang, Tarikh: 2023-11-17 17:05:11
Tag:

img

Ringkasan

Siklus Posisi Trend Following Strategy adalah strategi perdagangan kuantitatif yang menentukan arah trend berdasarkan Purata Bergerak Sederhana (SMA) 200 hari. Ia menyediakan dua mod - Ikuti Uptrend dan Ikuti Downtrend untuk pedagang memilih mengikut pilihan mereka. Strategi ini membolehkan pedagang menyesuaikan stop loss dan mengambil tahap keuntungan untuk fleksibiliti yang lebih besar.

Bagaimana Strategi Berfungsi

Indikator teras strategi ini adalah SMA 200 hari. Strategi ini mempunyai dua mod:

  1. Mengikuti Uptrend Mode: Pergi panjang apabila penutupan berada di atas SMA 200 hari; kedudukan penutupan apabila stop loss atau mengambil keuntungan dicetuskan.

  2. Mengikuti Mod Downtrend: Pergi panjang apabila penutupan di bawah SMA 200 hari; kedudukan penutupan apabila stop loss atau mengambil keuntungan dicetuskan.

Keadaan panjang ditakrifkan dalamlongConditionpemboleh ubah berdasarkan hubungan harga penutupan dengan SMA 200 hari.closeConditionpembolehubah berdasarkan stop loss, mengambil keuntungan dan SMA.

Secara khusus,strategy.entrydigunakan untuk membuka kedudukan panjang apabila syarat panjang dipenuhi.strategy.exitdigunakan untuk menutup kedudukan apabila keadaan menutup diaktifkan.

Kelebihan Strategi

Kelebihan strategi ini termasuk:

  1. Logik yang mudah difahami.

  2. Menyediakan dua mod pilihan untuk memenuhi persekitaran pasaran yang berbeza.

  3. Stop loss dan mengambil keuntungan yang boleh disesuaikan membolehkan penyesuaian profil risiko-balasan.

  4. Menggunakan penunjuk SMA 200 hari yang terkenal untuk menentukan arah trend.

  5. Menghasilkan isyarat perdagangan automatik tanpa campur tangan manual.

Risiko Strategi

Risiko strategi ini termasuk:

  1. Terlalu bergantung pada satu indikator, cenderung kepada isyarat palsu.

  2. Hentikan kerugian dan ambil tahap keuntungan yang terlalu ketat atau terlalu luas boleh membawa kepada hentian awal atau kehilangan titik keluar yang ideal. Parameter memerlukan ujian dan pengoptimuman yang betul.

  3. Menggunakan harga dekat untuk isyarat mempunyai kecenderungan harga penutupan. Pertimbangkan untuk menggunakan badan lilin atau menambah pengesahan isyarat.

  4. Tidak memperhitungkan kos dagangan. Perlu menyimpan kos apabila pergi hidup.

Cara Untuk Meningkatkan Strategi

Beberapa cara untuk meningkatkan strategi:

  1. Tambah penunjuk lain untuk mengesahkan isyarat dan mengelakkan isyarat palsu, contohnya MACD.

  2. Mengoptimumkan parameter stop loss dan mengambil keuntungan untuk mencari kombinasi optimum melalui backtesting.

  3. Tambah penapis trend untuk hanya berdagang dalam trend yang ditakrifkan dengan baik, contohnya ADX.

  4. Meningkatkan kaedah kemasukan dengan mempertimbangkan badan lilin atau menambah pengesahan.

  5. Pertimbangkan jumlah dagangan untuk mengesahkan kebolehpercayaan isyarat.

  6. Uji tempoh SMA yang berbeza untuk mencari parameter optimum.

Kesimpulan

Kesimpulannya, strategi ini mempunyai logik yang jelas dan mudah difahami dengan nilai praktikal. Tetapi bergantung pada satu penunjuk mempunyai batasan. Lebih banyak syarat harus ditambah untuk pengesahan. Parameter juga perlu diuji dan dioptimumkan untuk prestasi langsung yang lebih baik.


/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L

//@version=5
strategy("Cycle Position Trading", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false)

// Input for selecting the mode
mode = input.string("Buy Uptrend", options = ["Buy Uptrend", "Buy Downtrend"])

// Input for customizing stop loss and take profit levels
stopLoss = input.float(0.9, title="Stop Loss (SL) level", step=0.01)
takeProfit = input.float(1.1, title="Take Profit (TP) level", step=0.01)

// Calculate the 200-day Simple Moving Average (SMA)
sma = ta.sma(close, 200)

// Plot the SMA on the chart
plot(sma)

// Define the conditions for entering a long position based on the selected mode
longCondition = mode == "Buy Uptrend" ? close > sma and close[5] > sma : close < sma

// Define the conditions for closing a position based on the selected mode
closeCondition = mode == "Buy Uptrend" ? (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close < sma * 0.95) : (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close > sma * 1.05)

// Execute a long position if the longCondition is met
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

// Close the position if the closeCondition is met
if (closeCondition)
    strategy.exit("Exit", limit = close)


Lebih lanjut