動的閾値価格変動ブレイクアウト戦略


作成日: 2024-04-01 12:03:59 最終変更日: 2024-04-01 12:03:59
コピー: 0 クリック数: 631
1
フォロー
1617
フォロワー

動的閾値価格変動ブレイクアウト戦略

この戦略は”動的値価格変化突破戦略”と呼ばれています.この戦略の主な考え方は,動的値を設定することで,価格変化率がこの値を超えると買入シグナルを生じ,価格変化率がこの値の負値を下回ると売り出そうシグナルを生じます.同時に,この戦略は,価格が前6根のK線の最低値を破るとき,止損を設定します.

戦略原則

この戦略の核心は,現在のクローズアップ価格を前回のクローズアップ価格から減算して1で得られた価格変化率を計算することである.その後,計算された価格変化率をユーザー入力された値と比較し,価格変化率が大きい場合の値に等しい場合,現在ポジションを持っていないか空頭ポジションを持っていない場合は,買入シグナルを生成する.価格変化率が小さい場合の値に等しい負の値の場合,現在ポジションを持っていないか多頭ポジションを持っていない場合は,売出シグナルを生成する.買入シグナルを生成した後,戦略は,最低の6K線をストップロスの位置として記録し,価格がストップロスの値を超えると,戦略は多頭ポジションを平らにする.

戦略的優位性

  1. この戦略は動的減価値を使用し,異なる市場状況に適応し,一定の柔軟性を持っています.
  2. 戦略の論理はシンプルで明快で,理解し,実行しやすい.
  3. ストップ・ロスを設定し,ある程度リスクをコントロールします.
  4. 薬物中毒の流行を効果的に捉えるため,薬物中毒の流行に適しています.

戦略リスク

  1. この戦略は,取引コストを増加させるため,不安定な状況で取引が頻繁に起こる可能性がある状況に起因する.
  2. 止損設定は柔軟性がないため,場合によっては早めに止損を起こす可能性があります.
  3. 戦略は,価格変動率という要素のみを考慮し,取引量,市場情緒などの価格動向に影響を与える可能性のある他の要因を考慮していない.

戦略最適化の方向性

  1. 戦略の信頼性を高めるため,取引量や変動率などの指標を導入することも考えられます.
  2. モバイルストップまたはダイナミックストップを使用するなど,ストップを最適化して,ストップをより柔軟にすることができます.
  3. 最適なパラメータの組み合わせを見つけるために,値の大きさ,止損計算周期などのパラメータを最適化することができます.
  4. ポジション管理に参加し,市場状況に応じてポジションを動的に調整し,リスクを制御する.

要約する

“動的値価格変化突破戦略”は,価格変化率と動的値を比較して取引シグナルを生成し,上昇状況で使用するのに適しています. この戦略の論理はシンプルで明確で,ある程度の柔軟性とリスク管理能力を持っています. しかし,この戦略には,頻繁に取引が起こる可能性のある揺れ動的状況,停止損失設定の柔軟性不足などの欠点があります. 将来,より多くの指標の最適化,停止損失設定の最適化,パラメータの最適化,ポジション管理の追加などから戦略の最適化を考慮して,戦略のパフォーマンスをさらに改善することができます.

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

//@version=4
strategy("Price Change", shorttitle="Price Change", overlay=true)

change = input(00.1, title="Change", minval=0.0001, maxval=1, type=input.float)


// Calculate price change
priceChange = close / close[1] - 1

// Buy and Sell Signals
buyp = priceChange >= change
sellp = priceChange <= (change * -1)

// Initialize position and track the current position
var int position = na

// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)

var float stop = na

if (buy_condition)
    strategy.entry("Long", strategy.long)
    stop := lowest(low, 6)
    position := 1
if (sell_condition or low < stop)
    strategy.close("Long")
    position := -1

// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)