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


Ngày tạo: 2024-01-18 11:47:25 sửa đổi lần cuối: 2024-01-18 11:47:25
sao chép: 0 Số nhấp chuột: 602
1
tập trung vào
1617
Người theo dõi

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

Tổng quan

Chiến lược này 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. Khi giá đóng cửa hàng tuần vượt qua đường 8 tuần, hãy làm nhiều hơn; Khi giá đóng cửa hàng tuần vượt qua đường 8 tuần, hãy giữ mức giá bằng phẳng.

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

Chiến lược này phân tích tình hình hàng tuần của Bitcoin và đường trung bình di chuyển đơn giản 8 tuần, để xác định thị trường hiện đang trong xu hướng tăng hoặc xu hướng giảm. Khi giá đóng cửa hàng tuần vượt qua đường 8 tuần, thị trường bước vào kênh tăng và làm nhiều lợi nhuận; Khi giá đóng cửa hàng tuần vượt qua đường 8 tuần, thị trường đi vào kênh giảm, nên dừng lỗ đơn trước đó.

Cụ thể, chiến lược này đặt ra các điều kiện phán quyết sau:

buy_condition= crossover(btc,ma)#周线收盘价上穿8周线,做多 
sell_condition= crossunder(btc,ma)#周线收盘价下穿8周线,平仓

Khi điều kiện mua được thực hiện, chiến lược sẽ vào giao dịch; khi điều kiện bán được thực hiện, chiến lược sẽ chọn dừng hoặc dừng lỗ.

Ngoài ra, chiến lược cũng đặt tỷ lệ dừng lỗ:

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

Trong số đó, tỷ lệ dừng lỗ mặc định là 1, tỷ lệ dừng lỗ mặc định là 3. Điều này có nghĩa là khi tín hiệu cân bằng đến, nếu lợi nhuận hiện tại, sẽ dừng lỗ gấp 3 lần lợi nhuận; nếu lỗ hiện tại, sẽ dừng lỗ gấp 1 lần lỗ.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Hoạt động vòng tròn, rút nhỏ, phù hợp với giữ dây dài
  2. Chuyển động lọc vòng 8 tuần, nhận diện xu hướng chính
  3. Thiết lập Stop Loss Stop, kiểm soát rủi ro

Phân tích rủi ro

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

  1. Hoạt động vòng quanh, không thể điều chỉnh vị trí cho tình hình ngắn hạn
  2. Tín hiệu đột phá có thể bị lỗi
  3. Cài đặt Stop Loss có thể không hoạt động khi thị trường bất thường

Phản ứng:

  1. Có thể kết hợp với các chỉ số ngắn hạn khác để xác định cơ hội điều chỉnh ngắn hạn
  2. Thêm điều kiện lọc để tránh tín hiệu sai
  3. Điều chỉnh tỷ lệ dừng lỗ theo thị trường để giảm tổn thất

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. Thêm các điều kiện lọc khác để đảm bảo hiệu quả của tín hiệu đột phá
  2. Tối ưu hóa thiết lập tỷ lệ dừng lỗ
  3. Kết hợp các chỉ số ngắn hạn để thực hiện hợp tác với nhiều khung thời gian
  4. Tự động tối ưu hóa tham số bằng thuật toán học máy

Tóm tắt

Chiến lược này nói chung là đơn giản và trực tiếp, đánh giá xu hướng thị trường bằng đường tròn phá vỡ đường trung bình; đồng thời thiết lập ngăn chặn để kiểm soát rủi ro. Nó có thể được sử dụng như một tài liệu tham khảo của người nắm giữ bitcoin dài dòng. Tuy nhiên, chiến lược này cũng có một số khu vực mù, sau đó có thể được cải thiện từ việc nâng cao hiệu quả tín hiệu, tối ưu hóa cài đặt tham số, thực hiện kết hợp nhiều khung thời gian.

Mã nguồn chiến lược
/*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)