波動力 突破型取引戦略

作者: リン・ハーンチャオチャン開催日:2023年10月26日 16:17:17
タグ:

img

概要

この戦略は,トレンド判断とブレイクアウト取引のための移動平均値,ATR,ボリンジャー帯を使用し,タイミングのためのフォースインデックスと組み合わせて,ブレイクアウト取引戦略に属します.

戦略の論理

  1. ボリンジャー帯の中間線,上間線,下間線を計算します.中間線は閉値の smaで,上間線と下間線は中間線 ± stdDevです.

  2. 速度の ATR は 20 周期,遅さの ATR は 50 周期です

  3. フォースインデックス XFORCE を計算し,そのフォースインデックスはボリューム* (Close - 前回のClose) の累積値です.そして,XFORCE の快速と遅い EMA を計算します.

  4. 長い信号を判断する:速いXFORCEが遅いXFORCEの上に横断し,速いATR >遅いATR,そして閉じる >開く.

  5. 短信号を判断します:速いXFORCEは遅いXFORCEを下に横断し,速いATR>遅いATR,そして閉じる<開きます.

  6. ロング信号が発信されたとき ロング信号が発信されたとき ショート信号が発信されたとき ショート信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ショート信号が発信されたとき ショート信号が発信されたとき ショート信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき ロング信号が発信されたとき

利点分析

  1. 移動平均はトレンドを示し ボリンジャー帯はブレイクポイントを示します

  2. ATRは変動を判断し 変動取引を実施します

  3. 力の指数は 力の方向を決定し 力の突破を実装します

  4. 複数の指標を組み合わせることで 総合的な判断が得られます

  5. 明確でシンプルなルールで 分かりやすく実行できます

  6. バックテストの結果は良好で 利益は安定している

リスク分析

  1. Bollinger Bands は,幅が正しくない場合,間違った信号を生成する可能性があります.

  2. 誤ったATRパラメータは 市場の変動を捉えることはできません

  3. フォースインデックスには 限られた効果があり 実際のトレンド逆転を 特定できません

  4. 複数の指標のパラメータと重さを調整するのは難しい.

  5. 突破信号が不正確で 差異がある可能性があります

  6. ストップロスを使って制御できます

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

  1. Bollinger Bands パラメータを異なる期間のツールで最適化する.

  2. ATRパラメータを最適化して 波動性を把握する

  3. トレンド検証のためにMACDのようなトレンドインジケーターを追加します

  4. ストップ・ロスの戦略を追加して 引き下げを制御します

  5. 逆転信号を判断するために AIアルゴリズムを使用します

  6. 複数のタイムフレームを組み合わせて 総合的な判断を行い 誤った信号を抑えます

概要

この戦略は,移動平均値,ATR,ボリンジャーバンド,フォースインデックスを統合して完全なブレイクアウト取引システムを形成する.パラメータ最適化,トレンドフィルター,ストップ損失戦略,AIアルゴリズムを追加することで,安定性と収益性を向上させることができます.しかし,戦略は完璧ではありません.バックテスト結果に対する継続的な最適化が変化する市場状況に適応するために必要です.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


if (bullish)
    strategy.entry("Buy", strategy.long)

if (bearish)
    strategy.entry("Sell", strategy.short)

もっと