KPLボラティリティ追跡戦略


作成日: 2023-09-21 11:09:04 最終変更日: 2023-09-21 11:09:04
コピー: 0 クリック数: 794
1
フォロー
1617
フォロワー

概要

この戦略は,KPL波動指数に基づいて取引し,簡単なトレンドを追跡する機械取引システムである.価格が20日間の高値を破るときに多めに取引し,価格が20日間の低値を下回るときに空きを取って,中長線の価格の波動を捕捉する.

戦略原則

  1. 20日間の最高値と最低値を計算する
  2. 市場が20日ぶりの高値を突破すると,追加入場
  3. 20日間の低値で閉店したときに空売り
  4. ストップ・ロスを計算し,ストップ・リストを設定します.

具体的には,この戦略は,まず過去20日の最高値と最低値を計算して,そのため震動範囲を構築する. 閉盘価格が下から20日高点を破るとき,多入場する. 上から20日低点を破るとき,空き入場する. 同時に,突破方向のストップロスを計算し,入場後すぐにストップ・ロードを設定して,単一損失を制御する.

優位分析

  1. 取引の論理はシンプルで直感的で,簡単に操作できます.
  2. 特定のトレンドを追跡する能力
  3. ストップ・ラスト・シートを設定すると,リスクがコントロールできます.
  4. 目標値の予測は不要で,主観的な推測は避けられる
  5. 感情的な取引は小さく,外部からの影響を受けません.

リスク分析

  1. 取引の遅滞のリスクがある
  2. 傾向の重要なポイントを把握できない
  3. 震災で 巻き込まれた可能性もある
  4. 潜在的利益は20日間の突破範囲に制限されています.
  5. ポジションの維持に最適な時期が分からない

リスク管理は,破局周期を調整し,トレンド判断を導入し,ストップ・ローズ戦略を最適化することによって行うことができます.

最適化の方向

  1. 異なる観測周期パラメータをテストする
  2. MACDなどの指標に加わります
  3. ストップ・ストップ戦略の最適化,移動ストップを実現
  4. 異なるポジション保持時間の収益への影響を評価する
  5. 異なる品種のパラメータの好みを研究する
    1. 再入場や加仓の追加を検討する

要約する

この戦略は,KPLの波動指標に基づいてトレンドを追跡する. 利点は,操作が簡単で,損失が止まっていること. 欠点は,遅れがあることと潜在的利益が限られていること. パラメータの最適化,戦略の組み合わせなどの方法によって優位性を維持しながら欠点を改善することができる. この戦略は,トレーダーが指標に基づく機械的取引方法を習得するのを助ける.

ストラテジーソースコード
/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
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/
// © ceyhun

//@version=4
strategy("KPL Swing Strategy", overlay=true)

no = input(20)
res = highest(high, no)
sup = lowest(low, no)
avd = iff(close > res[1], 1, iff(close < sup[1], -1, 0))
avn = valuewhen(avd != 0, avd, 1)
tsl = iff(avn == 1, sup, res)
sl = iff(close > tsl, highest(lowest(low, no / 2), no / 2), lowest(highest(high, no / 2), no / 2))

plot(tsl, color=#0000FF,title="KPL Swing")
plot(sl,  color=color.white,title="Stoploss")

bgcolor(abs(close - tsl[1]) > close ? color.white : close < tsl ? color.red : color.green, 90, offset=0)

if crossover(close, tsl)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close,tsl)
    strategy.entry("Short", strategy.short, comment="Short")