振動バランス戦略

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

img

概要

振動バランス戦略は,重度の移動平均値と基本的な見直し期間を使用して,次のティックの価格動きを予測する単純な戦略である.高値と低値に基づいてオープンに比べて現在の閉店ポジションを計算し,その後,異なる期間の指数関数移動平均値を計算し,最終的に歴史的なデータに基づいて一般的な価格傾向を判断する.

原則分析

戦略では,まず,開いたポジションに対する閉じたポジションを計算します.BoP = (close - open) / (high - low)その後,3期,6期9期12期と18期の EMAを計算します.

EMAを異なる色で描くことは,短い周期線が最初に方向を変え,長い周期線がサポートとレジスタンスを提供することを示します. EMAの間の領域を埋めることで,ライン間の価格振動をより直感的に見ることができます.

この EMA の算術平均値で,包括的な線を得ることができます. この線が過去2つの期間に変化した様子を観察すると,次の期間の傾向が予測されます. 総合的な線が上昇した場合,長くなります. 下落した場合,短くなります.

この方法により,過去データに基づいて,一般的な将来の傾向を推定できます.非常にシンプルですが,視覚的なEMAと詰め物は価格の振動を明確に示しています.

利点分析

この戦略の利点は以下の通りです.

  1. この原則はシンプルで 分かりやすく 実行できます

  2. 複雑な価格履歴を シンプルな包括的な線にまとめて 方向性によるエントリーと出口点を判断します

  3. 多期EMAの組み合わせにより,より包括的な参照が提供されます.短い期間の線は特定のエントリを決定し,長い期間の線は一般的な傾向を決定します.

  4. EMA の間を埋めることで 明確な価格振動を見るための直感的な視覚効果が形成されます

  5. ストップ・ロスを設定したり 利益を取ったりする必要はありません 余計な取引は避けられます

リスク分析

この戦略のリスクは以下のとおりです.

  1. 予測は過去のデータのみをベースに 将来の発生を保証するものではありません 傾向やキーレベルで確認する必要があります

  2. 出来事による急激な価格変動は,予測が不正確になる可能性があります.適切なリスク管理が必要です.

  3. 複数のEMAは 混乱信号を生む 体重を最適化する必要があります

  4. 取引頻度が高くなり,不要な取引を減らすために間隔制御が必要になります.

  5. 戦略信号は遅れており 遅れて入場し 早期ストップ損失を引き起こす可能性があります

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

戦略は以下の側面で最適化できます.

  1. より明確な信号のために EMA の重みを最適化します.例えば,中期と長期の EMA の重みを増加します.

  2. 逆トレンド取引を避けるためにトレンドインジケーターの確認を追加します.例えば,トレンド強さを判断するためにADXを使用します.

  3. 偽信号を減らすために キーサポートとレジスタンスレベルにフィルターを追加します

  4. 不必要なオープンポジションを避けるためにエントリールールを最適化します.トレンドフィルターまたはボリューム確認を追加できます.

  5. カーブストップ・ロースやATRストップ・ロースのようなストップ・ロース方法を最適化します

  6. 感情指標を追加して,上下を追いかけるのを避ける.例えば,長/短比率と資金流.

  7. 取引頻度を下げるための 制御間隔 または過剰取引を避けるための取引数を最適化します

概要

振動バランス戦略は,価格振動を計算し,複数の期間のEMAを視覚化することによって,単純で直感的にエントリー&エグジットポイントを判断する.予測遅延や誤った信号などのリスクが存在するが,フィルター,ストップ損失方法などを追加することで最適化することができる.トレンド取引時に有用な参照を提供する.この戦略は頻繁な短期トレーダーと視覚パターン分析者に適している.


/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Balance of Power", format=format.price, precision=2)

BoP = (close - open) / (high - low)
p1 = plot(ema(BoP,18),color=color.purple)
p2 = plot(ema(BoP,12),color=color.blue)
p3 = plot(ema(BoP,9),color=color.green)
p4 = plot(ema(BoP,6),color=color.yellow)
p5 = plot(ema(BoP,3),color=color.orange)
p6 = plot(BoP, color=color.red)


sumEMA = (avg(BoP,ema(BoP,3),ema(BoP,6),ema(BoP,9),ema(BoP,12),ema(BoP,18)))
plot(sumEMA,color=color.gray)

fill(p1,p2,color.purple)
fill(p2,p3,color.blue)
fill(p3,p4,color.green)
fill(p4,p5,color.yellow)
fill(p5,p6,color.orange)




projected = sumEMA + (sumEMA - sumEMA[2])
p7 = plot(projected, linewidth=2, color=color.white)
fill(p6,p7,color.red)

//strategy.exit("exitx","Exit",when=cross(projected,0))

strategy.entry("Long",true,1,when=crossover(projected,0))
strategy.entry("Short",false,0,when=crossunder(projected,0))



もっと