Chiến lược nắm bắt xu hướng đột phá theo chiều ngang


Ngày tạo: 2024-04-26 15:22:06 sửa đổi lần cuối: 2024-04-26 15:22:06
sao chép: 4 Số nhấp chuột: 627
1
tập trung vào
1617
Người theo dõi

Chiến lược nắm bắt xu hướng đột phá theo chiều ngang

Tổng quan

Chiến lược này sử dụng đường ngang làm mức hỗ trợ và mức kháng cự, tạo ra tín hiệu giao dịch khi giá vượt qua đường ngang. Ý tưởng chính là: Đầu tiên vẽ đường ngang theo một số điều kiện, làm nhiều hơn khi giá vượt qua đường ngang lên, khi giá vượt qua đường ngang xuống.

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

  1. Theo điều kiện giá tối thiểu của dòng K trước lớn hơn giá đóng cửa hiện tại, vẽ một đường ngang dài 20 ở vị trí giá tối thiểu của dòng K trước và luôn giữ chỉ 10 đường mới nhất.
  2. Nếu giá hiện tại đã vượt qua một đường ngang mới nhất, hãy xóa tất cả các đơn đặt hàng trước đó và thực hiện thêm.
  3. Khi vẽ một đường chân trời mới, nếu bạn đang nắm giữ một vị trí, hãy giảm vị trí trước, sau đó làm thêm.

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

  1. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  2. Các tín hiệu được tạo ra bằng cách phá vỡ các điểm kháng cự được hỗ trợ bởi các đường ngang để nắm bắt được xu hướng tốt hơn.
  3. Khi một đường chân trời mới được tạo ra, các vị trí trước đó sẽ được xóa đi trước khi mở một vị trí mới, điều này có thể làm giảm rủi ro của việc mở vị trí trước đó.
  4. Các chiến lược có thể được tối ưu hóa bằng cách điều chỉnh chiều dài và số lượng đường ngang.

Rủi ro chiến lược

  1. Đối với các trường hợp chấn động, việc phá vỡ đường ngang thường xuyên có thể dẫn đến giao dịch quá mức, dẫn đến điểm trượt và phí xử lý lớn.
  2. Chiến lược cho các định nghĩa đơn giản của đường ngang, thiếu xác minh các chỉ số khác, có thể tạo ra một số tín hiệu sai.
  3. “Trong một thời gian dài, chúng tôi đã làm rất nhiều để có thể làm được điều đó.

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

  1. Có thể kết hợp với các chỉ số khác để xác nhận tính hiệu quả của đường ngang, chẳng hạn như sự thay đổi khối lượng giao thông, để giảm tín hiệu sai.
  2. Đối với các trường hợp bất ổn, bạn có thể giảm tần suất giao dịch bằng cách tăng mức độ phá vỡ đường ngang.
  3. Nếu bạn tham gia một cơ chế giảm giá, bạn cũng có thể kiếm được lợi nhuận trong một xu hướng giảm.
  4. Có thể cân nhắc động điều chỉnh chiều dài và số lượng đường ngang để phù hợp với các tình huống khác nhau.

Tóm tắt

Chiến lược này sử dụng đường ngang làm mức kháng cự hỗ trợ quan trọng, tạo tín hiệu giao dịch bằng cách phá vỡ đường ngang. Ưu điểm là logic đơn giản, dễ thực hiện, có thể nắm bắt xu hướng tốt hơn. Tuy nhiên, nhược điểm là có thể giao dịch quá mức, tạo ra tín hiệu sai, và chỉ có thể làm nhiều hơn không thể trống.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Traderxprox

//@version=5
strategy("Alarm Trader_ALL", overlay=true)

// Yatay çizgi oluşum
yatayc = low[1] > close[0]

if yatayc
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")


//YATAY ÇİZGİ
int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları")
var array<line> lines = array.new<line>()
int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları")
kural22 = low[1] > close[0]
// if kural22
//     newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid)
//     // Push the `newLine` into the `lines` array.
//     lines.push(newLine)
//     // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`.
//     if array.size(lines) > numberOfLines
//         line.delete(lines.shift())
    
// Alarm kırılım için koşul

var float lastLinePrice = na
if not na(close) and array.size(lines) > 0 
    lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index)
if open < lastLinePrice and close > lastLinePrice
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")