
クアッドMAトレンドスキャッパー (Quad MA Trend Scalper) は,4つの異なる周期の移動平均を利用して買入と売却のシグナルを生成するトレンド追跡戦略である.これは,10分から30分のようなより小さな時間枠で市場を打つ操作に適用される.
この戦略は,2つの移動平均のセットを同時に使用する.最初のグループは,迅速な移動平均であり,length1周期のMA1とlength2周期のMA2を含み,その交差が買入と売却のシグナルを生成する.第二グループは,longlength1周期のMA3とlonglength2周期のMA4を含む長線移動平均であり,それらは長線トレンドの方向を判断するために使用される.
急速移動平均MA1とMA2が黄金交差したときのみ,ポジションを開く.このとき,長線移動平均MA3がMA4上にあるかどうかを判断する必要があり,もしそうなら,現在長線上の傾向にあることを示し,このとき,多信号が有効である.
多頭探機の後,急速移動平均MA1の下MA3を穿越すると,ショートラインのトレンドが逆転することを示す,この時点で平仓止まりである.
空信号生成論理は,多信号対称とは反対で,ここでは説明しません.
このような設計によって,戦略はトレンドの方向を効果的に追跡することができ,震動の状況に巻き込まれるのを避けることができます.同時に,長短線配合を利用して,高い確率で利益を得る機会にポジションを開け,リスクを制御するためにストップを設定できます.
この戦略の利点は以下の通りです.
複数の移動平均を用いて判断し,取引シグナルをより信頼性のあるものにする. 振動的な状況で巻き込まれるのを避ける.
長い線で大きなトレンドを判断し,短い線で入場する考え方を採用することで,トレンドの方向を効果的に追跡することができる.
ショートラインのストップ・プレイスポイントを設定し,単一損失を制御する.
利率の高い取引に適した利回りが高い.
この戦略にはいくつかのリスクがあります.
長短線が逸脱すると誤取引が起こりうる.このとき,信号を事前に認識し,間に合うように止めておく必要がある.
移動平均策略はパラメータの調整に敏感であり,パラメータが正しく選択されていない場合,取引頻度が過高または信号が遅れている可能性があります.最適なパラメータの組み合わせを見つけるために,複数のテストが必要です.
高レバレッジの取引は,資金使用率をコントロールし,ポジションの破綻のリスクを回避します.
この戦略は,以下の点で最適化できます.
波動率の指標を増やし,市場の波動率の大きさを評価し,低波動の時にポジションを開き,高波動の瞬間を避ける.
取引量指数を増やし,取引量高の突破時にポジションを開く。取引量収縮の偽突破を避ける。
移動平均のパラメータを最適化して,最適なパラメータの組み合わせを見つけます. ステップアップ最適化と連携して,全局的に最適なパラメータを見つけます.
複数の時間枠で信号特性を観察し,複数の時間枠の取引ルールを設計し,より大きな時間枠を利用して信号を確認する.
四均線トレンド速跳空戦略は,典型的な追跡トレンド戦略である.これは,2組の異なる周期平均線を用いて判断し,大きなトレンド方向にポジションを開き,その後は短平均線を用いて速速ストップ・ストロップ・ストローする.戦略の考え方は明確で,EASYリスク管理,高頻度取引に適している.一定の確率で誤信号のリスクがあり,パラメータ最適化とルール最適化により改善し,利益の機会を最大化する必要がある.
/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-10 10:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Quad MA Trend Scalper Backtest", shorttitle="QMA BACKTEST", overlay=true, pyramiding = 100)
//
//INPUTS
//
price = close
exponential = input(false, title="Exponential MA")
longexponential = input(true, title="Long Exponential MA")
src = input(close, title="Source")
length1 = input(13, title="MA Fast")
length2 = input(21, title="MA Slow")
longlength1 = input(54, title="Long MA 1")
longlength2 = input(84, title="Long MA 2")
//
//MAs
//
ma1 = exponential ? ema(src, length1) : sma(src, length1)
ma2 = exponential ? ema(src, length2) : sma(src, length2)
ma3 = longexponential ? ema(src, longlength1) : sma(src, longlength1)
ma4 = longexponential ? ema(src, longlength2) : sma(src, longlength1)
plot(ma1, color = black, linewidth = 2)
plot(ma2, color = red, linewidth = 2)
plot(ma3, color = blue, linewidth = 2)
plot(ma4, color = green, linewidth = 5)
long1 = crossover(ma1, ma2) and ma3 > ma4
long2 = crossover(ma1, ma2) and ma3 < ma4
short1 = crossunder(ma1, ma2) and ma3 < ma4
short2 = crossunder(ma1, ma2) and ma3 > ma4
//plotshape(long1, style=shape.triangleup, location=location.belowbar, color=green, size=size.tiny)
//plotshape(long2, style=shape.triangleup, location=location.belowbar, color=red, size=size.tiny)
//plotshape(short1, style=shape.triangledown, location=location.abovebar, color=green, size=size.tiny)
//plotshape(short2, style=shape.triangledown, location=location.abovebar, color=red, size=size.tiny)
//
//STRATEGY
//
//LONG
if (crossover(ma1, ma2) and ma1>ma4)
strategy.entry("Long", strategy.long, comment="Long")
strategy.close("Long", when = crossunder(ma1, ma3))
//SHORT
if (crossunder(ma1, ma2) and ma1<ma4)
strategy.entry("Short", strategy.short, comment="Short")
strategy.close("Short", when = crossover(ma1, ma3))