Strategi Dagangan Jangka Pendek Berdasarkan Pengikut Trend

Penulis:ChaoZhang, Tarikh: 2023-09-27 16:56:34
Tag:

Ringkasan

Strategi ini mengenal pasti trend yang kuat dan masa yang baik untuk perdagangan jangka pendek dengan kawalan kerugian. Ia mengesan penembusan harga purata bergerak mudah sebagai isyarat trend dan menetapkan stop loss / mengambil keuntungan berdasarkan perbezaan RSI untuk menangkap pergerakan harga jangka pendek.

Logika Strategi

  1. Pengiraan purata bergerak mudah pelbagai tempoh

    • Menetapkan SMA 9 hari, 50 hari dan 100 hari

    • SMA pendek melintasi SMA panjang menunjukkan arah trend

  2. Menghakimi tahap overbought/oversold menggunakan RSI

    • Panjang RSI adalah 14 tempoh

    • RSI di atas 70 adalah overbought, di bawah 30 adalah oversold

  3. Memasuki dagangan apabila harga memecahkan SMA 9 hari

    • Pergi panjang apabila harga memecahkan di atas SMA 9 hari

    • Pergi pendek apabila harga pecah di bawah 9-hari SMA

  4. Menetapkan stop loss/take profit berdasarkan perbezaan RSI

    • Perbezaan RSI untuk stop loss

    • Ambil keuntungan apabila RSI mencapai tahap yang telah ditetapkan

Analisis Kelebihan

  • Mencatatkan trend jangka pendek, sesuai untuk perdagangan frekuensi tinggi

  • Kombo SMA menyaring isyarat trend, mengelakkan perdagangan buruk

  • RSI membantu menentukan masa, mengawal risiko dengan berkesan

  • Pengecualian yang berlaku untuk penempatan dan penghantaran.

  • Menggabungkan penunjuk meningkatkan kestabilan

Analisis Risiko

  • Penghakiman trend jangka pendek yang tidak tepat menyebabkan mengejar

  • Isyarat RSI palsu meningkatkan kerugian

  • Tetapan stop loss/take profit yang tidak betul mengurangkan keuntungan atau meningkatkan kerugian

  • Frekuensi dagangan yang tinggi meningkatkan kos dan seluncur

  • Parameter yang tidak berkesan dan strategi kesan pasaran yang tidak normal

  • Mengoptimumkan parameter, stop loss yang ketat, menguruskan kos

Arahan pengoptimuman

  • Uji kombinasi SMA yang berbeza untuk meningkatkan penilaian trend

  • Pertimbangkan penunjuk tambahan seperti STOCH untuk mengesahkan isyarat RSI

  • Menggunakan pembelajaran mesin untuk menentukan penembusan yang sah

  • Sesuaikan parameter untuk produk dan sesi yang berbeza

  • Mengoptimumkan logik Stop Loss/Take Profit untuk trailing dinamik

  • meneroka mekanisme auto parameter tuning

Kesimpulan

Strategi ini menggabungkan SMA dan RSI untuk pendekatan perdagangan jangka pendek yang konservatif. Parameter penyuntingan halus, pengesahan isyarat, mengawal risiko menjadikannya lebih kukuh dan beradaptasi. Terdapat ruang untuk peningkatan dengan meneroka lebih banyak kombinasi SMA, menambah model pembelajaran mesin dan lain-lain. Pengoptimuman berterusan akan membawa kepada kematangan yang lebih lanjut.


/*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)


Lebih lanjut