KPLのスウィング・トレーディング戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-21 11:09:04
タグ:

概要

このストラテジーは,メカニカルシステムに従う単純なトレンドであるKPL スウィング指標に基づいて取引します. 20 日高値の上での閉店でロング,20 日低値の下での閉店でショートして中長期の価格変動を把握します.

戦略の論理

  1. 20日間の最高値と最低値を計算する
  2. 20日間の高値を超えるとロングになります
  3. 20日間の低値を下回るとショート
  4. ストップ・ロスのレベルを計算し,ストップ・オーダーを設定する

ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.ストップ・ロスは20日間の低値から20日間の低値まで走る.

利点分析

  1. シンプルで直感的な論理,理解しやすい
  2. 容量についていくつかの傾向があります
  3. ストップ・ロスはリスクを効果的に制御します
  4. 客観的な価格目標予想がない
  5. 感情的な取引が少なく,外部の影響は最小限

リスク分析

  1. 遅延するリスクがある
  2. 傾向の主要なレベルを特定できない
  3. 鞭ので 閉じ込められるかもしれない
  4. 利益の可能性は20日間のブレイクアウト範囲で制限されています.
  5. 最適な保持期間を決定するのは難しい

リスクは,見直し期間を調整し,トレンドフィルターを追加し,ストップロスを最適化して管理できます.

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

  1. 異なるバックバック期間をテストする
  2. モメントを計測するためにMACDなどを追加します.
  3. トレイリングストップ損失を最適化する
  4. 保有期間の収益性への影響を評価する
  5. 試験パラメータの製品間の優先度
  6. 再入国とピラミッド規則を追加することを検討

概要

この戦略は,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")
    
    
    


もっと