インサイドバーブレイクストラテジーは,キャンドルスタイルのパターンをベースにしたトレンドフォロー戦略である.トレンド方向を決定するためにインサイドバーとアウトサイドバーキャンドルスタイルのパターンを用いて,ブレイクストでポジションを入力する.
この戦略の背後にある主な論理は 2種類のキャンドルスタイクパターンを特定することです
内部バー:現在のバーの高値が前回の高値よりも低く,低値が前回の低値よりも高くなった場合,価格は収縮していることを示します.
外部バー:現在のバーの高値が前回の高値より高く,低値が前回の低値より低くなった場合,価格拡大を示します.
パターンのいずれかが特定されると,潜在的なエントリーをシグナルします. シグナルバーの次のバーで,オープン価格が前回の高値を超えると,ロングに行く. オープン価格が前回の低値を下回ると,ショートに行く.
入力後,利益とストップ損失の注文が配置されます. 特定のアルゴリズムは:
利益を取ること = (現在の閉じる価格 × 目標利益パーセント) / 最低価格の記号 ストップ損失 = (現在のストップ損失価格 × ストップ損失パーセント) / 最低価格マーク
ストップ・ロスを打つ際の最大許容される金額以下の損失を制限できます.
この戦略の利点は次のとおりです.
中と外のバーパターンは 傾向の方向性を決定するのにかなり信頼できます
突破入口は確実性を高め 偽の突破を回避します
手動なしで完全に自動化され 運用リスクを軽減します
この戦略にはいくつかのリスクもあります:
ろうそくのパターンの識別は 常に正確ではない 間違った信号の可能性がある
突破入口は 閉じ込められる ストップ・ロスは調整が必要かもしれない
パラメータの設定が不適切なら 損失が増える
戦略を改善するいくつかの方法は以下の通りです.
偽信号を減らすためにフィルターを追加する,例えば音量フィルター.
ダイナミックな 利益とストップ損失のアルゴリズムを最適化
逆転防止ストップ損失を組み込む
マシン学習を使って パラメータを自動最適化します
インサイドバーブレイアウト戦略は,全体的に信頼性と実装が容易なトレンドフォロー方法である.インサイドバーとアウトサイドパターンの予測力を活用し,ブレイアウトエントリのより高い確実性を兼ね備えています.シンプルな直線な論理により,アルゴリズム取引では初心者向けです.最適化と自動化のさらなる改善により,より安定した知的な取引結果が得られます.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("inside bar strategy Wıth SL-TP ", overlay=true ) insides = high < high[1] and low > low[1] outsides = high > high[1] and low < low[1] candle_control=insides or outsides target_profit_percent=input(3,"target profit%",step=0.1) stop_loss_percent=input(1,"stop loss %",step=0.1) yearfrom = input(2021) yearuntil =input(2022) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) long_cond=candle_control[1] and close>open and high>high[1] short_cond=candle_control[1] and close<open and low<low[1] if ( long_cond ) strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND", comment="LONG") else strategy.cancel(id="LONG") if ( short_cond ) strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT") else strategy.cancel(id="SHORT") profit_target=(close*(target_profit_percent/100))/syminfo.mintick stop_target=(close*(stop_loss_percent/100))/syminfo.mintick strategy.exit("LONG EXIT","LONG",profit=profit_target, loss=stop_target ) strategy.exit("LONG EXIT","SHORT",profit=profit_target, loss=stop_target )