資源の読み込みに... 荷物...

ダイナミックなリスクマネジメントと固定得益を備えた高度なフェアバリューギャップ検出戦略

作者: リン・ハーンチャオチャン,日付: 2024-11-29 16:22:10
タグ:FVGSLTP

img

概要

この戦略は,フェアバリューギャップ (FVG) 検出に基づいた取引戦略であり,動的なリスク管理と固定された利益の引き上げ目標を組み合わせます. 15分間のタイムフレームで動作し,この戦略は市場における価格ギャップを検出することによって潜在的な取引機会を特定します. 2023年11月から2024年8月までのバックテストデータによると,この戦略は153件の取引で284.40%の純利益を達成し,71.24%の勝利率と2.422の利益因子を維持しました.

戦略原則

基本的なメカニズムは,連続した3つのキャンドルで価格関係を監視することによって,フェアバリューギャップを検出することです.

  1. 値 FVG: 中央キャンドルの高値が最初のキャンドルの低値を下回るとき
  2. 下落型 FVG: 中央キャンドルの低値が最初のキャンドルの高値より上にあるとき
  3. 入力信号は,FVGの値パラメータによって制御される.
  4. リスク管理は,ストップ損失として口座の自己資本の固定パーセント (1%) を使用する.
  5. 利益は50ポイントで決まっています

戦略 の 利点

  1. 科学的リスク管理:ストップ・ロスのために口座の自己資本の割合を使用する.
  2. 明確な取引規則: 固定利益目標が主観的な判断を排除する
  3. 優秀な業績: 高い勝利率と利益因子は戦略の安定を示します
  4. シンプルな実装: 明確なコードロジック,理解し,維持しやすい
  5. 高い適応性: 異なる市場条件に調整できます

戦略リスク

  1. 市場変動リスク: 安定した利回りは,非常に不安定な市場では柔軟性がない可能性があります.
  2. スリップリスク: 頻繁に取引する場合は,スリップコストが高くなる可能性があります.
  3. パラメータ依存性:性能はFVGの値設定に大きく依存する.
  4. 誤ったブレイクリスク: FVG のいくつかの信号は誤ったブレイクかもしれない.
  5. 資金管理リスク: 固定パーセントのストップ損失は,迅速な引き上げにつながる可能性があります.

オプティマイゼーションの方向性

  1. 動的得益調整のための変動指標を導入する
  2. トレンドフィルターを追加して,市場取引の範囲を回避する
  3. 複数の時間枠の確認メカニズムを開発する
  4. 浮動位置システムで位置サイズアルゴリズムを最適化
  5. 高波動期を避けるために取引時間フィルターを追加する
  6. 高品質の貿易選択のための信号強度スコアリングシステムを開発

概要

この戦略は,フェアバリューギャップ理論と科学的リスク管理を組み合わせることで印象的な結果を示しています.高い勝利率と安定した利益因子は,その実用的な価値を示しています.提案された最適化方向性を通じて,さらなる改善の可能性があります.トレーダーは,実行する前に徹底的なパラメータ最適化とバックテストを行うことをお勧めします.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1)

// Parameters
fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1)

// Fixed take profit in pips
takeProfitPips = 50

// Function to convert pips to price
pipsToPriceChange(pips) =>
    syminfo.mintick * pips * 10

// Function to detect Fair Value Gap
detectFVG(dir) =>
    gap = 0.0
    if dir > 0  // Bullish FVG
        gap := low[2] - high[1]
    else  // Bearish FVG
        gap := low[1] - high[2]
    math.abs(gap) > (close * fvgThreshold / 100)

// Detect FVGs
bullishFVG = detectFVG(1)
bearishFVG = detectFVG(-1)

// Entry conditions
longCondition = bullishFVG
shortCondition = bearishFVG

// Calculate take profit level
longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips)
shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips)

// Calculate stop loss amount (5% of capital)
stopLossAmount = strategy.equity * 0.01

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Set exit conditions
if (strategy.position_size > 0)
    strategy.exit("Long TP", "Long", limit=longTakeProfit)
    strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount)
else if (strategy.position_size < 0)
    strategy.exit("Short TP", "Short", limit=shortTakeProfit)
    strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount)

// Plot signals
plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small)
plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)

関連性

もっと