Chiến lược giao dịch phối hợp MT

Tác giả:ChaoZhang, Ngày: 2024-01-25 15:06:04
Tags:

img

Tổng quan

Chiến lược giao dịch phối hợp MT là một chiến lược giao dịch định lượng tiên tiến tích hợp nhiều chỉ số kỹ thuật để xác định các cơ hội giao dịch ngắn hạn trên thị trường tài chính.

Chiến lược logic

Chiến lược này kết hợp ba đường trung bình di chuyển trơn tru (SMA) của các khung thời gian khác nhau (21, 50, 200), Chỉ số sức mạnh tương đối 14 ngày (RSI) và Fractals Williams (2 ngày).

Tín hiệu dài: Được kích hoạt khi gần trên tất cả ba SMA, RSI trên 50 và mức cao hiện tại lớn hơn so với fractal trước đó.

Tín hiệu ngắn: Được kích hoạt khi gần dưới tất cả ba SMA, RSI dưới 50 và mức thấp hiện tại thấp hơn fractal trước đó.

Định kích thước vị trí được tính toán năng động dựa trên tỷ lệ phần trăm vốn chủ sở hữu và mức đòn bẩy được chọn.

Phân tích lợi thế

Chiến lược này kết hợp nhiều chỉ số để lọc ra các tín hiệu sai và xác định mức độ đột phá có khả năng cao, làm giảm đáng kể rủi ro giao dịch. Trong khi đó, kích thước vị trí được đặt theo tỷ lệ phần trăm vốn hóa tài khoản, kiểm soát lỗ duy nhất.

Các điểm mạnh cụ thể là:

  1. Sử dụng các chỉ số nhiều khung thời gian để xác nhận để tránh bẫy.

  2. Chỉ số RSI tránh vùng mua quá mức và bán quá mức. Giá trị trên 50 báo hiệu tăng và dưới 50 báo hiệu giảm.

  3. Các Fractal Williams xác minh thêm sự đột phá, chỉ vào khi xâm nhập cực đoan.

  4. Định dạng vị trí động dựa trên tỷ lệ phần trăm số dư tài khoản quản lý nghiêm ngặt.

  5. Các thông số tùy chỉnh phù hợp với các phong cách giao dịch khác nhau.

Phân tích rủi ro

Những rủi ro chính của chiến lược này bao gồm:

  1. Không thể tránh hoàn toàn whipsaws khi SMAs khác nhau.

  2. Không thể thoát kịp thời trước khi xu hướng đảo ngược do các chỉ số chậm.

  3. Rủi ro mất toàn bộ vị trí trong các động thái cực đoan khi mất mát vượt quá cài đặt trước.

Giải pháp:

  1. Tối ưu hóa sự kết hợp SMAs để tìm các thông số tốt nhất.

  2. Thêm các bộ lọc nến để tránh tiếp tục thoát sai.

  3. Giảm tỷ lệ phần trăm và mức đòn bẩy phù hợp.

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

Chiến lược có thể được tăng cường hơn nữa bằng cách:

  1. Kiểm tra các kết hợp khác nhau của SMA và RSI cho các thông số tối ưu.

  2. Tích hợp các bộ lọc bổ sung như chiều rộng Bollinger Bands, tín hiệu giao dịch vv

  3. Thêm các cơ chế dừng lỗ để cắt giảm lỗ ở một mức độ được xác định trước.

  4. Tích hợp các mô hình học tập sâu để phát hiện hỗ trợ và kháng cự.

  5. Thực hiện chương trình định kích thước vị trí thích nghi để định kích thước vị trí hợp lý.

Kết luận

Chiến lược giao dịch phối hợp MT là một hệ thống đột phá trưởng thành tận dụng nhiều khung thời gian. Bằng cách kết hợp các chỉ số để lọc tín hiệu và quản lý kích thước vị trí một cách năng động, nó có khả năng tạo ra lợi nhuận nhất quán cho các quỹ vốn hóa và các nhà giao dịch chuyên nghiệp thông qua điều chỉnh tham số liên tục và tối ưu hóa mô hình.


/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Written by I3ig_Trades. Follow And Let Me Know Any Strategies You'd Like To See!
strategy("Best Scalping Strategy Period (TMA)", shorttitle="Best Scalping Strategy Period (TMA)", overlay=false,
         initial_capital=100000, 
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100)

// Leverage Input
leverage = input.float(1, title="Leverage", minval=1, step=0.1)

// Calculate position size based on the percentage of the portfolio and leverage
percentOfPortfolio = input.float(100, title="Percent of Portfolio")

// Define input options
rsiLength = input.int(14, title="RSI Length", minval=1)
williamsLength = input.int(2, title="Williams Fractals Length", minval=1)
sma21Length = input.int(21, title="SMA 21 Length", minval=1)
sma50Length = input.int(50, title="SMA 50 Length", minval=1)
sma200Length = input.int(200, title="SMA 200 Length", minval=1)

// Smoothed Moving Averages
sma21 = ta.sma(close, sma21Length)
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Williams Fractals
fractalUp = ta.highest(close, williamsLength)
fractalDown = ta.lowest(close, williamsLength)

// Conditions for Buy Entry
buyCondition = close > sma21 and close > sma50 and close > sma200 and rsiValue > 50 and high > fractalUp[1]

// Conditions for Sell Entry
sellCondition = close < sma21 and close < sma50 and close < sma200 and rsiValue < 50 and low < fractalDown[1]

positionSizePercent = percentOfPortfolio / 100 * leverage
positionSize = strategy.equity * positionSizePercent / close

// Executing strategy with dynamic position size
if buyCondition
    strategy.entry("Buy", strategy.long, qty=positionSize)

if sellCondition
    strategy.entry("Sell", strategy.short, qty=positionSize)

// Plotting the Smoothed Moving Averages
plot(sma21, color=color.white)
plot(sma50, color=color.green)
plot(sma200, color=color.red)

// Plotting RSI and Fractals for visual confirmation
hline(50, "RSI 50", color=color.yellow)
plot(rsiValue, color=color.blue, title="RSI")

// Input text boxes for trading actions
var buy_entry_params = input("", title="Buy Entry Parameters")
var buy_exit_params = input("", title="Buy Exit Parameters")
var sell_entry_params = input("", title="Sell Entry Parameters")
var sell_exit_params = input("", title="Sell Exit Parameters")


Thêm nữa