Chiến lược theo dõi nhiều đường trung bình động và hệ thống quản lý vị trí động

EMA ATR
Ngày tạo: 2025-02-27 10:20:18 sửa đổi lần cuối: 2025-02-27 10:20:18
sao chép: 0 Số nhấp chuột: 478
2
tập trung vào
319
Người theo dõi

Chiến lược theo dõi nhiều đường trung bình động và hệ thống quản lý vị trí động Chiến lược theo dõi nhiều đường trung bình động và hệ thống quản lý vị trí động

Tổng quan

Hệ thống quản lý vị trí động với chiến lược theo dõi đường trung bình đa dạng là một chiến lược giao dịch định lượng dựa trên đường trung bình di chuyển đa chỉ số ((EMA)). Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách giám sát năm chu kỳ khác nhau ((12, 144, 169, 576 và 676) của chỉ số EMA, bao gồm phán đoán xu hướng, nhận dạng tín hiệu nhập cảnh, xây dựng lô hàng, dừng lỗ động và dừng động. Chiến lược này không chỉ hỗ trợ đặt hàng nhiều lần, mà còn có thể thiết lập tối đa 5 vị trí giao dịch và có các biện pháp kiểm soát rủi ro độc lập cho mỗi vị trí.

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

Lý luận cốt lõi của chiến lược này dựa trên mối quan hệ vị trí giữa nhiều chỉ số EMA và sự tương tác của giá với EMA quan trọng:

  1. Cơ chế đánh giá xu hướng:

    • Điều kiện xu hướng đa đầu: EMA12 > EMA144 > EMA169 > EMA576 > EMA676
    • Điều kiện xu hướng không: EMA12 < EMA144 < EMA169 < EMA576 < EMA676
  2. Kích hiệu vào cửa:

    • Bước vào đa đầu: dựa trên việc đáp ứng xu hướng đa đầu, khi điểm thấp vượt qua EMA144 và giá đóng cửa nằm trên EMA169
    • Bước vào đầu trống: dựa trên việc đáp ứng xu hướng đầu trống, khi giá cao vượt qua EMA144 và giá đóng cửa dưới EMA169
  3. Xây dựng kho hàng loạt:

    • Xây dựng vị trí đầu tiên: phù hợp với tín hiệu nhập và không giữ vị trí
    • Xây dựng lần thứ hai: đáp ứng tín hiệu nhập và hiện đang có một vị trí
    • 3 đến 5 lần đặt hàng: dựa trên tín hiệu nhập cảnh, cũng cần khoảng cách từ lần đặt hàng trước hơn 50 đường K
  4. Động lực dừng dừng:

    • Mỗi vị trí sử dụng điểm dừng động, dựa trên giá thấp nhất (vô đầu) hoặc giá cao nhất (vô đầu) của 12 đường K khi xây dựng vị trí
    • Sử dụng chiến lược dừng đối xứng, giá mục tiêu là “giá vào + (giá vào - giá dừng) “
    • Lợi nhuận theo đợt: Mỗi vị trí đạt điểm dừng, 50% vị trí được thanh toán trước, phần còn lại được giữ cho đến khi chạm điểm dừng
  5. Kiểm soát rủi ro tổng thể:

    • Khi EMA12 và EMA144 giao nhau, tất cả các vị trí đều bằng nhau

Nhìn chung, chiến lược này xác định định hướng xu hướng thị trường bằng cách sắp xếp nhiều EMA, xác định thời gian nhập cảnh bằng cách tương tác của giá với EMA144 và thiết lập điểm dừng lỗ động bằng các khu vực biến động giá gần đây, đồng thời tối ưu hóa quản lý tiền bằng cách phân chia kho và phân chia lợi nhuận, cuối cùng tạo thành một hệ thống giao dịch hoàn chỉnh.

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

  1. Xác định xu hướng hệ thống:

    • Sử dụng hệ thống đánh giá xu hướng hình thành hình ba của năm chu kỳ EMA khác nhau để giảm nguy cơ phá vỡ giả
    • Bộ sưu tập các chỉ số EMA cung cấp tiêu chuẩn định lượng cho sự mạnh mẽ của xu hướng, giúp các quyết định giao dịch trở nên khách quan hơn
  2. Cơ chế nhập học chính xác:

    • Hành động giao thoa giữa giá và đường trung bình như một điều kiện kích hoạt nhập cảnh, tăng hiệu quả thời gian nhập cảnh
    • Yêu cầu tín hiệu nhập xác nhận trong 12 đường K, giảm nguy cơ giao dịch trễ
  3. Quản lý tài chính thông minh:

    • Xây dựng lô hàng hỗ trợ tối đa 5 lô hàng, thích ứng với các giai đoạn phát triển thị trường khác nhau
    • Xây dựng nhà kho tiếp theo cần phải đáp ứng khoảng thời gian tối thiểu ((50 đường K), tránh xây dựng nhà kho quá mức trong một thời gian ngắn
  4. Chiến lược lợi nhuận linh hoạt:

    • Sử dụng nguyên tắc “symmetrical stop-loss” để có được vị trí lợi thế dựa trên mục tiêu tính toán động của giá vào và điểm dừng lỗ
    • Tỷ lệ lợi nhuận theo lô ((50% vị trí), khóa một phần lợi nhuận trong khi giữ lại không gian tăng giá
  5. Kiểm soát rủi ro nghiêm ngặt:

    • Mỗi vị trí đặt điểm dừng độc lập, dựa trên phạm vi biến động gần đây (12 đường K)
    • Tín hiệu đảo ngược xu hướng ((EMA12 và EMA144 giao nhau) kích hoạt toàn bộ vị trí bằng phẳng, dừng lỗ kịp thời
  6. Khả năng thích nghi cao:

    • Đồng thời hỗ trợ giao dịch đa đầu và vô đầu, thích ứng với các môi trường thị trường khác nhau
    • Điều chỉnh thông qua các tham số (ví dụ như ATR, số lượng K) để phù hợp với các giống và chu kỳ khác nhau

Rủi ro chiến lược

  1. Rủi ro tụt hậu trung bình:

    • Chỉ số EMA có một số độ trễ, có thể dẫn đến thời gian nhập cảnh hoặc xuất cảnh không tốt khi thị trường biến động mạnh
    • Phương pháp giảm nhẹ: Có thể xem xét kết hợp với chỉ số động lượng ngắn hạn như hỗ trợ để tăng tốc độ phản ứng của hệ thống
  2. Căng thẳng tài chính cho việc xây dựng kho hàng loạt:

    • Chiến lược gia tăng cổ phiếu hỗ trợ tối đa 5 vị trí có thể dẫn đến sự tập trung vốn quá cao
    • Phương pháp giảm thiểu: Cần thiết lập tỷ lệ hợp lý cho mỗi lần xây dựng theo tổng số vốn để đảm bảo sự cân bằng phân bổ vốn
  3. Hạn chế của tham số chu kỳ cố định:

    • Chu kỳ EMA trong mã ((12, 144, 169, 576, 676) là giá trị cố định và có thể không áp dụng cho tất cả các môi trường thị trường
    • Phương pháp giảm thiểu: giới thiệu phương pháp tính toán chu kỳ thích ứng, hoặc xây dựng quy trình tối ưu hóa tham số chuyên dụng cho các giống khác nhau
  4. Vấn đề tiềm ẩn của ngưng đối xứng:

    • Trong một thị trường có xu hướng mạnh, các con trạm đối xứng có thể có lợi nhuận quá sớm và bỏ lỡ cơ hội lợi nhuận lớn hơn
    • Phương pháp giảm nhẹ: Có thể xem xét thiết lập lệnh dừng theo dõi cho 50% vị trí còn lại để thích nghi với xu hướng mạnh
  5. Điều kiện nhập học quá nghiêm ngặt:

    • Sự kết hợp của nhiều điều kiện ((định vị trung bình + giá chéo + xác nhận đóng cửa) có thể dẫn đến một số tín hiệu hiệu quả bị bỏ lỡ
    • Phương pháp giảm nhẹ: Có thể thiết lập cơ chế nhập cảnh tùy chọn cho các giai đoạn thị trường khác nhau, tăng độ nhạy cảm của tín hiệu
  6. Rủi ro phụ thuộc dữ liệu:

    • Chiến lược phụ thuộc vào EMA chu kỳ dài (như 576, 676), cần dữ liệu lịch sử đủ dài để hoạt động hiệu quả
    • Phương pháp giảm thiểu: Nếu không có đủ dữ liệu, có thể xem xét sử dụng các chỉ số thay thế hoặc điều chỉnh phương pháp tính toán EMA dài hạn

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

  1. Giới thiệu cơ chế tham số thích ứng:

    • Thay đổi chu kỳ EMA cố định ((12, 144, 169, 576, 676) thành tham số tự điều chỉnh dựa trên biến động của thị trường
    • Lý do tối ưu hóa: Có sự khác biệt đáng kể về chu kỳ EMA tối ưu trong các môi trường thị trường khác nhau, cơ chế tự thích ứng có thể nâng cao tính phổ biến của chiến lược
  2. Tăng cường lọc tín hiệu nhập cảnh:

    • Kết hợp các chỉ số như khối lượng giao dịch, tỷ lệ biến động thị trường (như ATR) để thêm điều kiện xác nhận bổ sung cho tín hiệu nhập cảnh
    • Lý do tối ưu hóa: Tín hiệu giao tuyến thuần bình thường dễ bị nhiễu bởi tiếng ồn thị trường, điều kiện lọc bổ sung giúp cải thiện chất lượng tín hiệu
  3. Cải thiện hệ thống quản lý tài chính:

    • Tỷ lệ tiền trong mỗi lần đặt hàng dựa trên tổng số tiền trên tài khoản và sự biến động của thị trường
    • Lý do tối ưu hóa: Tỷ lệ phân bổ vốn của chiến lược hiện tại là cố định, không thể tự động điều chỉnh theo mức độ rủi ro, việc giới thiệu quản lý quỹ động có thể giúp sử dụng quỹ hiệu quả hơn
  4. Tối ưu hóa hệ thống ngăn chặn:

    • Các chiến lược dừng dừng khác nhau được thiết kế cho các vị trí kho khác nhau, chẳng hạn như dừng tỷ lệ cố định khi xây dựng kho lần đầu tiên và dừng theo dõi sau đó
    • Lý do tối ưu hóa: Chiến lược dừng lỗ thống nhất khó thích ứng với nhu cầu ở các giai đoạn thị trường khác nhau, chiến lược khác biệt hóa có thể đáp ứng linh hoạt hơn với sự thay đổi của thị trường
  5. Thêm bộ lọc thời gian:

    • Tiếp tục giới thiệu bộ lọc thời gian giao dịch, tránh các thời điểm biến động cao (ví dụ như mở cửa, trước khi đóng cửa) hoặc trong thời gian phát hành dữ liệu quan trọng
    • Lý do tối ưu hóa: Sự biến động của thị trường trong một khoảng thời gian nhất định thường thiếu định hướng, thêm bộ lọc thời gian để tránh giao dịch không cần thiết
  6. Thêm đánh giá cường độ xu hướng:

    • Phát triển chỉ số cường độ xu hướng, chỉ cho phép giao dịch khi cường độ xu hướng đạt ngưỡng
    • Lý do tối ưu hóa: Các chiến lược hiện tại cũng tạo ra tín hiệu trong môi trường xu hướng yếu, giới thiệu đánh giá cường độ xu hướng có thể làm giảm tín hiệu giả trong thị trường rung động
  7. Xây dựng hệ thống cộng tác đa chu kỳ:

    • Xác định xu hướng kết hợp với chu kỳ thời gian cao hơn làm bộ lọc hướng giao dịch
    • Lý do tối ưu hóa: Hệ thống giao dịch một chu kỳ dễ bị gián đoạn bởi biến động ngắn hạn, đồng bộ nhiều chu kỳ giúp tăng sự ổn định của hệ thống

Tóm tắt

Chiến lược này tạo ra một khuôn khổ để đánh giá xu hướng thông qua việc sắp xếp nhiều EMA, xác định thời điểm tham gia thông qua sự tương tác của giá và đường trung bình quan trọng, và quản lý tài chính và kiểm soát rủi ro tinh vi thông qua việc xây dựng kho hàng loạt và ngăn chặn lỗ hổng động. Ưu điểm của chiến lược nằm ở việc đánh giá xu hướng có hệ thống, cơ chế tham gia chính xác, quản lý tài chính thông minh và kiểm soát rủi ro nghiêm ngặt, làm cho nó thích ứng với các môi trường thị trường khác nhau.

Tuy nhiên, chiến lược này cũng có những rủi ro như chậm trễ theo đường trung bình, giới hạn tham số cố định và áp lực quản lý tài chính. Để nâng cao hiệu quả của chiến lược hơn nữa, có thể xem xét các hướng tối ưu hóa như giới thiệu cơ chế tham số thích ứng, tăng cường lọc tín hiệu, cải thiện hệ thống quản lý tài chính, tối ưu hóa cơ chế dừng lỗ và xây dựng hệ thống phối hợp nhiều chu kỳ.

Nhìn chung, chiến lược này cung cấp một khung hoạt động mạnh mẽ cho giao dịch định lượng bằng cách cân bằng theo dõi xu hướng và kiểm soát rủi ro. Bằng cách tối ưu hóa liên tục và điều chỉnh các tham số cho môi trường thị trường cụ thể, chiến lược này có thể đạt được hiệu suất ổn định trong giao dịch thực tế.

Mã nguồn chiến lược
/*backtest
start: 2024-09-08 00:00:00
end: 2024-12-08 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("专业级交易系统", overlay=false, close_entries_rule = "ANY")
x1 = input.float(1.5,"atr倍数",step=0.1)
x2 = input.int(50,"k线数量",step=1)
s1 = strategy.opentrades.entry_price(0)
s2 = strategy.opentrades.entry_price(1)
s3 = strategy.opentrades.entry_price(2)
s4 = strategy.opentrades.entry_price(3)
s5 = strategy.opentrades.entry_price(4)
s6 = strategy.opentrades.entry_price(5)
s7 = strategy.opentrades.entry_price(6)
s8 = strategy.opentrades.entry_price(7)
s9 = strategy.opentrades.entry_price(8)
c = strategy.position_size,o = strategy.opentrades
ema12_len = input.int(12,"EMA12长度")
ema144_len = input.int(144, "EMA144长度")
ema169_len = input.int(169,"EMA169长度")
ema576_len = input.int(376, "EMA576长度")
ema676_len = input.int(576,"EMA676长度")
ema12 = ta.ema(close,ema12_len)
ema144 = ta.ema(close, ema144_len)
ema169 = ta.ema(close, ema169_len)
ema576 = ta.ema(close, ema576_len)
ema676 = ta.ema(close, ema676_len)
e3 = ta.valuewhen(o ==2 and o[1] == 1 and c > 0,bar_index,0)
e4 = ta.valuewhen(o ==3 and o[1] == 2 and c > 0,bar_index,0)
e5 = ta.valuewhen(o ==4 and o[1] == 3 and c > 0,bar_index,0)
le1 = false
le1 := c <= 0 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 ? false : le1[1]
le11 = false
le11 := le1 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144,bar_index,0) < 12 ? true : false
le2 = false
le2 := c > 0 and o == 1 and o[1] == 1 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 1? false : le2[1]
le21 = false
le21 := le2 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
le3 = false
le3 := c > 0 and o == 2 and o[1] == 2 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 2? false : le3[1]
le31 = false
le31 := le3 and bar_index - e3 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
le4 = false
le4 := c > 0 and o == 3 and o[1] == 3 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 3? false : le4[1]
le41 = false
le41 := le4 and bar_index - e4 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
le5 = false
le5 := c > 0 and o == 4 and o[1] == 4 and ema12 > ema144 and ema144 > ema169 and ema169 > ema576 and ema576 > ema676 and low < ema144 and low[1] > ema144 and close > ema169? true :  close < ema169 or ema12 < ema144 or o < 4? false : le5[1]
le51 = false
le51 := le5 and bar_index - e5 > 50 and bar_index - ta.valuewhen(low < ema144 and low[1] > ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
d1 = ta.valuewhen(o == 1 and o[1] == 0 and c > 0,ta.lowest(12),0)
d2 = ta.valuewhen(o == 2 and o[1] == 1 and c > 0,ta.lowest(12),0)
d3 = ta.valuewhen(o == 3 and o[1] == 2 and c > 0,ta.lowest(12),0)
d4 = ta.valuewhen(o == 4 and o[1] == 3 and c > 0,ta.lowest(12),0)
d5 = ta.valuewhen(o == 5 and o[1] == 4 and c > 0,ta.lowest(12),0)
if le11 and close > ema12 and o == 0
    strategy.order("l1",strategy.long,comment="第一单")
if c > 0 and o > 0
    strategy.exit("出场1","l1",limit = 2*s1- d1,stop= d1,qty_percent = 50)
    strategy.exit("出场11","l1",stop= d1)

if le21 and close > ema12 and o == 1
    strategy.order("l2",strategy.long,comment="第二单")
if c > 0 and o == 2
    strategy.exit("出场2","l2",limit = 2*s2- d2,stop= d2,qty_percent = 50)
    strategy.exit("出场21","l2",stop= d2)

if le31 and close > ema12 and o == 2
    strategy.order("l3",strategy.long,comment="第三单")
if c > 0 and o == 3
    strategy.exit("出场3","l3",limit = 2*s3- d3,stop= d3,qty_percent = 50)
    strategy.exit("出场31","l3",stop= d3)

if le41 and close > ema12 and o == 3
    strategy.order("l4",strategy.long,comment="第四单")
if c > 0 and o == 4 
    strategy.exit("出场4","l4",limit = 2*s4- d4,stop= d4,qty_percent = 50)
    strategy.exit("出场41","l4",stop= d4)

if le51 and close > ema12 and o == 4
    strategy.order("l5",strategy.long,comment="第五单")
if c > 0 and o == 5
    strategy.exit("出场5","l5",limit = 2*s5- d5,stop= d5,qty_percent = 50)
    strategy.exit("出场51","l5",stop= d5)
bgcolor(le2?color.red:na)
if c > 0 and ema12 < ema144
    strategy.close_all("跌破均线全部出场")

//做空
es3 = ta.valuewhen(o ==2 and o[1] == 1 and c < 0,bar_index,0)
es4 = ta.valuewhen(o ==3 and o[1] == 2 and c < 0,bar_index,0)
es5 = ta.valuewhen(o ==4 and o[1] == 3 and c < 0,bar_index,0)
se1 = false
se1 := c >= 0 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 ? false : se1[1]
se11 = false
se11 := se1 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144,bar_index,0) < 12 ? true : false
se2 = false
se2 := c < 0 and o == 1 and o[1] == 1 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 or o < 1? false : se2[1]
se21 = false
se21 := se2 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 1 and o[1]==1,bar_index,0) < 12 ? true : false
se3 = false
se3 := c < 0 and o == 2 and o[1] == 2 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true :  close > ema169 or ema12 > ema144 or o < 2? false : se3[1]
se31 = false
se31 := se3 and bar_index - es3 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 2 and o[1]==2,bar_index,0) < 12 ? true : false
se4 = false
se4 := c < 0 and o == 3 and o[1] == 3 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169? true :  close > ema169 or ema12 > ema144 or o < 3? false : se4[1]
se41 = false
se41 := se4 and bar_index - es4 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 3 and o[1]==3,bar_index,0) < 12 ? true : false
se5 = false
se5 := c < 0 and o == 4 and o[1] == 4 and ema12 < ema144 and ema144 < ema169 and ema169 < ema576 and ema576 < ema676 and high > ema144 and high[1] < ema144 and close < ema169 ? true :  close > ema169 or ema12 > ema144 or o < 4? false : se5[1]
se51 = false
se51 := se5 and bar_index - es5 > 50 and bar_index - ta.valuewhen(high > ema144 and high[1] < ema144 and o == 4 and o[1]==4,bar_index,0) < 12 ? true : false
ds1 = ta.valuewhen(o == 1 and o[1] == 0 and c < 0 ,ta.highest(12),0)
ds2 = ta.valuewhen(o == 2 and o[1] == 1 and c < 0,ta.highest(12),0)
ds3 = ta.valuewhen(o == 3 and o[1] == 2 and c < 0,ta.highest(12),0)
ds4 = ta.valuewhen(o == 4 and o[1] == 3 and c < 0,ta.highest(12),0)
ds5 = ta.valuewhen(o == 5 and o[1] == 4 and c < 0,ta.highest(12),0)
if se11 and close < ema12 and o == 0
    strategy.order("s1",strategy.short,comment="第一单")
if c < 0 and o > 0
    strategy.exit("出场1","s1",limit = 2*s1- ds1,stop= ds1,qty_percent = 50)
    strategy.exit("出场11","s1",stop= ds1)

if se21 and close < ema12 and o == 1
    strategy.order("s2",strategy.short,comment="第二单")
if c < 0 and o == 2
    strategy.exit("出场2","s2",limit = 2*s2- ds2,stop= ds2,qty_percent = 50)
    strategy.exit("出场21","s2",stop= ds2)

if se31 and close < ema12 and o == 2
    strategy.order("s3",strategy.short,comment="第三单")
if c < 0 and o == 3
    strategy.exit("出场3","s3",limit = 2*s3- ds3,stop= ds3,qty_percent = 50)
    strategy.exit("出场31","s3",stop= ds3)

if se41 and close < ema12 and o == 3
    strategy.order("s4",strategy.short,comment="第四单")
if c < 0 and o == 4 
    strategy.exit("出场4","s4",limit = 2*s4- ds4,stop= ds4,qty_percent = 50)
    strategy.exit("出场41","s4",stop= ds4)

if se51 and close < ema12 and o == 4
    strategy.order("s5",strategy.short,comment="第五单")
if c < 0 and o == 5
    strategy.exit("出场5","s5",limit = 2*s5- ds5,stop= ds5,qty_percent = 50)
    strategy.exit("出场51","s5",stop= ds5)
bgcolor(se1?color.red:na)
if c < 0 and ema12 > ema144
    strategy.close_all("跌破均线全部出场")
kaiguan = input.bool(true,"均线开关")
plot(ema12,force_overlay=true)
plot(ema144, "EMA144", color=color.new(#008000, 0),force_overlay=true)
plot(ema169, "EMA169", color=color.red,force_overlay=true)
plot(kaiguan?ema576:na,color=color.yellow,force_overlay=true)
plot(kaiguan?ema676:na,color=color.yellow,force_overlay=true)
//plotshape(series=entrySignal,title="买入信号",location=location.belowbar,color=color.new(color.green, 0),style=shape.labelup,text="BUY",textcolor=color.new(color.white, 0))