この戦略は,自動入場とストップロスの価格動向を決定するために,マーク・ミナーヴィニの株式選択テンプレートと移動平均指標を使用する.主に,株価が上昇傾向にあり,購入信号を生成するために主要な移動平均を突破したかどうかを判断する.同時に,戦略は価格が下がったときに損失を積極的に止めるストップロスを設定する.
戦略は主に以下の条件を判断し,同時に満たされたときに購入信号を生成します.
上記の条件が満たされると 戦略は株価が上昇傾向にあると判断し 買い信号を生成します
ストップ・ロスのラインも設定します 株価がピーク値から5%下がったり 10%上昇したりすると ストップ・ロスは利益を得たりします
ストラテジーは,株価の上昇傾向が確認されたときに購入信号を生成するトレンド取引のアイデアに従っている.同時に,リスクを制御するためにストップロスのメカニズムが設定されている.さまざまな詳細なパラメータを最適化することで,戦略の安定性と収益性はさらに向上することができる.しかし,どの戦略も完全に市場リスクを回避することはできません.したがって投資家は慎重に対処する必要があります.
/*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)