Chiến lược đột phá của Rùa


Ngày tạo: 2023-12-04 16:25:53 sửa đổi lần cuối: 2023-12-04 16:25:53
sao chép: 0 Số nhấp chuột: 641
1
tập trung vào
1619
Người theo dõi

Chiến lược đột phá của Rùa

Tổng quan

Chiến lược này là một chiến lược giao dịch ngắn hạn dựa trên lý thuyết phá vỡ. Nó kết hợp với việc sử dụng chỉ số đường trung bình và chỉ số giá cao / giá thấp để xác định tín hiệu phá vỡ để nắm bắt lợi nhuận trên xu hướng ngắn hạn.

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

Chiến lược này sử dụng giá cao nhất 20 ngày để xác định xu hướng tăng, làm nhiều hơn khi giá đóng cửa phá vỡ giá cao nhất 20 ngày; sử dụng giá thấp nhất 10 ngày để xác định xu hướng giảm, khi giá đóng cửa giảm xuống dưới giá thấp nhất 10 ngày. Đồng thời, nó cũng sử dụng một giá cao nhất 10 ngày ngắn hơn như một tín hiệu thoát lỗ để tháo lỗ.

Cụ thể, chiến lược bao gồm các quy tắc sau:

  1. Khi giá đóng cửa cao hơn mức cao nhất 20 ngày, bạn có thể thêm vào.
  2. Bỏ cổ phiếu khi giá đóng cửa thấp hơn mức thấp nhất trong 10 ngày;
  3. Hạn chế vị trí đầu khi giá đóng cửa lớn hơn mức cao nhất trong ngày 10;
  4. Khi giá đóng cửa thấp hơn giá thấp nhất trong ngày 10, hãy đặt nhiều vị trí đầu tiên.

Bằng cách so sánh giá đóng cửa với các giá cao nhất và thấp nhất trong các chu kỳ khác nhau, chiến lược này nắm bắt các đột phá xu hướng trong các chu kỳ ngắn hơn và thực hiện các hoạt động ngắn.

Phân tích lợi thế

Chiến lược này có một số lợi thế:

  1. Lập luận của chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  2. Sử dụng lý thuyết đột phá để bắt kịp các xu hướng ngắn hạn;
  3. Trong khi đó, các cơ hội đầu tư đa đầu và đầu tư không đầu sẽ được đánh giá và giao dịch hai chiều có thể được thực hiện.
  4. Cài đặt phạm vi tham số khác nhau, có thể điều chỉnh thời gian nắm giữ một cách linh hoạt.

Phân tích rủi ro

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

  1. Các giao dịch đột phá dễ bị mắc kẹt và cần thiết phải đặt lệnh dừng lỗ để kiểm soát rủi ro;
  2. Chuyển đổi nhiều đầu trống thường xuyên, làm tăng chi phí giao dịch và mất điểm trượt;
  3. Thiết lập tham số không đúng có thể dẫn đến giao dịch quá thường xuyên hoặc chậm trễ.

Để kiểm soát rủi ro, bạn có thể đặt mức dừng để hạn chế tổn thất đơn lẻ, hoặc điều chỉnh các tham số để kiểm soát tần suất giao dịch.

Hướng tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:

  1. Thêm các bộ lọc cho các chỉ số khác để tránh đột phá sai;

  2. Thiết lập các cơ chế rút lui động, sử dụng lợi nhuận để theo dõi lỗ hổng;

  3. Tham gia vào quy tắc đánh giá xu hướng, tránh giao dịch ngược;

  4. Tối ưu hóa phạm vi tham số để thích ứng với các chu kỳ khác nhau và môi trường thị trường.

Tóm tắt

Chiến lược này nói chung là một chiến lược phá vỡ ngắn hạn đơn giản và thực tế. Nó có lợi cho việc nắm bắt các cơ hội xu hướng trong thời gian ngắn hơn. Nhưng cũng có nguy cơ bị bóp mép và tần số giao dịch cao. Bằng cách thêm các phương tiện như Filters, Stop Loss, tối ưu hóa tham số, bạn có thể kiểm soát rủi ro và tăng hiệu quả chiến lược.

Mã nguồn chiến lược
/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("TurtleBC Strategy v2 V.Troussel", shorttitle="TurtleBC-V.Troussel", overlay=true, pyramiding=0)

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2016, title = "From Year", minval = 2016)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 9999)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
exit_fast_short=input(10,minval=1)


fastL = highest(close, enter_fast)
fastS = highest(close ,exit_fast_short)
fastLC = lowest(close, exit_fast)
//Sortie pour le short
exitS=close>fastS[1]


enterL1 = close > fastL[1]
exitL1 = close <= fastLC[1]




strategy.entry("Long", strategy.long, when = enterL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Long", when = exitL1 and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))

//le trigger de sortie est 
strategy.entry("Short", strategy.short, when = exitL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Short", when = exitS and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))