Strategi perdagangan siklus berbasis tren


Tanggal Pembuatan: 2023-11-17 17:05:11 Akhirnya memodifikasi: 2023-11-17 17:05:11
menyalin: 0 Jumlah klik: 551
1
fokus pada
1617
Pengikut

Strategi perdagangan siklus berbasis tren

Ringkasan

Strategi perdagangan siklus berbasis tren adalah strategi perdagangan kuantitatif yang menilai arah tren berdasarkan rata-rata bergerak sederhana 200 hari. Strategi ini menawarkan dua mode “mengikuti tren naik” dan “mengikuti tren turun” yang dapat dipilih sesuai dengan preferensi pedagang. Strategi ini memungkinkan pedagang untuk menyesuaikan stop loss dan stop loss, memberikan fleksibilitas yang lebih besar.

Prinsip Strategi

Indikator utama dari strategi ini adalah 200-day simple moving average. Strategi ini dibagi menjadi dua mode:

  1. Mengikuti pola tren naik: melakukan over trade ketika harga close out lebih tinggi dari rata-rata bergerak 200 hari; posisi kosong ketika stop loss atau stop loss dipicu.

  2. Pelacakan pola tren turun: melakukan over trade ketika harga close out di bawah 200-day moving average; posisi terendah ketika stop loss atau stop loss dipicu.

Membuat banyak kondisi untuk luluslongConditionDefinisi variabel, berdasarkan hubungan harga penutupan dan rata-rata bergerak 200 hari.closeConditionDefinisi variabel berdasarkan hubungan antara stop loss, stop loss, dan moving average.

Secara khusus, jika memenuhi beberapa persyaratan, maka akan disetujuistrategy.entryJika kondisi posisi terbuka, maka akan disetujuistrategy.exitTidak ada.

Keunggulan Strategis

Strategi ini memiliki keuntungan sebagai berikut:

  1. Logika transaksi yang sederhana dan jelas, mudah dipahami dan diterapkan.

  2. Ada dua pilihan model yang tersedia, yang dapat dipilih sesuai dengan kondisi pasar yang berbeda.

  3. Karakteristik risiko-penghasilan yang dapat disesuaikan dengan strategi stop loss dan stop loss.

  4. Menggunakan indikator teknis yang dikenal luas, rata-rata bergerak 200 hari, untuk menentukan arah tren.

  5. Generasi sinyal perdagangan otomatis, tanpa intervensi manusia, mengurangi risiko operasi.

Risiko Strategis

Strategi ini juga memiliki risiko sebagai berikut:

  1. Terlalu bergantung pada satu indikator teknis, mudah menghasilkan sinyal yang salah. Anda dapat mempertimbangkan untuk menambahkan indikator lain untuk verifikasi, seperti MACD, KDJ, dll.

  2. Stop loss dan stop loss terlalu kecil, mudah terganggu oleh fluktuasi pasar; terlalu besar, mungkin kehilangan titik keluar yang ideal. Parameter harus diuji dan dioptimalkan dengan tepat.

  3. Dengan menggunakan metode sinyal berdasarkan harga close out, ada bias bullish / bearish. Anda dapat mempertimbangkan untuk mengubahnya menjadi penilaian entitas berdasarkan K-line atau konfirmasi K-line berikutnya setelah sinyal dihasilkan.

  4. Efek dari biaya transaksi tidak diperhitungkan.

Optimasi Strategi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Tambahkan sinyal verifikasi indikator teknis lainnya untuk menghindari sinyal kesalahan. Misalnya indikator MACD.

  2. Optimalkan parameter stop loss untuk menemukan kombinasi optimal. Perbandingan dapat dilakukan dengan mengevaluasi kembali parameter multiset.

  3. Menambahkan filter tren, hanya berdagang saat tren jelas. Misalnya, memperkenalkan indikator ADX.

  4. Mengubah cara masuk ke lapangan, mempertimbangkan hubungan entitas K-line atau bergabung dengan mekanisme konfirmasi.

  5. Mengingat dampak volume transaksi. Memverifikasi keandalan sinyal ketika terjadi banyak transaksi.

  6. Uji berbagai parameter moving average untuk mencari parameter optimal.

Meringkaskan

Secara keseluruhan, strategi ini jelas dan mudah dimengerti, dan memiliki nilai praktis tertentu. Namun, hanya bergantung pada satu indikator ada zona buta tertentu, perlu menambahkan lebih banyak kriteria penilaian untuk verifikasi, juga perlu melakukan optimasi pengujian parameter, untuk mendapatkan hasil yang lebih baik di real-time. Selain itu, perlu juga memperhatikan dampak dari biaya transaksi seperti slippage dan biaya prosedur di real-time.

Kode Sumber Strategi
/*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)