Die Strategie basiert auf der Stock-Stock-Stock-Template von Mark Menevigne und kombiniert die Bewegung der Durchschnittswerte, um die Kursentwicklung zu bestimmen. Die Strategie entscheidet hauptsächlich, ob die Aktie im Aufwärtstrend ist, und ob sie den kritischen Moving Average überschreitet, um ein Kaufsignal zu erzeugen. Gleichzeitig setzt die Strategie eine Stop-Line ein, die aktiven Stop-Losses auslöst, wenn der Kurs zurückzieht.
Die Strategie richtet sich hauptsächlich nach folgenden Bedingungen und erzeugt ein Kaufsignal, wenn die Bedingungen gleichzeitig erfüllt sind:
Wenn die oben genannten Bedingungen erfüllt sind, erzeugt die Strategie ein Kaufsignal, wenn der Aktienkurs in der Aufwärtsphase ist.
Die Strategie setzt außerdem eine Stop-Loss-Linie ein, die bei einem Rückzug um 5% oder einem Anstieg um 10% von einem Höchststand aus eingesetzt wird.
Die Strategie folgt insgesamt der Denkweise des Trendhandels und erzeugt ein Kaufsignal unter der Voraussetzung, dass der Aktienpreis eine steigende Tendenz bestätigt. Gleichzeitig wird ein Stop-Loss-Mechanismus eingerichtet, um das Risiko zu kontrollieren. Durch die Optimierung der einzelnen Detailparameter kann die Stabilität und Profitabilität der Strategie weiter verbessert werden.
/*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)