日中のボラティリティと週の高値に基づく取引戦略


作成日: 2024-01-15 14:42:00 最終変更日: 2024-01-15 14:42:00
コピー: 0 クリック数: 696
1
フォロー
1617
フォロワー

日中のボラティリティと週の高値に基づく取引戦略

概要

この戦略は,日中の波動性指標IBSと周回線高点に基づく簡単なSP500期貨取引戦略である.これは,月曜日の開場時にのみ取引シグナルを発し,IBSが0.5を下回り,価格が先週の金曜日の閉場価格より低い条件を利用して入場のタイミングを判断する.その後,5取引日後に平仓退出する.

戦略原則

この戦略は主に2つの指標に基づいて判断されます.

  1. IBS - 一日間の波動性の指標で,その日の波動性が十分に低いかどうかを判断する.計算方法は: ((閉店価格 - 最低価格) / (最高価格 - 最低価格).IBSが0.5を下回ると,波動性が低いと考えられ,入場に適している.

  2. 周線高点 - 先週の金曜日の閉店価格を基準高点として使用する.当日の月曜日の閉店価格が先週の金曜日の閉店価格より低い場合,転転がりが生じ,取引機会が生じることがあります.

入場条件は:月曜日 + IBS < 0.5 + 閉店価格 < 先週の金曜日の閉店価格。

出場条件は,5日間の取引終了後,または翌日の取引開始後,即座に高点を取り消す.

戦略的優位性

この戦略の利点は以下の通りです.

  1. 戦略の論理はシンプルで明快で,理解し,実行しやすい.
  2. 取引が過度になるのを防ぐために,月曜の営業日のみシグナルを発信する.
  3. IBS指数は,日中の変動を判断し,トレンド転換点をロックするのに役立ちます.
  4. 周線構造の参照は簡単で有効で,転向が形成されているかどうかを容易に判断できる.
  5. リスクはコントロールされ,引き下げは制限されている.

戦略リスク

この戦略にはいくつかのリスクがあります.

  1. IBSと周線構造の判断は,技術指標のみに基づいて判断され,誤判が発生する可能性がある状況。
  2. 固定5日間の出場は,追加利益につながる可能性がある. 動的出場条件を設定すべきである.
  3. 月曜日の取引は周期性があり,信号の頻度は低すぎ,他の時間帯の信号を逃すのが容易である.
  4. 撤収管理が不適切で,最大撤収が過大である可能性もある.

戦略の最適化

この戦略は以下の点で最適化できます.

  1. より多くの技術指標の確認を増やし,信号の正確性を向上させる.例えば,短期トレンド,サポートプレッシャーレベル,取引量などの指標の判断論理を強化する.

  2. ダイナミックな出場条件を設定し,リアルタイム波動に応じてストップ損失またはストップ価格を設定する. 固定時間による追加損失を避ける.

  3. 戦略的取引時間帯を拡大し,月曜日に限定しない.他の取引日の入場条件を合理的に設定し,シグナルカバー面を向上させる.

  4. リスク管理モジュールを導入し,ストップ戦略を利用して撤回を制御する.浮動ストップ,ストップを追跡するなどの方法を最適化することができます.

要約する

この戦略は,全体的には日内指標IBSと周回構造の判断に基づく簡素なショートライン取引戦略である。戦略の考え方は明確で,実行は簡単で,リスクは容易にコントロールできる。しかし,一定確率の信号誤判と潜在的撤回が過大である問題もある。将来の最適化スペースは,より多くの技術指標判断を追加し,ダイナミックな止損機構を設定することにある。継続的なテストと最適化により,戦略の勝率と収益性を徐々に向上させる。

ストラテジーソースコード
/*backtest
start: 2023-12-15 00:00:00
end: 2024-01-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © hobbiecode

// Today is Monday.
// The close must be lower than the close on Friday.
// The IBS must be below 0.5.
// If 1-3 are true, then enter at the close.
// Sell 5 trading days later (at the close).

//@version=5
strategy("Hobbiecode - SP500 IBS + Higher", overlay=true)

// Check if it's Monday
isMonday = dayofweek(time) == dayofweek.monday

// Calculate the IBS (Intraday Breadth Strength) indicator
ibs = (close - low) / (high - low)

// Calculate the close on the previous Friday
prevFridayClose = request.security(syminfo.tickerid, "W", close[1])

// Entry conditions
enterCondition = isMonday and close < prevFridayClose and ibs < 0.5 and strategy.position_size < 1 

// Exit conditions
exitCondition = (close > high[1] or ta.barssince(enterCondition) == 4) and strategy.position_size > 0 

// Entry signal
if enterCondition
    strategy.entry("Buy", strategy.long)

// Exit signal
if exitCondition
    strategy.close("Buy")

// Plotting the close, previous Friday's close, and entry/exit points on the chart
plot(close, title="Close", color=color.blue)
plot(prevFridayClose, title="Previous Friday Close", color=color.orange)
plotshape(enterCondition, title="Enter", location=location.belowbar, color=color.green, style=shape.labelup, text="Enter")
plotshape(exitCondition, title="Exit", location=location.abovebar, color=color.red, style=shape.labeldown, text="Exit")