Chiến lược lướt sóng trung bình động ngắn hạn


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

Tổng quan

Chiến lược này thuộc loại chiến lược scalping ngắn hạn, mục tiêu của nó là mở các vị trí hẹp thường xuyên, để đạt được lợi nhuận ổn định bằng cách thu được lợi nhuận nhỏ và kiểm soát rủi ro giảm. Chiến lược này mua nhiều hơn bằng cách đánh giá các chỉ số đường trung bình để xác định điểm đảo ngược có thể và đặt mục tiêu dừng nhanh để khóa lợi nhuận nhỏ.

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

Chiến lược này sử dụng 4 đường trung bình di chuyển, 9 chu kỳ, 50 chu kỳ, 100 chu kỳ và 200 chu kỳ.

Các quy tắc giao dịch cụ thể là:

  • 9 Thời gian trung bình trên đường 50 Thời gian trung bình trên đường
  • Đường trung bình chu kỳ 50 thấp hơn đường trung bình chu kỳ 100
  • 100 đường trung bình chu kỳ thấp hơn 200 đường trung bình chu kỳ

Sự kết hợp này có thể giúp tìm ra thời điểm giá có thể giảm trong ngắn hạn nhưng có thể đảo ngược.

Quy tắc giao dịch bằng phẳng là giao dịch bằng phẳng trên đường trung bình 9 chu kỳ trên đường trung bình 200 chu kỳ. Ở đây, đặt mục tiêu dừng gần hơn, nhằm đạt được lợi nhuận ổn định thông qua lợi nhuận nhỏ thường xuyên.

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

  • Thường xuyên tháo lỗ, kiểm soát hiệu quả lỗ đơn lẻ
  • Sử dụng đường trung bình để đánh giá điểm đảo chiều và tìm điểm mua tiềm năng
  • Thiết lập điểm dừng gần hơn, khóa nhỏ xác định lợi nhuận
  • Giảm thời gian nắm giữ, giảm ảnh hưởng của xu hướng lớn
  • Tỷ lệ sử dụng vốn cao, phù hợp với tăng trưởng vốn nhỏ

Rủi ro chiến lược

  • Đường trung bình đánh giá chậm trễ, có thể bỏ lỡ điểm đến tốt nhất
  • Không có lợi nhuận lớn, dễ bị ảnh hưởng bởi phí giao dịch
  • Nhiều giao dịch không hiệu quả, giao dịch thường xuyên gây tốn thời gian và công sức
  • Điểm dừng quá bảo thủ, không theo kịp xu hướng
  • Khó kiếm lợi nhuận trong thị trường thu hồi

Bạn có thể làm giảm nguy cơ bằng cách:

  • Tối ưu hóa các tham số đường trung bình, tăng độ chính xác của quyết định mua
  • Cần giảm bớt các hạn chế của EXIT để theo đuổi lợi nhuận theo xu hướng
  • Thêm các chỉ số kỹ thuật khác để xác nhận, giảm giao dịch không có hiệu lực
  • Tối ưu hóa sử dụng vốn và quản lý vị trí
  • Xem xétusch

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. Tối ưu hóa các tham số trung bình

Kiểm tra nhiều tham số chu kỳ trung bình hơn để tìm các kết hợp xác định chính xác hơn về sự đảo ngược.

  1. Giảm bớt điểm dừng

Một cách thích hợp để giảm bớt khoảng cách dừng, theo đuổi nhiều lợi nhuận xu hướng hơn.

  1. Tham gia các chỉ số kỹ thuật khác

Ví dụ như KDJ, MACD, xác nhận, giảm giao dịch không có hiệu lực.

  1. Tối ưu hóa quản lý vị trí

Thiết lập kích thước vị trí tùy thuộc vào điểm dừng và điểm dừng lỗ.

  1. Tham gia cơ chế tái nhập học

Sau khi dừng chơi, nếu xu hướng tiếp tục, bạn có thể xem xét nhập cảnh trở lại với điều kiện.

Tóm tắt

Chiến lược này thuộc loại chiến lược scalping đường ngắn, tạo ra tín hiệu giao dịch bằng cách đánh giá các kết hợp đường thẳng trong thời gian ngắn và thiết lập các điểm dừng gần hơn để thu lợi nhuận thường xuyên. Điều này có thể kiểm soát hiệu quả tổn thất và rủi ro đơn lẻ, phù hợp với sự tăng trưởng của số tiền nhỏ.

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

//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, 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_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Entry 
bullish = crossover(movingaverage_signal, movingaverage_fast)

strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())

//Exit

bearish = crossover(movingaverage_signal, movingaverage_slow)


Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = bearish)

// close < longStopPrice or close > longTakeProfit and window())

//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)