Diese Strategie verwendet Mark Minervinis Aktienwahlvorlage und gleitende Durchschnittsindikatoren, um Preistrends für automatischen Einstieg und Stop-Loss zu bestimmen. Sie beurteilt hauptsächlich, ob die Aktienkurse in einem Aufwärtstrend sind und ob sie die wichtigsten gleitenden Durchschnitte durchbrochen haben, um Kaufsignale zu generieren. Gleichzeitig setzt die Strategie eine Stop-Loss-Linie, um Verluste aktiv zu stoppen, wenn die Preise zurückfallen.
Die Strategie beurteilt hauptsächlich folgende Bedingungen und erzeugt ein Kaufsignal, wenn sie gleichzeitig erfüllt sind:
Wenn die vorstehenden Bedingungen erfüllt sind, beurteilt die Strategie, dass sich der Aktienkurs in einem Aufwärtstrend befindet und erzeugt ein Kaufsignal.
Wenn der Aktienkurs um 5% von seinem Höchststand zurückfällt oder um 10% steigt, wird er den Verlust stoppen oder Gewinn machen.
Die Strategie folgt insgesamt der Idee des Trendhandels und erzeugt Kaufsignale, wenn der Aufwärtstrend der Aktienkurse bestätigt wird. Gleichzeitig ist ein Stop-Loss-Mechanismus eingerichtet, um Risiken zu kontrollieren. Durch die Optimierung verschiedener detaillierter Parameter können die Stabilität und Rentabilitä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)