三重移動平均チャネル戦略 耐えてキャンドルスタイクラインから貴重な情報を採掘する

作者: リン・ハーンチャオチャン,日付: 2024-02-01 11:12:47
タグ:

img

概要

三重移動平均チャネル戦略は,複数の移動平均指標を利用し,キャンドルスタイクチャートを深く分析し,価格変動の背後にある隠れたルールを明らかにし,低リスクの仲介取引を達成します.

原則

この戦略は,価格チャネルを構築し,価格変動のパターンを発見するために,ボリンジャーバンドの上に複数のEMAメトリックを積み重ねます.特に:

  1. BodyResistanceChannelインジケーターは,キャンドルボディの抵抗レベルをグラフ化するために使用されます.
  2. サポート/レジスタンスの指標は,多日間のサポートとレジスタンスのレベルを画すのにレバレッジされます.
  3. 双 EMA システムは,トレンドの方向性を決定するのに役立ちます.
  4. Hull MA指標は価格曲線を滑らかにします

この根拠に基づいて,パターンの認識によって反転の機会が特定され,アービタージ戦略が策定される.

利点

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

  1. 複数のEMASによる価格チャネルの構築は,価格動向を明確に決定するのに役立ちます.
  2. Hull MA指標は,価格のブレイクを効果的に平滑させます.
  3. 逆転パターンとチャネル指標を組み合わせることで,高い確率と低リスクの取引が可能になります.
  4. 複数の層の指標システムを構築することで,安定した信頼性の高い取引信号が確保されます.

リスク分析

この戦略に伴う潜在的なリスクは次のとおりです.

  1. 価格チャネルを破ると大きな損失のリスク. 解決策は,取引損失を減らすために移動ストップ損失を採用することです.
  2. 逆パターン認識が間違えた場合,誤った信号のリスク. 解決策はパターン精度を向上させるパラメータ最適化です.
  3. 指標パラメータが不一致すると信号品質が悪化するリスク.解決策は多パラメータ最適化テストです.

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

主な最適化方向は以下の通りである.

  1. EMA 期間パラメータの組み合わせを最適化し,市場条件に適したものにします.
  2. ストップ・ロスのレベルを調整し,取引損失リスクを最小限に抑えながら,取引回帰を最大化します.
  3. リスクの効率的な管理のために,波動性に基づく動的ポジションサイズモジュールを導入する.
  4. ディープラーニング技術を活用して より多くの価格パターンを発見し 信号品質を向上させる

結論

三重移動平均チャネル戦略は,安定性と効率性のある価格動きの規則性を深く掘り下げ,長期的適用と継続的な最適化に値する.投資には合理性と忍耐が必要であり,進歩的なポジションスケーリングは成功の鍵である.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:', defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////

もっと