Chiến lược giao dịch ngắn trong xu hướng giảm

Tác giả:ChaoZhang, Ngày: 2023-11-07 17:06:59
Tags:

img

Tổng quan

Chiến lược này tận dụng xu hướng giảm bằng cách xây dựng các vị trí ngắn dần dần dựa trên chỉ số trung bình động và RSI. Nó nhằm mục đích kiếm lợi nhuận trong thị trường giảm.

Chiến lược logic

Khi giá đóng thấp hơn trung bình di chuyển đơn giản 100 ngày và chỉ số RSI lớn hơn 30, hãy bán. Sau đó đặt stop loss trên giá nhập 3% và lấy lợi nhuận dưới giá nhập 2%.

Trên nền tảng Coinrule, đặt nhiều lệnh bán liên tục để xây dựng vị trí dần dần. Khi xu hướng giảm tiếp tục, tăng kích thước vị trí. Đặt khoảng thời gian giữa các lệnh cũng giúp kiểm soát kích thước vị trí tổng thể.

Mỗi giao dịch được kết nối với một lệnh dừng lỗ và lấy lợi nhuận. Tỷ lệ phần trăm được tối ưu hóa cho các đồng xu mid-cap. Bạn có thể điều chỉnh dựa trên đồng xu cụ thể. Khi giao dịch cùng với xu hướng, tỷ lệ dừng lỗ và lấy lợi nhuận như 1: 1.5 có thể hoạt động.

Stop loss ở mức 3% trên giá nhập cảnh Lấy lợi nhuận ở mức 2% dưới giá nhập cảnh Một mức dừng lỗ lớn hơn một chút chịu đựng sự biến động nhiều hơn.

Phân tích lợi thế

  • MA đánh giá hướng xu hướng tốt, bắt được xu hướng giảm trong thời gian
  • RSI lọc tránh mù quáng đi ngắn
  • Điều khiển xây dựng vị trí dần dần rủi ro tối đa với tỷ lệ rủi ro-lợi nhuận tốt hơn
  • Dừng lỗ và lấy lợi nhuận đảm bảo độ bền cho mỗi giao dịch

Phân tích rủi ro

  • Sự đảo ngược mạnh V có thể dẫn đến tổn thất lớn
  • Cần theo dõi giá chặt chẽ để điều chỉnh dừng lỗ và lợi nhuận
  • Đòn bẩy cần phải hợp lý để kiểm soát kích thước vị trí
  • Chiến lược tạm dừng trong thị trường hỗn loạn tránh mất mát không cần thiết

Hướng dẫn tối ưu hóa

  • Kiểm tra MA với các thông số khác nhau
  • Thử kết hợp RSI với các thông số khác nhau
  • Điều chỉnh tỷ lệ dừng lỗ và lấy lợi nhuận để tối ưu hóa rủi ro-lợi nhuận
  • Kiểm tra khoảng thời gian khác nhau giữa các lệnh để kiểm soát kích thước vị trí

Tóm lại

Chiến lược này có hiệu quả nắm bắt xu hướng giảm dựa trên MA và RSI. Xây dựng vị trí dần dần kiểm soát rủi ro trong khi dừng lỗ và lấy lợi nhuận đảm bảo độ bền. Tăng thêm tỷ lệ rủi ro-lợi nhuận bằng cách điều chỉnh các thông số dừng lỗ / lấy lợi nhuận. Có nhiều chỗ để cải thiện các thông số và kiểm soát rủi ro. Nhưng nói chung là một chiến lược ngắn hạn ngắn hạn vững chắc.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 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/
// © Coinrule

//@version=4
strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//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
inSignal=input(50, title='MASignal')

MA= sma(close, inSignal)

// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)


//Entry 
strategy.entry(id="short", long = false, when = close < MA and RSI > 30)

//Exit
shortStopPrice  = strategy.position_avg_price * (1 + 0.03)
shortTakeProfit = strategy.position_avg_price * (1 - 0.02)

strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window())


plot(MA, color=color.purple, linewidth=2)


Thêm nữa