Chiến lược giao dịch trung bình di chuyển đột phá hàng tuần

Tác giả:ChaoZhang, Ngày: 2024-01-18 11:47:25
Tags:

img

Tổng quan

Chiến lược này giao dịch dựa trên giá đóng cửa hàng tuần của Bitcoin và trung bình di chuyển đơn giản 8 tuần. Nó đi dài khi giá đóng cửa hàng tuần vượt qua đường 8 tuần và đóng vị trí khi giá đóng cửa hàng tuần vượt qua đường 8 tuần. Nó cũng thiết lập tỷ lệ dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro.

Chiến lược logic

Chiến lược này phân tích hành động giá hàng tuần của Bitcoin và đường trung bình di chuyển đơn giản 8 tuần để đánh giá xem thị trường có đang trong xu hướng tăng hay giảm. Khi giá đóng cửa hàng tuần vượt qua đường xu hướng tăng 8 tuần, nó báo hiệu rằng thị trường đã bước vào kênh xu hướng tăng và một vị trí dài có thể kiếm lợi nhuận. Khi giá đóng cửa hàng tuần vượt qua đường xu hướng giảm 8 tuần, nó báo hiệu rằng biểu đồ hàng tuần của Bitcoin đã bước vào kênh xu hướng giảm và các vị trí dài hiện có nên được dừng lại.

Cụ thể, các điều kiện giao dịch sau đây được đặt ra trong chiến lược:

buy_condition = crossover(btc,ma) #weekly closing price breaks above 8-week line, go long
sell_condition = crossunder(btc,ma) #weekly closing price breaks below 8-week line, close position

Khi điều kiện mua được đáp ứng, chiến lược sẽ đi dài. Khi điều kiện bán được kích hoạt, chiến lược sẽ kết thúc bằng cách lấy lợi nhuận hoặc dừng lỗ.

Ngoài ra, tỷ lệ dừng lỗ và lợi nhuận được cấu hình:

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY") 

Tỷ lệ dừng lỗ mặc định là 1 và tỷ lệ lấy lợi nhuận mặc định là 3. Điều này có nghĩa là khi tín hiệu thoát ra, nếu hiện tại có lợi nhuận, thoát ra với lợi nhuận gấp 3 lần. Nếu hiện tại mất mát, thoát ra với lỗ gấp 1 lần.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Khung thời gian hàng tuần, giảm việc rút vốn, phù hợp với việc nắm giữ dài hạn
  2. MA 8 tuần lọc ra tiếng ồn và xác định các xu hướng chính
  3. Đánh lỗ dừng và kiểm soát lợi nhuận rủi ro

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Không thể điều chỉnh vị trí dựa trên hành động giá ngắn hạn
  2. Các tín hiệu đột phá có thể có tín hiệu sai
  3. Stop loss/take profit có thể thất bại trong các sự kiện thị trường cực đoan

Các biện pháp đối phó:

  1. Kết hợp với các chỉ số ngắn hạn khác để nắm bắt các cơ hội ngắn hạn
  2. Thêm bộ lọc để tránh tín hiệu sai
  3. Điều chỉnh tỷ lệ dừng lỗ/lấy lợi nhuận dựa trên điều kiện thị trường để hạn chế lỗ

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

Một số cách để cải thiện chiến lược này:

  1. Thêm các bộ lọc bổ sung để đảm bảo tín hiệu thoát hiệu hợp lệ
  2. Tối ưu hóa tỷ lệ dừng lỗ và lấy lợi nhuận
  3. Bao gồm các chỉ số ngắn hạn để phân tích nhiều khung thời gian
  4. Sử dụng máy học để tự động tối ưu hóa các thông số

Kết luận

Nói tóm lại, đây là một chiến lược đơn giản và thẳng thắn đánh giá xu hướng dựa trên các đột phá hàng tuần và trung bình động. Nó cũng kiểm soát rủi ro thông qua dừng lỗ và lấy lợi nhuận. Nó có thể phục vụ như một hệ thống tham chiếu cho các cổ phiếu Bitcoin dài hạn. Nhưng có một số hạn chế có thể được cải thiện về chất lượng tín hiệu, điều chỉnh tham số, phân tích nhiều khung thời gian v.v.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
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/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)


Thêm nữa