複数の移動平均に基づくトレンド取引戦略


作成日: 2023-12-07 10:50:37 最終変更日: 2023-12-07 10:50:37
コピー: 2 クリック数: 623
1
フォロー
1619
フォロワー

複数の移動平均に基づくトレンド取引戦略

概要

この戦略は,複数の異なる周期の移動平均を計算して,黄金の交差形と組み合わせてトレンドの方向性を判断し,トレンド追跡取引を実現する. 主な機能は,価格トレンドの転換点を発見し,買入と売却のシグナルを発信する.

戦略原則

この戦略は,35周期のEMAを主要判断買入販売の指標として使用している.価格が35EMAを超えると,買入シグナルを生成し,価格が35EMAを超えると,売出シグナルを生成する.さらに,この戦略は,トレンドの方向を判断するために,同時に8つの異なる周期のEMAで構成されたEMA帯を図を描いている.低い周期のEMAが価格から離れているほど,価格の変化をより迅速に捉えることができる.高い周期のEMAは価格の変化に遅いほど従って,部分的なノイズをフィルターすることができます.EMA帯は価格の主要なトレンドの方向を明確に描写することができます.

この戦略は,主に35EMA判断価格の主なトレンドに依存する.価格が35EMAを突破したり下げたときに取引シグナルを生成する.EMA帯は,主に補助的な判断と入場タイミングの最適化の役割を果たす.

優位分析

この戦略は,トレンド判断と頻繁な取引の間のバランスを組み合わせている。35EMAは,主要なトレンドの方向転換を基本的に判断できるだけでなく,あまり遅れることはない.基本的には,価格転換点の近くで取引信号を生成できる。そしてEMAが形成するトレンドチャネルは,買い出品の機会を判断し,入場のタイミングを最適化するのに役立つ。

単一のEMA指数判断に比べて,この戦略はより包括的で明確なトレンド判断を提供します.異なる周期EMAの組み合わせは,大周期トレンドの方向に対する判断を保証するとともに,高低周波EMAを組み合わせて,短周期市場のノイズの一部の影響を平滑化します.

ユーザーは,主要取引指標である35EMAの周期,またはEMA帯のEMA周期を自分で調整して,自分の取引スタイルを最適化することができます.全体的に,この戦略は,比較的正確で包括的なトレンド取引方案を提供します.

リスク分析

この戦略の主なリスクは,ユーザのパラメータ選択にある.選択したEMA周期が短すぎると,取引頻度と取引リスクが増加する.EMA周期が長すぎると,価格転換点を逃し,間に合わない入場が可能になる.

もう1つの主要なリスクは,状況の整合で,EMA指標が複数の誤信号を生じることである.このとき,ユーザーはトレンドの方向を判断する補助が必要で,盲目入場を避ける.

最後のリスクポイントは,急激な状況で,指標が滞り,購入・売却の信号を間に合うように発信できないことです.この場合,ユーザーは,指標の信号に完全に依存できないことを事前に判断する必要があります.

最適化の方向

この戦略の主な最適化方向は,異なる市場とトレーダーのスタイルに合わせてEMAパラメータを調整することです.具体的には,以下のいくつかの側面から始めることができます:

  1. 主要取引指標35EMAの周期パラメータを調整し,取引シグナルを取得するタイミングを最適化
  2. EMA帯の各 EMA周期パラメータを調整し,トレンド判断を最適化する
  3. BOLLチャネル,KDJ指数などの他の補助指標を組み合わせる
  4. 取引量指数と組み合わせて,価格が急激に波動し,取引量が増加しない場合に入場を避ける

パラメータの調整と複数の指標の組み合わせにより,戦略の安定性と信号の取得の正確性をさらに向上させることができます.

要約する

この戦略は,複数の異なる周期のEMAを計算し,EMA帯の判断を補足することで,比較的正確で包括的なトレンド追跡取引方案を実現する.それは,価格転換のタイミングを捉えることだけでなく,さまざまなレベルのトレンドの方向性を総合的に判断し,取引頻度とシステムの安定性との間のバランスを追求する.この戦略は,パラメータの調整と最適化により,異なる市場環境,資産タイプ,トレーダーのスタイルに適応することができます.

ストラテジーソースコード
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
// @author d3nv3r 
// @inspiration [LazyBear]
// List of all my indicators: https://github.com/d3nv3r0ne/tradingview
//
// Inputs : Show Buy&Sell Signals
// Inputs : Show EMA in White for the Buy&Sell Signals
// Inputs : Choose the length of the EMA for the B&S signals
// 
// How to use it : 
// Any chart
// copy all and paste the content into the Pine Editor Tab at the bottom of the tradingview pannel
// [Save As...] and [Add to Chart] in top-right of the Pine Editor
//
//@version=4
strategy(shorttitle = "35EMA_X_B/S_RIBBON", title="35EMA Cross BuyAndSell Strategy + RIBBON [d3nv3r]", overlay=true)

//
// Variables inputs
//
useBSstrategy = input(true, title="Show Buy & Sell Strategy")
showMABS = input(true, title="Show EMA Cross - need to active B&S Strategy")
lengthBS = input(title="Length EMA Cross - need to active B&S Strategy", type=input.integer, defval=35, minval=1)
src = input(close, title="Source")

//
// Variables
// Ribbon EMA + EMA B/S 
//
lenRib1 = 20
lenRib2 = 25
lenRib3 = 30
lenRib4 = 35
lenRib5 = 40
lenRib6 = 45
lenRib7 = 50
lenRib8 = 55

//
// Variables
// Quadruple SMA + SMA B/S 
//
maBS = ema(src, lengthBS)
rib1 = ema(src, lenRib1)
rib2 = ema(src, lenRib2)
rib3 = ema(src, lenRib3)
rib4 = ema(src, lenRib4)
rib5 = ema(src, lenRib5)
rib6 = ema(src, lenRib6)
rib7 = ema(src, lenRib7)
rib8 = ema(src, lenRib8)

//
// Variables color
//
colorEMAX = #FFFFFF
colorRib1 = #FFFF00
colorRib2 = #FFD700
colorRib3 = #FFC800
colorRib4 = #FFC800
colorRib5 = #FFC800
colorRib6 = #FF4500
colorRib7 = #FF1500
colorRib8 = #FF0000

//
// Variables Buy/Sell
//
longCondition = crossover(close,maBS)
shortCondition = crossunder(close,maBS)

//
// Logic Buy/Sell
//
if (useBSstrategy)
    if (longCondition)
        strategy.entry("Long", strategy.long)
    if (shortCondition)
        strategy.entry("short", strategy.short)

//
// Plot Quadruple SMA + SMA B/S
//
plot(showMABS and maBS ? maBS : na, color=colorEMAX, transp=0, linewidth=2)
plot(rib1, color=colorRib1, transp=15, linewidth=1)
plot(rib2, color=colorRib2, transp=15, linewidth=1)
plot(rib3, color=colorRib3, transp=15, linewidth=1)
plot(rib4, color=colorRib4, transp=15, linewidth=1)
plot(rib5, color=colorRib5, transp=15, linewidth=1)
plot(rib6, color=colorRib6, transp=15, linewidth=1)
plot(rib7, color=colorRib7, transp=15, linewidth=1)
plot(rib8, color=colorRib8, transp=15, linewidth=1)