Strategi dagangan jangka pendek berdasarkan aliran mengikut


Tarikh penciptaan: 2023-09-27 16:56:34 Akhirnya diubah suai: 2023-09-27 16:56:34
Salin: 0 Bilangan klik: 666
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini melakukan perdagangan garis pendek dengan kawalan kerugian dengan mengenal pasti trend yang kuat dan peluang yang baik. Strategi ini menjejaki harga untuk memecahkan isyarat trend daripada purata bergerak sederhana, menghentikan berhenti kerugian tepat pada masanya apabila RSI melampaui kawasan jual beli, dan menangkap penurunan harga jangka pendek.

Prinsip Strategi

  1. Hitung purata bergerak sederhana pelbagai kitaran

    • SMA yang menetapkan garis 9, 50 dan 100 hari

    • Garis pusingan pendek melalui garis pusingan panjang untuk menentukan arah trend

  2. Indeks RSI menilai kelebihan beli dan kelebihan jual

    • Tetapkan RSI kepada 14 kitaran

    • RSI lebih tinggi daripada 70 adalah overbought dan lebih rendah daripada 30 adalah oversold

  3. Masuk apabila harga melepasi garis 9 hari

    • Harga lebih tinggi apabila ia melampaui garis 9 hari

    • Harga turun ke bawah garis 9 hari dan kosong

  4. RSI berpatah balik dari pembentukan Hentian Hentian

    • RSI bertolak ansur dengan harga

    • RSI berhenti apabila parameter yang ditetapkan

Analisis kelebihan

  • Menjejaki trend jangka pendek, sesuai untuk perdagangan frekuensi tinggi

  • Portfolio purata bergerak menilai arah trend, mengelakkan perdagangan yang salah

  • RSI menunjukkan masa yang tepat untuk mengawal risiko

  • Fleksibiliti Stop Loss, Lock Short Line untuk Keuntungan

  • Meningkatkan kestabilan strategi dengan menggunakan isyarat indikator

Analisis risiko

  • Pengiraan trend jangka pendek mungkin salah, mengejar kenaikan atau penurunan

  • RSI menghasilkan isyarat palsu dan memperluas kerugian

  • Stop loss parameter yang tidak betul, mengurangkan keuntungan atau memperluas kerugian

  • Frekuensi transaksi yang terlalu tinggi, meningkatkan kos transaksi dan slippage

  • Kelemahan parameter dan kesan strategi pasaran yang tidak normal

  • Tetapkan parameter pengoptimuman, hentikan kerosakan ketat, pertimbangkan kawalan kos

Arah pengoptimuman

  • Uji kombinasi purata bergerak yang berbeza untuk mengoptimumkan keputusan

  • Pertimbangkan indikator lain seperti STOCH untuk mengesahkan isyarat RSI

  • Menambah pembelajaran mesin untuk menilai keberkesanan penembusan

  • Parameter penyesuaian untuk pelbagai jenis dan tempoh dagangan

  • Mengoptimumkan logik stop-loss dan pelacakan dinamik

  • Pertimbangan untuk mengintegrasikan mekanisme penyampaian automatik

ringkaskan

Strategi ini mengintegrasikan kelebihan penunjuk garis rata dan penunjuk RSI, untuk mencapai strategi perdagangan garis pendek yang konservatif. Strategi ini lebih baik dengan pengoptimuman parameter, pengesahan isyarat, kawalan risiko dan sebagainya, dapat disesuaikan dengan perubahan pasaran untuk mendapatkan kesan berterusan.

Kod sumber strategi
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 3h
basePeriod: 15m
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/
// © Coinrule

//@version=4
strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true      // create function "within window of time"

//MA inputs and calculations
movingaverage_fast = sma(close, input(9))
movingaverage_mid= sma(close, input(50))
movingaverage_slow = sma(close, input (100))


//Trend situation
Bullish= cross(close, movingaverage_fast)

Momentum = movingaverage_mid > movingaverage_slow

// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)

//Entry
strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50)

//Exit

TP = input(70)
SL =input(30)
longTakeProfit  = RSI > TP
longStopPrice = RSI < SL

strategy.close("long", when = longStopPrice or longTakeProfit and window())

plot(movingaverage_fast, color=color.black, linewidth=2 )
plot(movingaverage_mid, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)