Chiến lược giao dịch ngắn hạn dựa trên xu hướng sau

Tác giả:ChaoZhang, Ngày: 2023-09-27 16:56:34
Tags:

Tổng quan

Chiến lược này xác định xu hướng mạnh mẽ và thời gian thuận lợi cho giao dịch ngắn hạn với kiểm soát lỗ. Nó theo dõi sự đột phá giá của các đường trung bình động đơn giản như các tín hiệu xu hướng và thiết lập dừng lỗ / lấy lợi nhuận dựa trên sự khác biệt RSI để nắm bắt các biến động giá ngắn hạn.

Chiến lược logic

  1. Tính toán các đường trung bình di chuyển đơn giản nhiều giai đoạn

    • Đặt SMA 9 ngày, 50 ngày và 100 ngày

    • SMA ngắn vượt qua SMA dài cho thấy hướng xu hướng

  2. Đánh giá mức mua quá mức / bán quá mức bằng cách sử dụng chỉ số RSI

    • Độ dài RSI là 14 giai đoạn

    • RSI trên 70 là mua quá mức, dưới 30 là bán quá mức

  3. Tham gia giao dịch khi giá phá vỡ SMA 9 ngày

    • Đi dài khi giá phá vỡ trên SMA 9 ngày

    • Đi ngắn khi giá phá vỡ dưới SMA 9 ngày

  4. Đặt lệnh dừng lỗ/lấy lợi nhuận dựa trên sự khác biệt của chỉ số RSI

    • RSI phân kỳ cho lệnh dừng lỗ

    • Lấy lợi nhuận khi RSI đạt mức đặt trước

Phân tích lợi thế

  • Khám phá xu hướng ngắn hạn, phù hợp với giao dịch tần số cao

  • Các combo SMA lọc các tín hiệu xu hướng, tránh giao dịch xấu

  • RSI giúp xác định thời gian, kiểm soát rủi ro hiệu quả

  • Các khoản đầu tư được tính theo mục 3 của mục 3 của mục 3 của mục 3 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4 của mục 4

  • Kết hợp các chỉ số cải thiện sự ổn định

Phân tích rủi ro

  • Phân tích xu hướng ngắn hạn không chính xác gây ra sự theo đuổi

  • Các tín hiệu RSI giả làm tăng tổn thất

  • Các thiết lập stop loss/take profit không chính xác làm giảm lợi nhuận hoặc làm tăng lỗ

  • Tần suất giao dịch cao làm tăng chi phí và trượt

  • Các thông số không hiệu quả và chiến lược tác động thị trường bất thường

  • Tối ưu hóa các thông số, dừng lỗ nghiêm ngặt, quản lý chi phí

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

  • Kiểm tra các combo SMA khác nhau để cải thiện đánh giá xu hướng

  • Xem xét các chỉ số bổ sung như STOCH để xác minh các tín hiệu RSI

  • Sử dụng máy học để xác định các đột phá hợp lệ

  • Điều chỉnh các tham số cho các sản phẩm và phiên khác nhau

  • Tối ưu hóa logic dừng lỗ / lấy lợi nhuận cho việc theo dõi năng động

  • Khám phá các cơ chế điều chỉnh tham số tự động

Kết luận

Chiến lược này kết hợp SMA và RSI cho một cách tiếp cận giao dịch ngắn hạn bảo thủ. Các thông số tinh chỉnh, xác nhận tín hiệu, kiểm soát rủi ro làm cho nó mạnh mẽ hơn và thích nghi hơn. Có nhiều chỗ để cải thiện bằng cách khám phá thêm các combo SMA, thêm các mô hình học máy v.v. Tối ưu hóa liên tục sẽ dẫn đến sự trưởng thành hơn.


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


Thêm nữa