移動平均に基づく振動ブレイクアウト戦略


作成日: 2024-01-23 15:13:31 最終変更日: 2024-01-23 15:13:31
コピー: 1 クリック数: 556
1
フォロー
1617
フォロワー

移動平均に基づく振動ブレイクアウト戦略

概要

この策略は,ベース平均線の震動突破策 () と呼ばれる.この策略は,価格の異なる周期の移動平均を計算して,価格が重要な平均線を破るか否かを判断して,長短を短縮する.短周期平均線が長周期平均線を破るときは多頭し,短周期平均線が長周期平均線を下回るときは空頭する.

戦略原則

この策略は主に均等線理論に基づいています. 移動平均は技術分析でよく使用される分析ツールであり,価格データから短期価格変動ののノイズをフィルターし,価格の主なトレンドの方向を反映します. 急速移動平均は価格の短期トレンドを反映し,遅い移動平均は価格の長期トレンドを反映します. 急速移動平均の上または下を通過すると,短期トレンドが長期トレンドと反転することを意味します.

本策は,この原理を利用して,2つの異なるパラメータのEMA平均線を設定し,短周期の”つを快線,長周期の”つを慢線とする.この策では,それぞれ長さ9と26のEMA平均線を変換線と基準線として計算する.短周期のEMAに長周期のEMAを穿うとき,多し,短期価格が長期価格より高いことを示し,多頭シグナルに属す.短周期のEMAの下に長周期のEMAを穿うとき,空し,短期価格が長期価格より低いことを示し,空頭シグナルに属す.

この戦略は,価格の短期的なトレンドの機会を捉えるために,価格の可能な逆転点を,EMAの速やかな突破によって判断します.

戦略的優位分析

  • 平均線理論の指標を用いて価格の逆転点を判断し,比較的信頼性がある
  • シンプルで分かりやすい指標に基づいた実現
  • パラメータは柔軟に調整され,異なる品種のパラメータに最適化できます
  • 特定の取引時にのみポジションを設定し,夜間リスクを回避
  • より明確な突破点を見つけ,勝利率を上げることができます.

リスクと解決策の分析

  • 複数の小規模な利回り取引のリスクを冒す

停止幅を適当に緩和し,明確な反転信号が確認された後に再入場

  • 低流通の株に対して,空飛ぶか価格の差異化が起こる可能性のある問題

パラメータ最適化,均線周期パラメータの調整,最適化されたパラメータrizを使用して取引を行う

  • 大規模な波動の際には,誤った信号が出る可能性が高い.

他の指標と組み合わせて,明確な信号を決定できます.

  • 単純な平均線指標だけで複雑な状況を判断する能力の欠如

他の構成型指標を導入して,重要なポイントで戦略的決定を行う

最適化の方向

この戦略は,以下の方向でさらに改善できます.

  1. ポジション管理機構の強化,単位のリスクの軽減

  2. 単一損失を効果的に制御するための止損メカニズムを増やす

  3. 取引量,取引量指標の組み合わせを導入し,価格の偽突破を避ける

  4. モデル予測の強化,価格の逆転の可能性を予測する機械学習の活用,意思決定の効果の向上

  5. ディープ・ラーニングなどの手法で,プロのトレーダーの意思決定を模倣し,反転の確率の高いポイントで取引シグナルを選択します.

要約する

この戦略は,均線指標判断に基づく短期逆転戦略の1つである。カスタマイズ可能なパラメータの設定は,そのための良好な柔軟性を提供します。単純な指標のみを使用するものの,パラメータを調整することで,市場環境にうまく適応できます。この戦略は,短期価格逆転が提供するスレートチャンスを掴むことを目的としています。さらにポジション管理,損失防止機構などの手段を導入することにより,リスクを効果的に制御し,戦略の安定性を向上させることができます。同時に,より多くの先進技術指標と機械学習方法を導入し,戦略の効果を向上させ,戦略の効果を向上させる余地を探索することができます。

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

//@version=3
strategy("Juiced Ichimoku Strat", overlay=true)

USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0800-1600', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)

varLo = input(title="Fast (Conversion) Line",  defval=9, minval=1, maxval=99999)
varHi = input(title="Slow (Base) Line",  defval=26, minval=1, maxval=99999)
emafreq = input(title="Ema on price frequency",  defval=2, minval=1, maxval=99999)

a = lowest(varLo)
b = highest(varLo)
c = (a + b ) / 2

d = lowest(varHi)
e = highest(varHi)
f = (d + e) / 2

//g = ((c + f) / 2)[varHi]
//h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi]

z = ema(close, emafreq)

bgcolor(z > c and z > f ? green : z < c and z < f ? red : yellow, transp=70)
plot(z, title="ema on Price", color=black)
plot(c, title="Fast (Conversion) Line", color=green)
plot(f, title="Slow (Base) Line", color=red)

long = z > c and z > f and (USE_TRADESESSION ? istradingsession : true)
short = z < c and z < f and (USE_TRADESESSION ? istradingsession : true)
//exit = z < c and z > f or z > c and z < f

closelong = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closelong)
    strategy.close("Long")
closeshort = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closeshort)
    strategy.close("Short")
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)