Chiến lược giao dịch trong ngày ngắn hạn với đường trung bình động kép


Ngày tạo: 2024-02-27 16:36:31 sửa đổi lần cuối: 2024-02-27 16:36:31
sao chép: 2 Số nhấp chuột: 724
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch trong ngày ngắn hạn với đường trung bình động kép

Tổng quan

Đây là một chiến lược giao dịch trong ngày đơn giản dựa trên hai đường trung bình. Nó sử dụng đường trung bình di chuyển đơn giản của hai chu kỳ khác nhau để mua hoặc bán khi đường trung bình giao nhau.

Nguyên tắc chiến lược

Chiến lược này sử dụng hai đường trung bình di chuyển đơn giản vào ngày 10 và ngày 40. Khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn, làm nhiều hơn; Khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn, làm trống.

Chiến lược này chủ yếu sử dụng các đặc điểm của đường trung bình ngắn hạn để nắm bắt thay đổi giá nhanh hơn. Khi đường trung bình ngắn hạn trên đường trung bình dài hạn, cho thấy giá ngắn hạn bắt đầu tăng, làm nhiều hơn để nắm bắt xu hướng này; khi đường trung bình ngắn hạn dưới đường trung bình ngắn hạn, cho thấy giá ngắn hạn bắt đầu giảm, làm trống để nắm bắt xu hướng này.

Lợi thế chiến lược

  1. Chiến lược của chúng tôi rất đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  2. Sử dụng nguyên tắc giao chéo hai đường bằng nhau, có thể nắm bắt hiệu quả xu hướng giá ngắn hạn.
  3. Sử dụng giao dịch trong ngày để tránh rủi ro qua đêm.
  4. Sử dụng thiết kế mở kho ngược với số bàn tay gấp đôi, có thể mở rộng không gian lợi nhuận.

Phân tích rủi ro

  1. Là một chiến lược ngắn hạn, dễ bị ảnh hưởng bởi tiếng ồn thị trường, có tín hiệu sai.
  2. Thiết kế tay đôi có thể làm tăng thiệt hại.
  3. Thiết kế giao dịch trong ngày có thể dẫn đến việc không thể giữ các giao dịch có giá trị hơn.

Giải pháp đối phó với rủi ro:

  1. Tối ưu hóa tham số đường trung bình, giảm tỷ lệ tín hiệu sai.
  2. Kết hợp với các chỉ số khác để lọc tín hiệu.
  3. Tối ưu hóa tham số tay đôi.
  4. Đơn giản hóa thời gian giao dịch trong ngày.

Hướng tối ưu hóa chiến lược

  1. Tối ưu hóa tham số đường trung bình. Bạn có thể thử nghiệm nhiều hơn để tìm tham số tối ưu.

  2. Thêm các bộ lọc cho các chỉ số kỹ thuật khác. Ví dụ, thêm xác nhận chỉ số MACD, có thể làm giảm tỷ lệ tín hiệu sai.

  3. Tối ưu hóa số nhân mở sàn ngược. Kiểm tra các kích thước nhân khác nhau để tìm tham số tối ưu.

  4. Kiểm tra các giai đoạn giao dịch khác nhau trong ngày.

Tóm tắt

Chiến lược tổng thể của chiến lược này rất đơn giản, mở rộng cơ hội lợi nhuận bằng cách nắm bắt xu hướng ngắn hạn hình thành từ giao thoa hai đường ngang, kết hợp với việc mở vị trí ngược lại của số đôi, và cuối cùng kết hợp với giao dịch trong ngày để tránh rủi ro qua đêm. Đây là một chiến lược hiệu quả phù hợp với giao dịch ngắn trong ngày. Có không gian để tối ưu hóa hơn nữa, có thể đạt được hiệu quả chiến lược tốt hơn bằng cách điều chỉnh tham số và thêm các bộ lọc chỉ số kỹ thuật khác.

Mã nguồn chiến lược
/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 00:00:00
period: 1m
basePeriod: 1m
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/
// © Pritesh-StocksDeveloper

//@version=4
strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", 
     overlay=true, calc_on_every_tick = true)

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Short & Long moving avg. period
var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, 
     defval = 10, minval = 2, maxval = 20, confirm=true)
var int i_longPeriod = input(title = "Long MA Period", type = input.integer, 
     defval = 40, minval = 3, maxval = 120, confirm=true)

// A function to check whether the bar is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0

// Calculate moving averages
shortAvg = sma(close, i_shortPeriod)
longAvg = sma(close, i_longPeriod)

// Plot moving averages
plot(series = shortAvg, color = color.red, title = "Short MA", 
     linewidth = 2)
plot(series = longAvg, color = color.blue, title = "Long MA", 
     linewidth = 2)

// Long/short condition
longCondition = crossover(shortAvg, longAvg)
shortCondition = crossunder(shortAvg, longAvg)

// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

// Long position
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)

// Short position
strategy.entry(id = "Short", long = strategy.short, 
     when = shortCondition and intradaySession)

// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")