Chiến lược giao dịch đột phá tích lũy dần dần

Tác giả:ChaoZhang, Ngày: 2023-10-25 17:34:41
Tags:

img

Tổng quan

Chiến lược giao dịch đột phá tích lũy dần nhằm mục đích xác định các giai đoạn tích lũy và phân phối tiềm năng trên thị trường bằng cách sử dụng các nguyên tắc phân tích Wyckoff, bổ sung bằng việc phát hiện các mô hình mùa xuân và tăng, để tìm kiếm các cơ hội mua và bán tiềm năng.

Chiến lược logic

  1. Sử dụng đường chéo trung bình động của chiều dài khác nhau để xác định các giai đoạn tích lũy và phân phối. Khi giá đóng vượt trên MA của chiều dài AccumulationLength, nó chỉ ra giai đoạn tích lũy. Khi giá đóng vượt dưới MA của chiều dài DistributionLength, nó chỉ ra giai đoạn phân phối.

  2. Sử dụng đường chéo trung bình động của các chiều dài khác nhau để xác định các mô hình mùa xuân và tăng động lực. Khi giá thấp vượt trên MA của chiều dài SpringLength, nó chỉ ra mùa xuân. Khi giá cao vượt dưới MA của chiều dài UpthrustLength, nó chỉ ra tăng động lực.

  3. Đi dài khi một mùa xuân được quan sát trong giai đoạn tích lũy. Đi ngắn khi một động lực tăng được quan sát trong giai đoạn phân phối.

  4. Đặt mức dừng lỗ. Lãng dừng lỗ được đặt ở mức đóng * (1 - Stop Percentage%).

  5. Hình dạng biểu đồ trên biểu đồ để chỉ ra các mô hình tích tụ, phân bố, xuân và đẩy lên được xác định để dễ dàng nhận dạng bằng mắt.

Phân tích lợi thế

  1. Xác định các giai đoạn tích lũy và phân phối bằng cách sử dụng phân tích Wyckoff cải thiện độ tin cậy của tín hiệu giao dịch.

  2. Xác nhận tín hiệu với mô hình mùa xuân và đẩy lên cung cấp xác nhận thêm.

  3. Stop loss giúp kiểm soát lỗ giao dịch duy nhất.

  4. Các chú thích biểu đồ cho thấy rõ toàn bộ quá trình cuộn giá.

  5. Các tham số có thể điều chỉnh làm cho chiến lược này tối ưu hóa trên các thị trường và khung thời gian.

Phân tích rủi ro

  1. Whipsaws có thể tạo ra các tín hiệu sai trong hành động giá hỗn loạn.

  2. Mùa xuân và đẩy lên có thể thất bại đôi khi.

  3. Việc dừng lỗ có thể làm tăng lỗ.

  4. Các thông số không tương thích cho các thị trường khác nhau có thể gây ra tín hiệu không chính xác.

  5. Các hệ thống cơ khí thiếu điều khiển tùy chọn linh hoạt.

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

  1. Kiểm tra các kết hợp thông số tối ưu trên các thị trường và khung thời gian.

  2. Xem xét việc kết hợp âm lượng để xác nhận tín hiệu.

  3. Đặt dừng động dựa trên biến động thị trường.

  4. Bao gồm các yếu tố cơ bản để tránh các tín hiệu trong các sự kiện lớn.

  5. Áp dụng máy học để tối ưu hóa các tham số một cách năng động.

Tóm lại

Chiến lược giao dịch đột phá tích lũy dần tích hợp phân tích Wyckoff, trung bình động, nhận dạng mẫu và các kỹ thuật khác để xác định hiệu quả hành động giá cuộn và tạo ra các tín hiệu giao dịch. Nó có tín hiệu đáng tin cậy, rủi ro được kiểm soát, hình ảnh rõ ràng và các lợi thế khác. Là một hệ thống cơ học, tính thận trọng và khả năng thích nghi của nó cần cải thiện.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
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/
// © deperp

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

if (enterShort)
    strategy.entry("Short", strategy.short)

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)

Thêm nữa