
Strategi ini didasarkan pada model stock picking yang dibuat oleh Mark Mneveny, yang menggabungkan indikator moving average untuk menentukan tren harga saham, dan memungkinkan pembelian dan penghentian otomatis. Strategi ini terutama menilai apakah saham berada dalam tren naik, dan apakah mereka telah menembus rata-rata bergerak yang penting, sehingga menghasilkan sinyal pembelian.
Strategi ini terutama menilai kondisi-kondisi berikut, yang menghasilkan sinyal beli ketika kondisi-kondisi tersebut terpenuhi secara bersamaan:
Ketika kondisi di atas terpenuhi, strategi menilai bahwa harga saham berada pada tahap kenaikan, menghasilkan sinyal beli.
Selain itu, strategi ini juga menetapkan garis stop loss, yang dilakukan ketika harga saham mundur 5% atau naik 10% dari titik tertinggi.
Strategi ini secara keseluruhan mengikuti pemikiran perdagangan tren, menghasilkan sinyal beli dengan mengkonfirmasi tren kenaikan harga saham. Pada saat yang sama, mengatur mekanisme pengendalian risiko. Dengan mengoptimalkan berbagai parameter rinci, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut. Namun, strategi apa pun sulit untuk sepenuhnya menghindari risiko pasar dan perlu diperhatikan oleh investor.
/*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)