価格行動に基づく機関投資家向け取引戦略


作成日: 2024-02-23 15:04:39 最終変更日: 2024-02-23 15:04:39
コピー: 0 クリック数: 790
1
フォロー
1617
フォロワー

価格行動に基づく機関投資家向け取引戦略

概要

この戦略は,価格行動に基づく機関取引戦略と呼ばれる.これは,機関トレーダーの特定の取引パターン,特に特定のの注文ブロックの近くで注文する傾向を利用する.この戦略は,市場への入場と退出のタイミングを決定するために,公正な価値,流動性,価格行動の要素を組み合わせている.

戦略原則

この戦略の核心は,多くの機関取引活動が過去に発生した価格領域であるの注文ブロックを識別することです.これらの領域は,有意な流動性に関連しています.注文ブロックは,価格構造を使用して決定され,通常,重要な技術価格レベルに関連しています.

公正価値は,移動平均などの指標に基づくツールの合理的な値として定義される.現在の価格が公正価値から遠く離れている場合,これは市場の不均衡の信号と見なされる.

流動性も重要な要因であり,機関トレーダーは流動性の高い地域で取引を行う傾向がある.

この戦略は,単純移動平均を計算して公正価値を決定する。その後,20周期の長さの潜在的な注文ブロックを識別する。閉じる価格と公正価値の間の差が注文ブロックの総高さの38.2%未満であれば,注文ブロックを決定する。

多頭注文ブロックは買い信号とみなされる.空頭注文ブロックは売り信号とみなされる.

優位分析

この戦略の主要な優点は,機関トレーダーの取引モデルを利用していることであり,これは,より機械化された指標に基づく戦略を上回る可能性がある.注文流と価値領域に焦点を当てることで,いくつかの異なるタイプの分析を組み合わせている.

他の利点には以下のものがある.

  • 流動性を活用して 優れた実行
  • 商品の流動は,商品の流動を視覚化し,理解しやすくする.
  • グラフで簡単に注文ブロックを可視化
  • ブロックの長さなどのパラメータを柔軟に調整できます

リスク分析

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

  • 過去の価格行動の判断に依存する
  • 顧客が顧客に注文を届けない場合
  • 誤った信号が作られます.
  • 短期的なトレンドを見落としてしまうかもしれません

これらのリスクを軽減するために,以下のようなことを検討することをお勧めします.

  • 偽信号をフィルタリングする他の指標と組み合わせる
  • ブロックの長さのようなパラメータを調整します.
  • フィルタリング

最適化の方向

この戦略の潜在的最適化には以下のものがある.

  1. ブロックの長さや公正価格偏差率などの重要なパラメータの値をテストして最適化します.
  2. 品質を向上させるための他の指標とフィルターを追加します.
  3. 利益と損失の抑制の仕組みを確立する
  4. オーダー帳の活動など,より多くのデータ源を組み合わせる
  5. 異なる期間 (日内,複数日など) と異なる市場での健常性
  6. 機械学習の予測が加えられ 信号をフィルタリングする

要約する

全体として,この戦略は,機関トレーダーの取引行動を活用するためのユニークな方法を提供します. それは複数の要素を融合し,いくつかの利点があります. しかし,ほとんどの取引戦略と同様に,市場が変化し,予期せぬ価格行動が発生したときにリスクがあります.

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

//@version=5
strategy("ICT Strategy", overlay=true)

// Input variables
length = input.int(20, minval=1, title="Order Block Length")
fairValuePeriod = input.int(60, minval=1, title="Fair Value Period")

// Calculate fair value
fairValue = ta.sma(close, fairValuePeriod)

// Determine order blocks
isOrderBlock(high, low) =>
    highestHigh = ta.highest(high, length)
    lowestLow = ta.lowest(low, length)
    absHighLowDiff = highestHigh - lowestLow
    absCloseFairValueDiff = (close - fairValue)
    (absCloseFairValueDiff <= 0.382 * absHighLowDiff)

isBuyBlock = isOrderBlock(high, low) and close > fairValue
isSellBlock = isOrderBlock(high, low) and close < fairValue

// Plot fair value and order blocks
plot(fairValue, color=color.blue, title="Fair Value")
plotshape(isBuyBlock, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(isSellBlock, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy logic
if (isBuyBlock)
    strategy.entry("Buy", strategy.long)
    
if (isSellBlock)
    strategy.entry("Sell", strategy.short)