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

引き上げと目標利益に基づいたロンググリッド戦略

作者: リン・ハーンチャオチャン, 日付: 2025-01-06 16:29:17
タグ:GRIDDCATPSL収益率

img

概要

この戦略は,価格低下に基づいてポジションを追加し,固定利益目標に達するとポジションを閉じるグリッド取引システムである. 市場が既定のパーセントまで下がると購入し,価格が目標利益にリバウンドしたときすべてのポジションを閉じて,このプロセスを繰り返し実行することでリターンを生成する. この戦略は,特に振動する市場で短期的なリバウンドを捕捉するのに適しています.

戦略原則

この戦略は,グリッド取引と方向性得益のメカニズムを組み合わせている.

  1. 初期ポジション:設定された開始時間以降,システムが起動時に現在の価格で最初のポジションを取ります.
  2. ポジション追加メカニズム: 価格が初期エントリー価格と比較して,事前に設定されたパーセント (デフォルト 5%) を超えると追加購入が開始されます.
  3. ポジション閉じるメカニズム: 価格が初期入場価格と比較して既定の利益目標 (デフォルト 5%) を上回ると,システムはすべてのポジションを閉じる.
  4. 統計追跡: このシステムは,取引数と累積利益をリアルタイムで追跡し,チャート上で動的に表示します.

戦略 の 利点

  1. 高度な自動化: 戦略は完全に体系的で,手動的な介入を必要とせず,24時間7日で動作できます.
  2. リスクの多様化: バッチポジション構築アプローチは,単一のエントリーリスクを効果的に軽減します.
  3. 明確な利益目標: 固定利益目標を達成するとすぐに利益を得ることができます.
  4. 高い適応性:パラメータ調整により,異なる市場環境や取引手段に適応できます.
  5. 強力な実行: 明確な戦略論理は主観的な感情的な影響を排除します

戦略リスク

  1. トレンドリスク: 継続的に下落する市場では,繰り返しポジションを追加すると損失が増える可能性があります.
  2. 資本管理リスク: 適切なポジション管理がなければ,過剰なポジション追加は,高い資本利用につながる可能性があります.
  3. スリップリスク: 波動的な市場状況下で深刻なスリップが戦略の業績に影響を与える可能性があります.
  4. パラメータ敏感性: 戦略の有効性はパラメータ設定に敏感であり,異なる市場環境で適時調整を必要とする.

戦略の最適化方向

  1. ダイナミックストップ・ロース: ATR または波動性に基づくダイナミックストップ・ロースメカニズムを追加することを推奨します.
  2. ポジション管理: より合理的な資本利用のために,株式に基づく動的ポジション管理を導入する.
  3. 市場選択: 傾向市場での戦略運用を一時停止するために傾向識別指標を追加する.
  4. 利益目標の最適化: 市場の変動に基づいて自己調整する動的利益目標を設計する.
  5. ポジション追加最適化: 過剰な早期ポジションを避けるために,漸進的なポジションサイズを設計する.

概要

これは,構造的にシンプルだが実践的なグリッド取引戦略で,既定価格の落下でバッチでポジションを構築し,利益目標に達すると均等にポジションを閉じる.この戦略の主要な利点は実行確実性とリスクの多様化にあるが,市場環境の選択とパラメータ最適化は実装中に決定的である.動的なストップロスを追加し,ポジション管理を改善することによって,重要な最適化可能性がある.ライブ取引では,実際の市場状況に基づいて徹底的なバックテストとパラメータ調整が推奨される.


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

//@version=5
strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date")
profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1)   // Target profit percentage
rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1)        // Drop percentage to rebuy

// Variables
var float initial_price = na             // Initial purchase price
var int entries = 0                      // Count of entries
var float total_profit = 0               // Cumulative profit
var bool active_trade = false            // Whether an active trade exists

// Entry Condition: Buy on or after the initial date
if not active_trade
    initial_price := close
    strategy.entry("Buy", strategy.long)
    entries += 1
    active_trade := true

// Rebuy Condition: Buy if price drops 5% or more from the initial price
rebuy_price = initial_price * (1 - rebuy_drop / 100)
if active_trade and close <= rebuy_price
    strategy.entry("Rebuy", strategy.long)
    entries += 1

// Exit Condition: Sell if the price gives a 5% profit on the initial investment
target_price = initial_price * (1 + profit_target / 100)
if active_trade and close >= target_price
    strategy.close_all(comment="Profit Target Hit")
    active_trade := false
    total_profit += profit_target

// Display information on the chart
plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell")
plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy")

// Draw statistics on the chart
var label stats_label = na
if (na(stats_label))
    stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small)

label.set_xy(stats_label, bar_index, close)
label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")


関連性

もっと