Chiến lược giao dịch định lượng dựa trên đường trung bình động cao và thấp


Ngày tạo: 2023-09-19 15:53:55 sửa đổi lần cuối: 2023-09-19 15:53:55
sao chép: 0 Số nhấp chuột: 626
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này đánh giá thời gian mua và bán bằng cách tính toán đường trung bình di chuyển đơn giản của các điểm cao và thấp và so sánh với giá đóng cửa hiện tại. Mục đích của nó là để bắt được tín hiệu của giá vượt qua đường trung bình để có cơ hội sớm trong xu hướng.

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

  1. Tính trung bình di chuyển đơn giản với độ dài 4 điểm cao

  2. Tính trung bình di chuyển đơn giản với độ dài thấp là 4

  3. Khi giá đóng cửa vượt qua mức trung bình cao nhất, hãy tham gia nhiều hơn

  4. Khi giá đóng cửa phá vỡ đường trung bình điểm thấp, hãy tháo lỗ

  5. Quản lý rủi ro bằng cách sử dụng các chiến lược dừng và dừng cố định

Phân tích lợi thế

  1. Sử dụng chỉ số đơn giản, dễ hiểu

  2. Ghi lại các dấu hiệu của đường trung bình

  3. Bạn có thể nhanh chóng lọc ra một số tiếng ồn và nhận ra xu hướng.

  4. Tính toán nhỏ giúp giảm chi phí vận hành chiến lược

  5. Chiến lược dựa trên hợp tác để mở rộng

Phân tích rủi ro

  1. Cần thiết lập các tham số hợp lý, tránh quá nhạy cảm

  2. Không thể đối phó với rủi ro của đột phá lớn

  3. Có một mức độ rủi ro của đà dập giá

  4. Không thể tự động điều chỉnh vị trí dừng lỗ

  5. Khó có thể xác định được chiều dài của xu hướng

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

  1. Kiểm tra ảnh hưởng của các tham số khác nhau đến chất lượng tín hiệu

  2. Tăng điều kiện lọc để đảm bảo tính hiệu quả của đột phá

  3. Kết hợp phân tích xu hướng để tránh bị mắc kẹt

  4. Phát triển chiến lược dừng lỗ động

  5. Tối ưu hóa các cơ chế ngăn chặn thiệt hại, tăng tỷ lệ chiến lược

  6. Kiểm tra sức mạnh của chiến lược trong các chu kỳ khác nhau

Tóm tắt

Chiến lược này cung cấp các ý tưởng giao dịch xu hướng cơ bản thông qua các chỉ số đơn giản để xác định động lực giá. Các chiến lược giao dịch của nó có thể mở rộng và phát triển thành một hệ thống định lượng khá mạnh mẽ.

Mã nguồn chiến lược
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HiLo", overlay=true)

// Testing a specific period
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2017, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false


//HiLo Strategy
length = input(4, minval=0)
displace = input(0, minval=0)
highsma = sma(high, length)
lowsma = sma(low, length)

longCondition = close > highsma[displace]
if (longCondition)
    strategy.entry("long", true)

shortCondition = close < lowsma[displace]
if (shortCondition)
    strategy.entry("short", false)

// Exit seems with a problem. it keeps saying the order's limit (2000) was reached even if I back test it just for a day. 
// If the two lines bellow are commented, then it it works. Anyone? Any idea what's wrong?

// strategy.exit("exit", "long", profit=10, loss=5)
// strategy.exit("exit", "short", profit=10, loss=5)