Chiến lược Tham lam

Định nghĩa

Chiến lược Tham lam sẽ mở một lệnh ban đầu nếu có chênh lệch giữa giá mở hiện tại và mức cao hoặc thấp của thanh trước đó. Nếu giá mở cao hơn mức cao trước đó, chiến lược sẽ tiếp tục mua, nếu giá mở thấp hơn mức thấp của thanh trước đó, lệnh sẽ mở vị thế bán. Sau khi mở vị thế, chiến dịch sẽ tiếp tục thực hiện các lệnh theo cùng một hướng miễn là màu của nến phù hợp với vị thế mở. Nếu vị thế hiện tại là mua, các lệnh mua mới sẽ được tạo cho mỗi nến xanh tiếp theo và ngược lại. Điều này sẽ tiếp tục cho đến khi nến có màu khác hoặc cho đến khi đạt đến giới hạn các lệnh được thực hiện trong một ngày.

Có thể thay đổi giới hạn trong phần cài đặt bằng cách chỉnh sửa giá trị Lệnh được Thực hiện Tối đa Trong ngày. Cài đặt Tp và Sl cho phép bạn đặt Cắt lỗ và Chốt lãi. Giá trị này biểu thị số lượng thay đổi giá nhỏ nhất trên/dưới giá vị trí nơi có TP và SL.

Tính toán

Tập lệnh Pine

//@version=5 strategy("Greedy Strategy", pyramiding = 100, calc_on_order_fills=false, overlay=true) tp = input(10) sl = input(10) maxidf = input(title="Max Intraday Filled Orders", defval=5) strategy.risk.max_intraday_filled_orders(maxidf) upGap = open > high[1] dnGap = open < low[1] dn = strategy.position_size < 0 and open > close up = strategy.position_size > 0 and open < close strategy.entry("GapUp", strategy.long, stop = high[1], when = upGap) strategy.entry("Dn", strategy.short, stop = close,  when =  dn) strategy.entry("GapDn", strategy.short, stop = low[1], when = dnGap) strategy.entry("Up", strategy.long, stop = close,  when =  up) strategy.cancel("GapUp", not upGap) strategy.cancel("GapDn", not dnGap) strategy.cancel("Up", not up) strategy.cancel("Dn", not dn) XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size dir = strategy.position_size < 0 ? -1 : 1 lmP = strategy.position_avg_price + dir*tp*syminfo.mintick slP = strategy.position_avg_price - dir*sl*syminfo.mintick float nav = na revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false), strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  strategy.oca.reduce, "TPSL", when=  not revCond and XQty > 0) strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL",  strategy.oca.reduce, "TPSL", when= not revCond and XQty > 0) strategy.cancel("TP", XQty == 0 or revCond) strategy.cancel("SL", XQty == 0 or revCond) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Tóm tắt

Chiến lược Tham lam được tạo ra để tận dụng các khoảng trống theo cả hai hướng. Sau đó, chiến lược tăng tốc vào những khoảng trống đó bằng cách tạo đà đi lên hoặc đi xuống. Chiến lược mở một lệnh ban đầu nếu có chênh lệch giữa giá mở hiện tại và mức cao hoặc mức thấp của thanh trước đó. Nếu giá mở lớn hơn mức cao trước đó, chiến lược sẽ tiếp tục mua và nếu giá mở thấp hơn mức thấp của thanh trước đó, thì chiến lược sẽ mở một vị thế bán. Sau khi mở vị thế, chiến lược sẽ tiếp tục thực hiện các lệnh theo cùng một hướng miễn là màu của nến phù hợp với vị thế mở.