Strategi ini berdasarkan templat pilihan saham saham Mark Menevigney, digabungkan dengan indikator purata bergerak untuk menilai trend harga saham, untuk mewujudkan pembelian dan hentian automatik. Strategi ini terutamanya menilai sama ada saham berada dalam trend kenaikan, dan sama ada melanggar rata-rata bergerak yang penting, untuk menghasilkan isyarat pembelian.
Strategi ini berpusat pada menentukan syarat-syarat berikut, dan menghasilkan isyarat beli apabila kedua-dua syarat tersebut dipenuhi:
Apabila syarat-syarat di atas dipenuhi, strategi menilai bahawa harga saham berada pada tahap kenaikan, menghasilkan isyarat beli.
Di samping itu, strategi ini juga menetapkan garis hentian apabila harga saham kembali 5% atau naik 10% dari paras tertinggi.
Strategi ini secara keseluruhan mengikuti pemikiran perdagangan trend, menghasilkan isyarat membeli dengan mengkonfirmasi trend kenaikan harga saham. Pada masa yang sama, menetapkan mekanisme kawalan kerugian risiko. Dengan mengoptimumkan parameter perincian, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*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)