
Chiến lược này dựa trên mẫu lựa chọn cổ phiếu của Mark Menevigne, kết hợp với chỉ số trung bình di chuyển để xác định xu hướng giá cổ phiếu, để thực hiện mua và dừng tự động. Chiến lược này chủ yếu xác định liệu cổ phiếu có đang trong xu hướng tăng và phá vỡ trung bình di chuyển quan trọng để tạo ra tín hiệu mua hay không.
Chiến lược này chủ yếu đánh giá các điều kiện sau, tạo ra tín hiệu mua khi các điều kiện được đáp ứng đồng thời:
Khi các điều kiện trên được đáp ứng, chiến lược đánh giá giá cổ phiếu đang ở giai đoạn tăng, tạo ra tín hiệu mua.
Ngoài ra, chiến lược này cũng thiết lập đường dừng lỗ khi giá cổ phiếu giảm 5% hoặc tăng 10% từ mức cao nhất.
Chiến lược tổng thể theo suy nghĩ của giao dịch xu hướng, tạo ra tín hiệu mua với giả định xác nhận xu hướng tăng giá cổ phiếu. Đồng thời thiết lập cơ chế kiểm soát rủi ro lỗ. Bằng cách tối ưu hóa các thông số chi tiết, bạn có thể nâng cao hơn nữa sự ổn định và khả năng sinh lợi của chiến lược.
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Pure Mark Minervini 10%TP 5%CL", pyramiding = 0, commission_type=strategy.commission.percent, commission_value=0.08, overlay=true)
ma50 = sma(close,50)
ma150 = sma(close,150)
ma200 = sma(close,200)
ma200_22 = ma200[22]
high_loopback = input(260, "High Lookback Length")
low_loopback = input(260, "Low Lookback Length")
highest_price = highest(high, high_loopback)
lowest_price = lowest(low, low_loopback)
above52lo = ((close/lowest_price)-1)*100
below52hi = (1-(close/highest_price))*100
ep = strategy.position_avg_price
trigger = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
var label maLabel = na
if (trigger)
yLocation = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
yloc.abovebar :
yloc.belowbar
// labelStyle = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
// label.style_labeldown :
// label.style_labelup
buy = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
sell = close>ep*1.1 or close<ep*0.95
strategy.entry("TF", strategy.long, when = buy)
strategy.close("TF", when = sell)