Strategi ini menggunakan templat pemilihan saham Mark Minervini dan indikator rata-rata bergerak untuk menentukan tren harga untuk entri otomatis dan stop-loss. Ini terutama menilai apakah harga saham berada dalam tren naik dan apakah mereka telah menembus rata-rata bergerak utama untuk menghasilkan sinyal beli. Pada saat yang sama, strategi menetapkan garis stop-loss untuk secara aktif menghentikan kerugian ketika harga turun kembali.
Strategi ini terutama menilai kondisi berikut dan menghasilkan sinyal beli ketika mereka terpenuhi pada saat yang sama:
Ketika kondisi di atas terpenuhi, strategi menilai bahwa harga saham berada dalam tren kenaikan dan menghasilkan sinyal beli.
Selain itu, strategi ini juga menetapkan garis stop-loss. Ketika harga saham turun 5% dari puncaknya atau naik 10%, ia akan menghentikan kerugian atau mengambil keuntungan.
Strategi secara keseluruhan mengikuti gagasan perdagangan tren, menghasilkan sinyal beli ketika tren kenaikan harga saham dikonfirmasi. Pada saat yang sama, mekanisme stop-loss diatur untuk mengendalikan risiko. Dengan mengoptimalkan berbagai parameter rinci, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut. Namun, tidak ada strategi yang dapat sepenuhnya menghindari risiko pasar, sehingga investor perlu memperlakukannya dengan hati-hati.
/*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)