Strategi perdagangan kitaran berasaskan trend


Tarikh penciptaan: 2023-11-17 17:05:11 Akhirnya diubah suai: 2023-11-17 17:05:11
Salin: 0 Bilangan klik: 551
1
fokus pada
1617
Pengikut

Strategi perdagangan kitaran berasaskan trend

Gambaran keseluruhan

Strategi perdagangan pusingan berdasarkan trend adalah strategi perdagangan kuantitatif yang menilai arah trend berdasarkan purata bergerak mudah 200 hari. Strategi ini menawarkan dua mod “mengikuti trend naik” dan “mengikuti trend turun” yang boleh dipilih mengikut keutamaan peniaga.

Prinsip Strategi

Penunjuk teras strategi ini adalah purata bergerak mudah 200 hari. Strategi ini terbahagi kepada dua mod:

  1. Mengikuti corak trend naik: melakukan lebih banyak apabila harga penutupan lebih tinggi daripada purata bergerak 200 hari; meletak jawatan apabila stop loss atau stop loss dicetuskan.

  2. Mengikuti corak trend menurun: melakukan lebih banyak apabila harga penutupan berada di bawah purata bergerak 200 hari; melonggarkan kedudukan apabila stop loss atau stop loss dicetuskan.

Melanjutkan dengan beberapa syaratlongConditionDefinisi pembolehubah, berdasarkan hubungan antara harga penutupan dan purata bergerak 200 hari. Syarat penutupan diluluskancloseConditionDefinisi pembolehubah, berdasarkan hubungan antara stop loss, harga stop loss dan purata bergerak

Secara khusus, jika syarat-syarat untuk melakukan lebih banyak perkara dipenuhi, maka ia boleh diterima.strategy.entryMenerima tawaran untuk membuka lebih banyak kedudukan; menerima tawaran untuk membuka lebih banyak kedudukanstrategy.exitPelan-pelan.

Kelebihan Strategik

Strategi ini mempunyai kelebihan berikut:

  1. Logik urus niaga yang jelas dan mudah difahami.

  2. Terdapat dua pilihan model yang boleh dipilih, yang sesuai dengan keadaan pasaran yang berbeza.

  3. Ciri-ciri risiko dan keuntungan yang boleh disesuaikan dengan strategi penyesuaian stop loss dan stop loss.

  4. Menggunakan petunjuk teknikal yang terkenal, rata-rata bergerak 200 hari untuk menentukan arah trend.

  5. Menjana isyarat perdagangan secara automatik, tanpa campur tangan manusia, mengurangkan risiko operasi.

Risiko Strategik

Strategi ini juga mempunyai risiko:

  1. Terlalu bergantung pada satu petunjuk teknikal, mudah menghasilkan isyarat yang salah. Anda boleh mempertimbangkan untuk menambah petunjuk lain untuk pengesahan, seperti MACD, KDJ dan sebagainya.

  2. Hentikan dan hentikan terlalu kecil, mudah ditutup oleh turun naik pasaran; terlalu besar, mungkin terlepas titik keluar yang ideal. Parameter harus diuji dan dioptimumkan dengan sewajarnya.

  3. Menggunakan kaedah isyarat penilaian berdasarkan harga penutupan, terdapat bias bullish / bearish. Anda boleh mempertimbangkan untuk mengubahnya menjadi penilaian entiti berdasarkan K-line atau mengesahkan K-line seterusnya selepas isyarat dihasilkan.

  4. Tidak mengambil kira kesan yuran urus niaga.

Pengoptimuman Strategi

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Tambah isyarat pengesahan petunjuk teknikal lain untuk mengelakkan isyarat yang salah. Contohnya, isyarat MACD.

  2. Mengoptimumkan parameter stop-loss untuk mencari kombinasi parameter terbaik. Perbandingan boleh dilakukan dengan mengkaji semula pelbagai set parameter.

  3. Menambah penapis trend, hanya berdagang apabila trend jelas. Sebagai contoh, memperkenalkan penunjuk ADX.

  4. Ubah cara masuk ke padang, pertimbangkan hubungan entiti K-Line atau sertai mekanisme pengesahan.

  5. Mengambil kira kesan jumlah transaksi. Memastikan kebolehpercayaan isyarat apabila terdapat banyak transaksi.

  6. Uji parameter purata bergerak yang berbeza untuk mencari parameter yang optimum.

ringkaskan

Secara keseluruhannya, strategi ini jelas dan mudah difahami, dan mempunyai nilai praktikal tertentu. Tetapi hanya bergantung pada satu indikator terdapat kawasan buta tertentu, perlu menambah lebih banyak kriteria penilaian untuk disahkan, dan perlu melakukan pengoptimuman ujian parameter, untuk mendapatkan kesan yang lebih baik di pasaran nyata.

Kod 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)