Chiến lược lợi nhuận hiệu quả

Tác giả:ChaoZhang, Ngày: 2023-11-02 15:02:05
Tags:

img

Tổng quan

Chiến lược lợi nhuận hiệu quả theo đợt chuyển động (Momentum Swing Effective Profit Strategy) là một chiến lược giao dịch định lượng được thiết kế để nắm bắt các cơ hội lợi nhuận trong thị trường tài chính trung hạn bằng cách tích hợp các nguyên tắc giao dịch chuyển động và các chỉ số đợt chuyển động. Chiến lược sử dụng một sự kết hợp các chỉ số kỹ thuật bao gồm trung bình động, tín hiệu chéo và phân tích khối lượng để tạo ra các tín hiệu mua và bán. Mục tiêu là xác định xu hướng thị trường và tận dụng đợt chuyển động giá để kiếm lợi nhuận.

Chiến lược logic

Tín hiệu mua được xác định bởi nhiều yếu tố bao gồm A1, A2, A3, XG và WeeklySlope.

Điều kiện A1: Kiểm tra các mối quan hệ giá cụ thể, xác minh tỷ lệ giá cao nhất với giá đóng cửa nhỏ hơn 1,03, tỷ lệ giá mở cửa với giá thấp nhất nhỏ hơn 1,03, và tỷ lệ giá cao nhất với giá đóng cửa trước đó lớn hơn 1,06. Điều kiện này tìm kiếm một mô hình cụ thể cho thấy đà tăng tiềm năng.

A2 Điều kiện: Kiểm tra mối quan hệ giá liên quan đến giá đóng cửa, xác minh tỷ lệ giá đóng cửa với giá mở cửa lớn hơn 1,05 hoặc tỷ lệ giá đóng cửa với giá đóng cửa trước đó lớn hơn 1,05. Điều kiện này tìm kiếm các dấu hiệu của chuyển động và động lực giá tăng.

Điều kiện A3: Tập trung vào khối lượng, kiểm tra xem khối lượng hiện tại có vượt quá khối lượng cao nhất trong 60 giai đoạn qua không.

Điều kiện XG: Kết hợp các điều kiện A1 và A2 và kiểm tra xem chúng có đúng cho cả thanh hiện tại và thanh trước đó hay không. Nó cũng xác minh tỷ lệ giá đóng cửa với 5-thời gian EMA vượt qua trên 9-thời gian SMA của cùng một tỷ lệ. Điều kiện này giúp xác định tín hiệu mua tiềm năng khi nhiều yếu tố liên kết, chỉ ra đà tăng mạnh và điểm nhập tiềm năng.

Nhân tố xu hướng hàng tuần: Tính toán độ nghiêng của SMA 50 giai đoạn trên một khung thời gian hàng tuần. Nó kiểm tra xem độ nghiêng có dương tính không, chỉ ra xu hướng tăng tổng thể hàng tuần. Điều kiện này cung cấp xác nhận bổ sung rằng cổ phiếu đang có xu hướng tăng.

Khi tất cả các điều kiện này được đáp ứng, điều kiện mua được kích hoạt, cho thấy thời gian thuận lợi để vào một vị trí dài.

Điều kiện bán là tương đối đơn giản trong chiến lược:

Tín hiệu bán: Điều kiện bán chỉ đơn giản là kiểm tra xem giá đóng cửa có vượt dưới đường EMA 10 giai đoạn không. Khi điều kiện này được đáp ứng, nó chỉ ra một sự đảo ngược hoặc suy yếu tiềm năng của đà tăng giá, và một tín hiệu bán được tạo ra.

Phân tích lợi thế

  • Kết hợp giao dịch chuyển động và chỉ số động lực, tích hợp các ý tưởng chiến lược khác nhau
  • Tối ưu hóa sự kết hợp của nhiều chỉ số kỹ thuật để xác định các cơ hội giao dịch có xác suất cao
  • Sử dụng các kỹ thuật định kích thước vị trí và dừng lỗ để quản lý rủi ro
  • Kết quả backtest tốt với lợi nhuận ròng đáng kể và tỷ lệ thắng

Phân tích rủi ro

  • Hiệu quả hơn trong thị trường tăng, không thể thích nghi với thị trường giảm
  • Những vụ phá vỡ sai lầm có thể dẫn đến những giao dịch sai
  • Định kích thước vị trí không chính xác và cài đặt dừng lỗ có thể làm tăng tổn thất
  • Các thông số cần điều chỉnh thích hợp cho môi trường thị trường khác nhau

Tối ưu hóa

  • Thêm các chỉ số lọc để cải thiện chất lượng tín hiệu
  • Tối ưu hóa các phương pháp dừng lỗ như dừng lỗ kéo theo
  • Điều chỉnh động kích thước vị trí
  • Kết hợp học máy để cải thiện tối ưu hóa tham số

Kết luận

Chiến lược Lợi nhuận hiệu quả chuyển động động tích hợp các nguyên tắc giao dịch chuyển động và các chỉ số động lực thông qua tối ưu hóa tham số và tích hợp điều kiện, đạt được lợi nhuận đáng kể trong backtests. Nó nắm bắt các xu hướng trung hạn tốt nhưng nên nhận thức được rủi ro đảo ngược xu hướng.


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © fzj20020403
//@version=5
strategy("Slight Swing Momentum Strategy.", overlay=true)

// Position Status Definition
var inPosition = false

// Moving Average Definition
ma60 = ta.sma(close, 60)

// A1 Condition Definition
A1 = high / close < 1.03 and open / low < 1.03 and high / close[1] > 1.06

// A2 Condition Definition
A2 = close / open > 1.05 or close / close[1] > 1.05

// A3 Condition Definition
highestVol = ta.highest(volume, 60)
A3 = ta.crossover(volume, highestVol[1])

// B1 Condition Definition
ema5 = ta.ema(close, 5)
B1 = close / ema5

// XG Condition Definition
A1andA2 = (A1 and A2) and (A1[1] and A2[1])
XG = ta.crossover(B1, ta.sma(B1, 9))

// Weekly Trend Factor Definition
weeklyMa = ta.sma(close, 50)
weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0

// Buy Signal using XG Condition
buySignal = A1 and close > ma60 or A2 and A3 and XG and close > ma60 and weeklySlope 

// Sell Signal Condition
sellSignal = close < ta.ema(close, 10)

// Buy and Sell Conditions
buyCondition = buySignal and not inPosition
sellCondition = sellSignal and inPosition

// Execute Buy and Sell Operations
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    inPosition := true
if (sellCondition)
    strategy.close("Buy")
    inPosition := false

// Stop Loss and Take Profit Levels
stopLoss = strategy.position_avg_price * 0.5
takeProfit = strategy.position_avg_price * 1.30

// Apply Stop Loss and Take Profit Levels
if inPosition
    strategy.exit("Long Stop Loss", "Buy", stop=stopLoss)
    strategy.exit("Long Take Profit", "Buy", limit=takeProfit)

// Plot Buy and Sell Signal Shapes
plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small)

// EMA Variable Definition
ema = ta.ema(close, 5)

// Plot Indicator Line
plot(ema, color=color.green, title="EMA")


Thêm nữa