これはブレイクアウト理論に基づく長/短量取引戦略である.過去100日間の最高閉値を計算し,最新の閉値がその水準を超えるとブレイクアウトが起こるかどうかを決定する.ブレイクアウトが検出された場合,長信号が起動する.ロングに入ると,ポジションは25バー後にストップ損失で閉鎖される.
この戦略の核心論理は,技術分析における"ブレイクアウト"理論を活用している.ブレイクアウト理論は,価格が過去最高または最低水準を突破すると,逆転を示し,市場は新しい上昇傾向または下落傾向を開始することができると信じている.
この戦略はPine Scriptの組み込み機能を使用します.ta.highest()
過去100バーにおける最高閉盘値を計算します.その後,現在のバーの閉盘価格がその値以上であるかどうかを比較します.閉盘価格が突破して100日間の最高閉盘価格を超えると,ロングエントリー信号が起動します.
ロングポジションに入ると,ストップ・ロスの条件を設定してポジションを閉じる.ta.barssince()
25バー後にポジションを閉じるようにします.
入力論理は以下のように要約できます.
この戦略の最大の利点は,トレンドをフォローする取引の比較的高い成功率で価格逆転点を捕捉することです.また,ストップロスの論理は,単一の取引損失額を効果的に制御することができます.
具体的な利点は次のとおりです.
1. 傾向 に 従い,成功率 が 高まる
ブレイクアウト理論は,価格がキーレベルを超えた後,新しいトレンドを開始する可能性があると考えている.この戦略は,この論理に基づいて設計されており,価格逆転点を捕捉し,トレンドに従う恩恵を受ける可能性が比較的高い.
2. 制御可能なリスク,ストップ・ロスト
この戦略では 25バーの後に ストップ・ロスの出口を最大で1回の取引損失に設定し 大損失を回避します
3. 中期から長期の保有に適している
デフォルト保持期間は25バー,約1ヶ月です.この周波数は中長期戦略に適しており,ウィップソーに短すぎず,リスクを増やすのに長すぎません.
4. 数少ないパラメータ,最適化が簡単
主に2つの調整可能なパラメータがあります. 数少ないパラメータで,実際の取引のための最適なパラメータをテストし,見つけることは簡単です.
5. 異なる製品間で転送可能
この戦略は特定の製品の特異的な指標に答えていません. その論理は株式,外為,商品,暗号通貨などに適用されます. したがって,製品間で切り替えるには柔軟性があります.
この戦略にはいくつかの利点はありますが,実際の取引において使用する際にいくつかのリスクもあります.主に:
1. 負けるポジションを保持するリスク
この戦略には,収益性の高いポジションをフォローするためのストップロスはありません.価格トレンドが予想通り進まない場合,またはブレイクアウトが偽ブレイクアウトであることが判明した場合,事前に設定されたストップロスのポイントで強制退出が大きな損失につながる可能性があります.これは最大のリスクです.
2. パラメータ 調整 が 必要 に なり ます
デフォルトパラメータは最適ではない可能性があります.特定の製品および市場体制に最適なものを探すためにライブ取引中に最適化する必要があります.これは追加の作業を追加します.
3. 市場との業績関連性
この戦略は,持続的な価格動向に過度に依存している.範囲制限体制ではうまく機能していない.もしウィップソー市場に出くわす場合,不安定な利益/損失につながる強制退出が頻繁に発生する.
この戦略をより堅牢にし,実際の展開に有利にするために,次の側面からいくつかの改善を行うことができます:
1. トレイリングストップ損失メカニズムを追加
浮動利益に基づいてストップ損失ポイントを動的に更新することで,収益性の高いポジションを追跡するストップ損失ロジックを追加します.これは単一の取引の最大損失を制限することができます.
2. 市場に基づく適応パラメータ
ATRのような指標を使って定量化します これは動的にパラメータを調整できます
**3. トレンドフィルターを組み合わせる **
戦略を適用する際には,不明確な傾向を優先的に分析したり,定量的に分析したりすることで,よりよくフィルタリングします.明確な傾向が見られる場合にのみ取引を行います.
4. 異なる製品と間隔で試験
この戦略は,さまざまな製品 (例えばインデックス,コモディティ,フォックス,暗号) と間隔 (例えば毎日,60mバー) で最適化されたパラメータとルールをテストすることで,より堅牢で広く適用できるようになります.
このストップロスのブレークアウト逆転戦略は,トレンド識別とポジション管理に関する明確なルールで簡単に実装できます.その強みとリスクを分析し,収益性と適用性を向上させるための提案を提供します.さらなる最適化により,堅牢な定量的な取引戦略になることができます.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © All_Verklempt //@version=5 strategy("Breakout Strategy", overlay=true) // Input variable for breakout period breakoutPeriod = input.int(100, title="Breakout Period", minval=1) // Calculate the highest close of the past breakout period highestClose = ta.highest(close, breakoutPeriod) // Input variables for start and end dates startYear = input.int(2022, title="Start Year", minval=1900) startMonth = input.int(1, title="Start Month", minval=1, maxval=12) startDay = input.int(1, title="Start Day", minval=1, maxval=31) endYear = input.int(2023, title="End Year", minval=1900) endMonth = input.int(12, title="End Month", minval=1, maxval=12) endDay = input.int(31, title="End Day", minval=1, maxval=31) // Convert start and end dates to timestamp startDate = timestamp(startYear, startMonth, startDay, 00, 00) endDate = timestamp(endYear, endMonth, endDay, 23, 59) // Entry condition: Breakout and higher close within the specified date range enterLong = close > highestClose[1] and close > close[1] // Exit condition: Close the long position after twenty-five bars exitLong = ta.barssince(enterLong) >= 25 // Strategy logic if (enterLong) strategy.entry("Long", strategy.long) if (exitLong) strategy.close("Long")