Chiến lược bán da đầu da di chuyển trung bình

Tác giả:ChaoZhang, Ngày: 2023-09-21 20:41:15
Tags:

Tổng quan

Chiến lược này thuộc loại chiến lược scalping, nhằm mục đích mở và đóng các vị trí thường xuyên để kiếm lợi nhuận từ lợi nhuận nhỏ trong khi hạn chế rủi ro giảm. Nó xác định các điểm đảo ngược tiềm năng với đường trung bình động để đi dài, và đặt mục tiêu lợi nhuận chặt chẽ để khóa lợi nhuận nhỏ.

Chiến lược logic

Chiến lược sử dụng 4 đường trung bình động - 9, 50, 100 và 200 thời gian.

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

  • Đi dài khi 9 MA vượt trên 50 MA
  • 50 MA là dưới 100 MA
  • 100 MA là dưới 200 MA

Sự kết hợp này xác định các tình huống khi giá đang trong xu hướng giảm ngắn hạn nhưng có thể xảy ra sự đảo ngược.

Quy tắc thoát là khi 9 MA vượt quá 200 MA. Một mục tiêu gần lợi nhuận được sử dụng để khóa trong lợi nhuận nhỏ thường xuyên cho lợi nhuận ổn định.

Ưu điểm

  • Kiểm soát mở và đóng thường xuyên mất mát duy nhất
  • MA crossover bắt được tiềm năng đáy
  • Gần mục tiêu lợi nhuận khóa trong một số thắng nhỏ
  • Thời gian giữ giảm thiểu ảnh hưởng của xu hướng
  • Sử dụng vốn cao phù hợp với các tài khoản nhỏ

Rủi ro

  • Sự chậm trễ MA có thể bỏ lỡ các điểm vào tốt nhất
  • Phạm vi lợi nhuận nhỏ dễ bị ảnh hưởng bởi phí
  • Nhiều nghề không hợp lệ làm tăng chi phí thời gian và năng lượng
  • TP quá bảo thủ không thể đi theo xu hướng
  • Khó kiếm lợi nhuận trên các thị trường giới hạn phạm vi

Các rủi ro có thể được giảm bằng cách:

  • Tối ưu hóa các tham số MA để tăng độ chính xác tín hiệu
  • Thư giãn TP để nắm bắt nhiều lợi nhuận xu hướng hơn
  • Thêm các chỉ số khác để xác nhận, giảm các giao dịch không hợp lệ
  • Tối ưu hóa việc sử dụng vốn và kích thước vị trí
  • Xem xét nhập cảnh trở lại

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

Chiến lược có thể được cải thiện bằng cách:

  1. Tối ưu hóa các kết hợp MA

    Kiểm tra nhiều thời gian MA hơn để phát hiện đảo ngược tốt hơn.

  2. Mức lợi nhuận mở rộng

    Cho phép khoảng cách TP rộng hơn cho lợi nhuận xu hướng nhiều hơn.

  3. Thêm các chỉ số khác

    Như KDJ, MACD để xác nhận để giảm các giao dịch không hợp lệ.

  4. Tối ưu hóa kích thước vị trí

    Các vị trí kích thước động dựa trên TP và SL cụ thể.

  5. Thêm các quy tắc nhập cảnh trở lại

    Xem xét tái nhập sau TP nếu xu hướng tiếp tục.

Tóm lại

Chiến lược scalping này xác định các sự đảo ngược ngắn hạn tiềm năng với sự kết hợp MA cho lợi nhuận nhỏ thường xuyên. Điều này có hiệu quả kiểm soát tổn thất và rủi ro đơn lẻ, làm cho nó phù hợp với sự tăng trưởng tài khoản nhỏ. Tuy nhiên, có những hạn chế như phạm vi lợi nhuận nhỏ và giao dịch quá mứ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)


Thêm nữa