この戦略は,トレンドブレイクトレードシステムで,移動平均値と価格ブレイクコンセプトを組み合わせている.コアメカニズムは,価格が移動平均値を超えて閉じる価格をベースに取引信号を生成し,ストップ・ロストレベルが最近の低点に設定され,リスク管理のための利益対損失比が2:1である.この戦略は,シンプル・ムービング・アベアをトレンドインジケーターとして使用し,価格ラインクロスオーバーを通じてトレンド変化を特定する.
ストラテジーは20期間のシンプル・ムービング・アベア (SMA) をトレンドインジケーターとして採用している. 閉値が下から移動平均値を超えるとロング・シグナルが生成される. 過去7個のキャンドルの最も低い点にストップ・ロスのレベルが設定され,エントリーポイントにあまりにも近づかないようにする. 収益のレベルはクラシックな 2:1の報酬対リスク比を使用して設定される. つまり利益目標はストップロスの2倍の距離である. ストラテジーはトレンドライン,取引信号,チャート上のストップ・ロスのレベルをマークするビジュアライゼーションコンポーネントを含む.
この戦略は,明確な論理を持つ,よく構造化されたトレンドフォロー戦略である.これは,合理的なリスクマネジメントメカニズムと組み合わせた移動平均ブレイクアウトを通じて信号を生成し,実践的に適用可能である.固有のリスクが存在する一方で,提案された最適化方向は戦略の安定性と収益性をさらに高めることができる.この戦略は,トレンド市場条件に適しており,トレーダーは特定の市場特性に合わせてパラメータを調整することができます.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Breakout with SL and TP", overlay=true) // Parametrlar length = input(25, title="Length for SL Calculation") trendLength = input(20, title="Trend Line Length") // Trend chizig'ini hisoblash trendLine = ta.sma(close, trendLength) // Yopilish narxi trend chizig'ini yorib o'tganda signal longSignal = close > trendLine and close[1] <= trendLine // Oxirgi 7 shamning minimumini hisoblash lowestLow = ta.lowest(low, 7) // Stop Loss darajasini belgilash longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng // Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida // Savdo bajarish if longSignal strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=longTP) strategy.exit("Stop Loss", "Long", stop=longSL) // Grafikda trend chizig'ini chizish plot(trendLine, title="Trend Line", color=color.blue, linewidth=2) // Signal chizish plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") // SL va TP darajalarini ko'rsatish // if longSignal // // SL chizig'i // line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed) // // TP chizig'i // line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed) // // SL va TP label'larini ko'rsatish // label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)