Chiến lược đột phá theo xu hướng


Ngày tạo: 2023-12-08 17:16:34 sửa đổi lần cuối: 2023-12-08 17:16:34
sao chép: 1 Số nhấp chuột: 573
1
tập trung vào
1621
Người theo dõi

Chiến lược đột phá theo xu hướng

Tổng quan

Chiến lược này thực hiện theo dõi xu hướng giá tiền điện tử bằng cách thiết lập các điểm cao và thấp khi giá phá vỡ. Làm nhiều khi giá phá vỡ điểm cao nhất, làm trống khi giá phá vỡ điểm thấp nhất, để nắm bắt xu hướng.

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

Chiến lược này chủ yếu sử dụng phương pháp trung bình di chuyển phẳng để xác định liệu giá có xu hướng tăng hoặc giảm rõ ràng hay không. Cụ thể, nó sẽ thống kê giá cao nhất và giá thấp nhất trong một khoảng thời gian nhất định, khi giá giao dịch thực tế vượt quá giá cao nhất thống kê, nó được coi là xu hướng tăng; khi giá giao dịch thực tế thấp hơn giá thấp nhất thống kê, nó được coi là xu hướng giảm.

Giá mở lỗ được thiết lập bằng các tham số ENTRY và giá bán bằng tham số EXIT. Thời gian đo lại cũng có thể được thiết lập bằng các tham số. Điều này có thể được thực hiện bằng cách điều chỉnh các tham số để tìm kiếm kết hợp combo tốt nhất.

Cụ thể, chiến lược chính của họ là:

  1. Giá cao nhất và giá thấp nhất trong một chu kỳ thống kê (có thể đặt)
  2. Xác định giá giao dịch thực tế có cao hơn giá cao nhất hay không
    1. Nếu cao hơn, có nhiều cơ hội, mở nhiều vị trí theo mức giá được thiết lập theo tham số ENTRY
    2. Nếu giá giao dịch thực tế thấp hơn giá thấp nhất, có cơ hội để thực hiện giao dịch ngắn hạn, mở một vị trí trống theo mức giá được đặt theo tham số HEXIT
  3. Sau khi mở nhiều vị trí, khi giá thấp hơn giá được đặt cho tham số HEXIT
  4. Sau khi mở một vị trí trống, khi giá cao hơn giá được đặt cho tham số thùng ENTRY thùng

Thông qua vòng lặp logic này, có thể nắm bắt xu hướng tăng và giảm giá, theo dõi xu hướng.

Lợi thế chiến lược

Ưu điểm lớn nhất của chiến lược này là có thể tự động nắm bắt xu hướng giá thông qua điều chỉnh tham số, không cần đánh giá hướng xu hướng bằng tay. Nếu tham số được đặt đúng, bạn có thể tự động theo dõi biến động giá của tiền điện tử.

Ngoài ra, chiến lược này rất phù hợp với giao dịch định lượng, có thể dễ dàng thực hiện đặt hàng tự động. Không cần thao tác bằng tay, giảm nguy cơ giao dịch cảm xúc, có thể làm tăng hiệu quả giao dịch.

Cuối cùng, chiến lược này cũng có thể tối đa hóa lợi nhuận bằng cách điều chỉnh các tham số. Bằng cách thử nghiệm các tham số ENTRY và EXIT khác nhau, bạn có thể tìm thấy tham số tối ưu để tối đa hóa lợi nhuận.

Rủi ro chiến lược

Rủi ro lớn nhất của chiến lược này là thiết lập tham số không đúng có thể dẫn đến giao dịch quá thường xuyên, tăng phí giao dịch và mất điểm trượt. Nếu thiết lập ENTRY quá thấp, thiết lập EXIT quá cao, rất dễ tạo ra tín hiệu giao dịch giả.

Ngoài ra, nếu tham số được điều chỉnh không đúng cách, nó có thể dẫn đến việc không thể nắm bắt xu hướng giá kịp thời và bỏ lỡ cơ hội giao dịch. Điều này đòi hỏi phải tìm ra tham số tối ưu bằng cách thử nghiệm lại rất nhiều.

Cuối cùng, chiến lược này quá nhạy cảm với tiếng ồn thị trường ngắn hạn, có thể tạo ra tín hiệu giao dịch sai. Điều này cần được tránh bằng cách thiết lập các tham số chu kỳ thời gian giao dịch thích hợp.

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được tiếp tục tối ưu hóa theo các hướng sau:

  1. Tăng logic dừng lỗ. Như vậy, bạn có thể dừng lỗ khi lỗ mở rộng đến một tỷ lệ nhất định, tránh thiệt hại lớn hơn.

  2. Thêm bộ lọc các chỉ số kỹ thuật như trung bình di chuyển. Sử dụng các chỉ số như MA, KDJ để đánh giá xu hướng lớn, tránh tiếng ồn ngắn hạn dẫn đến quá nhiều giao dịch.

  3. Logic thiết lập tham số tối ưu. Có thể thiết lập cơ chế thay đổi thích ứng của tham số ENTRY, EXIT, thay vì thiết lập tĩnh, cho phép điều chỉnh tham số theo môi trường thị trường.

  4. Sử dụng các tham số tối ưu để đào tạo máy học. Bằng cách đào tạo một lượng lớn dữ liệu lịch sử, để có được các thiết lập ENTRY và EXIT tối ưu cho môi trường thị trường hiện tại.

Tóm tắt

Chiến lược này cho phép tự động hóa giao dịch bằng cách nắm bắt xu hướng giá, lợi thế lớn nhất là có thể giảm ảnh hưởng của cảm xúc nhân tạo đối với giao dịch, giảm rủi ro, tăng hiệu quả. Đồng thời có thể tìm kiếm điểm lợi nhuận tối ưu bằng cách điều chỉnh tham số.

Rủi ro chính của chiến lược này là thiết lập tham số không đúng cách và quá nhạy cảm với tiếng ồn thị trường. Điều này cần được cải thiện bằng các phương tiện như dừng lỗ, lọc chỉ số và tối ưu hóa tham số thích ứng.

Nhìn chung, chiến lược này là một chiến lược theo dõi xu hướng đơn giản và hiệu quả, phù hợp với định lượng và tự động hóa giao dịch. Bằng cách tối ưu hóa liên tục, bạn có thể tăng thêm sự ổn định của chiến lược.

Mã nguồn chiến lược
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 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/
// © JstMtlQC

//@version=4
strategy("Trend Following Breakout",calc_on_order_fills=true,calc_on_every_tick =false, overlay=true, initial_capital=2000,commission_value=.1,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)


/////////////// INPUT ENTRY EXIT
entry= input(100, "ENTRY H/L")
exit= input(50, "EXIT H/L")

/////////////// Backtest Input
FromYear = input(2015, "Backtest Start Year")
FromMonth = input(1, "Backtest Start Month")
FromDay = input(1, "Backtest Start Day")
ToYear = input(2999, "Backtest End Year")
ToMonth = input(1, "Backtest End Month")
ToDay = input(1, "Backtest End Day")

/////////////// Backtest Setting
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
window()  => time >= start and time <= finish ? true : false 

/////////////// BUY OPEN PLOT
highestpricelong = highest(high,entry)[1]
plot(highestpricelong, color=color.green, linewidth=2)

/////////////// BUY CLOSE PLOT
lowestpricelong = lowest(high,exit)[1]
plot(lowestpricelong, color=color.green, linewidth=2)

/////////////// SHORT OPEN PLOT
lowestpriceshort = lowest(low,entry)[1]
plot(lowestpriceshort, color=color.red, linewidth=2)

/////////////// SHORT CLOSE PLOT
highestpriceshort = highest(low,exit)[1]
plot(highestpriceshort, color=color.red, linewidth=2)

///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// CONDITION LONG SHORT //////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

/////////////// SHORT 

entryshort= crossunder(close, lowestpriceshort)
exitshort= crossover(close,highestpriceshort)

/////////////// LONG 

exitlong= crossover(close, lowestpricelong)
entrylong= crossover(close,highestpricelong)

///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// LONG and SHORT ORDER //////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

/////////////// LONG 

if (entrylong)
    strategy.entry("LongEntry", strategy.long, when = window())
if (exitlong or entryshort)
    strategy.close("LongEntry", when=window())

/////////////// SHORT 

if (entryshort)
    strategy.entry("short", strategy.short, when = window())
if (exitshort or entrylong)
    strategy.close("short", when=window())