Chiến lược chéo ngang


Ngày tạo: 2023-11-23 16:42:58 sửa đổi lần cuối: 2023-11-23 16:42:58
sao chép: 0 Số nhấp chuột: 596
1
tập trung vào
1621
Người theo dõi

Chiến lược chéo ngang

Tổng quan

Chiến lược chéo đường trung bình tạo ra tín hiệu giao dịch bằng cách tính toán chéo đường trung bình SMA của hai thiết lập tham số khác nhau. Khi đường trung bình SMA nhanh hơn đi qua đường trung bình SMA chậm hơn, tạo ra tín hiệu mua; Khi đường trung bình SMA chậm hơn đi qua đường trung bình SMA nhanh hơn, tạo ra tín hiệu bán. Chiến lược này sử dụng hai nhóm tham số đường trung bình SMA cùng lúc, một nhóm để xác định điểm mua và nhóm khác để xác định điểm bán.

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

Chiến lược này sử dụng hai tập hợp các tham số đường trung bình SMA:smaB1smaB2smaS1smaS2smaB1smaB2Chúng được sử dụng để xác định tín hiệu mua, chúng đại diện cho đường trung bình chậm và nhanh hơn.smaB1Đeo lênsmaB2“Đây là một dấu hiệu mua”.smaS1smaS2Sử dụng để xác định tín hiệu bán, cũng đại diện cho đường trung bình chậm và nhanh hơn.smaS2Cởi quần áo.smaS1Điều này cho phép điều chỉnh các điều kiện mua và bán một cách linh hoạt để phù hợp với môi trường thị trường khác nhau.

Cụ thể, chiến lược này bằng cách tính toán giá SMA của giá đóng và theo dõi thực tế các trường hợp giao nhau của hai nhóm đường SMA trung bình để xác định thời gian mua và bán. Khi vượt qua đường chậm trên đường SMA nhanh, cho rằng giá đang đi lên, vì vậy làm nhiều hơn lúc này; và khi vượt qua đường SMA chậm dưới đường nhanh, xác định giá chuyển sang giảm, vì vậy giảm nhiều đơn.

Phân tích lợi thế

Chiến lược này có những lợi thế chính như sau:

  1. Sử dụng hệ thống giao thoa song song, có thể điều chỉnh các điều kiện mua và bán linh hoạt để thích ứng với sự thay đổi của thị trường
  2. Đường trung bình SMA có thể làm giảm một số tiếng ồn, tạo ra tín hiệu giao dịch đáng tin cậy hơn
  3. Cho phép tùy chỉnh mô hình tham số SMA, có thể tối ưu hóa tham số cho các giống khác nhau

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Tín hiệu giao tuyến trung bình có thể bị chậm trễ, không thể tạo tín hiệu ngay trước và sau điểm chuyển hướng
  2. Lựa chọn không đúng các tham số SMA có thể dẫn đến quá nhiều tín hiệu sai
  3. Các tín hiệu có thể không hiệu quả trong thị trường sụp đổ mạnh

Để kiểm soát rủi ro trên, có thể cải thiện các phương pháp như khóa lợi nhuận bằng cách tối ưu hóa các tham số SMA kết hợp với dừng động.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kiểm tra thêm các tham số SMA để tìm tham số tốt nhất
  2. Tăng xác nhận khối lượng giao dịch để tránh tín hiệu sai khi giá dao động mạnh
  3. Kiểm tra tín hiệu chéo SMA kết hợp với các chỉ số khác (như MACD, RSI, v.v.)
  4. Tăng chiến lược dừng lỗ để khóa lợi nhuận và giảm tổn thất

Tóm tắt

Chiến lược giao chéo đường trung bình tạo ra tín hiệu giao dịch đơn giản và hiệu quả bằng cách tính toán sự giao chéo của hai nhóm đường trung bình SMA. Chiến lược này cho phép điều chỉnh các tham số linh hoạt, áp dụng cho các giống khác nhau, là một chiến lược theo dõi xu hướng phổ biến.

Mã nguồn chiến lược
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 5m
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/
// © melihtuna

//@version=4
strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent)

smaB1 = input(title="smaB1",defval=377)
smaB2 = input(title="smaB2",defval=200)
smaS1 = input(title="smaS1",defval=377)
smaS2 = input(title="smaS2",defval=200)
smawidth = 2

plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1')
plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2')
plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1')
plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2')

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => time >= start and time <= finish ? true : false 

longCondition = crossover(sma(close, smaB1),sma(close, smaB2))

if (window() and longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = crossover(sma(close, smaS2),sma(close, smaS1))

if (window() and shortCondition)
    strategy.entry("SELL", strategy.short)