Chiến lược phá vỡ fractal đôi

Tác giả:ChaoZhangNgày: 2024-01-30 15:53:27
Tags:

img

Tổng quan

Chiến lược phá vỡ fractal kép là một chiến lược giao dịch định lượng dựa trên nhận dạng mô hình kỹ thuật. Nó xác định sự đảo ngược xu hướng tiềm năng bằng cách phát hiện các hình thành fractal đáy kép và đỉnh kép, và tạo ra tín hiệu mua và bán khi giá phá vỡ các fractal này.

Chiến lược logic

Ý tưởng cốt lõi đằng sau chiến lược này nằm trong lý thuyết fractal. Sự xuất hiện của các điểm biến đổi ngắn hạn hình dạng M hoặc hình dạng W cho thấy một sự đảo ngược có thể xảy ra của xu hướng hiện hành. Cụ thể, các fractal dưới hoặc trên hình thành khi 5 thanh liên tiếp tạo ra các kết hợp cao / thấp cụ thể của các mức cao / thấp tương đối. Ví dụ, một fractal trên hình thành khi giá cao nhất của 2 thanh trước đó cao hơn giá của 3 thanh sau.

Chiến lược tạo ra tín hiệu dài và ngắn khi giá phá vỡ dưới các fractal dưới cùng và trên các fractal trên, vì những sự phá vỡ như vậy cho thấy khả năng đảo ngược xu hướng cao hơn.

Ưu điểm

Ưu điểm chính của chiến lược này là khả năng phát hiện các điểm đảo ngược xu hướng tiềm năng, có thể rất hữu ích cho các hệ thống giao dịch theo xu hướng.

Rủi ro

Rủi ro chính là việc phát hiện fractal không đảm bảo sự đảo ngược giá với sự chắc chắn hoàn toàn. Đôi khi giá chỉ có thể thực hiện điều chỉnh ngắn hạn mà không có thay đổi xu hướng thực sự. Các tín hiệu không chính xác có thể dẫn đến tổn thất không cần thiết trong những trường hợp như vậy. Để giảm thiểu rủi ro này, các chỉ số khác như khối lượng giao dịch có thể được sử dụng để xác minh tính hợp lệ của các tín hiệu đảo ngược.

Tăng cường

Các cách có thể để tăng cường chiến lược này bao gồm:

  1. Thêm các bộ lọc như âm lượng để tránh đảo ngược sai.

  2. Điều chỉnh các thông số để phát hiện các fractal kép độ lớn hơn và bắt được các biến động xu hướng lớn.

  3. Bao gồm việc di chuyển dừng lỗ để giảm lỗ từ các giao dịch xấu.

Kết luận

Chiến lược phá vỡ kép phân đoạn xác định sự đảo ngược giá tiềm năng bằng cách phát hiện các mô hình kỹ thuật cụ thể. Là một cách tiếp cận dựa trên chỉ số kỹ thuật, nó có thể theo dõi hiệu quả xu hướng ngắn và trung hạn trên thị trường và cung cấp kết quả rủi ro-lợi nhuận đáng kính.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

strategy("Fractal Breakout Strategy", overlay=true)

FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or 
   high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2] or 
   high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and 
   high[3] <= high[2] and high[1] < high[2] and high < high[2] or 
   high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and 
   high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and 
   high < high[2] or 
   high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and 
   high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")

FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or 
   low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and 
   low > low[2] or 
   low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and 
   low[1] > low[2] and low > low[2] or 
   low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and 
   low[3] >= low[2] and low[1] > low[2] and low > low[2] or 
   low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and 
   low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")

if crossover(close, FractalUp)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close, FractalDown)
    strategy.entry("Short", strategy.short, comment="Short")


Thêm nữa