
双均線ゴールドクロストレンド追跡策は,価格の双均線 ((DEMAとTEMA) を計算し,その交差を検出してゴールドクロス信号を形成し,市場の全体的な動きを判断し,取引信号を発信する.この策は,トレンド指標と突破信号を組み合わせて,中長線トレンドを追跡し,トレンドの開始段階で信号を捕捉することを目的としている.
この戦略の核心指標は,長さ200のDEMAと,長さ9と50の2つのTEMAである.DEMAは,全体的なトレンドを判断する指標であり,2つのTEMAの交差は,買入シグナルを生成する指標である.
短期9周期TEMA上から中期50周期TEMAを突破すると,買入シグナルが生じ,短期上昇傾向が始まることを示す,買入することができる.短期9周期TEMA下から中期50周期TEMAを突破すると,売り出信号を生じ,短期下降傾向が始まることを示す,売り出することができる.
偽突破をフィルターするために,この戦略はDEMA指標の判断を増加させ,価格がDEMAより高い場合にのみTEMA交差の信号が有効になるようにし,トレンドの開始時に信号を捕捉することができる.
この戦略は,均線判断傾向と均線交差判断信号の優位性を組み合わせて,短期と中期の2つの時間次元の情報を考慮するとともに,2つの異なるタイプの技術指標信号を同時に判断することで,信号の信頼性を高め,ノイズと偽信号を減らす.
信号の有効性を判断する際にDEMA指標をフィルターとして加えることで,収束と明らかなトレンドがないときに信号が依然として発生し,不必要なポジションを引き起こすのを避けることができます.これは損失のリスクを大幅に軽減します.
この戦略は比較的安定したパラメータ設定を使用しているため,長期テストでは良好なパフォーマンスを示しているが,特定の市場環境では一定のリスクが残っている.
市場が激しく波動すると,均線交差信号は遅滞し,価格変化を間に合うように反映することができない.このとき,最適な入場時間または止損点を逃してしまう.
トレンドが逆転すると,DEMA指標の設定が長いため,信号を適時に変換することができないかもしれない。これは損失の拡大につながる。
均線指数とトレンドの判断に基づいているため,この戦略は中長線操作に適している.短線操作では,利益不足のリスクがある.
この戦略は,以下の点でさらに最適化できます.
DEMAとTEMAのパラメータを最適化して,異なる品種と市場環境に適したものにします.より多くの組み合わせをテストして,最適なパラメータを見つけることができます.
取引量,波動率などの他の指標から構成されたフィルターと確認メカニズムを追加し,信号の質をさらに改善します.
価格がDEMAを突破したときにストップするストップメカニズムを追加します. これは損失を減らすことができます.
市場の平均波動範囲に適したストップとストップポイントの設定を最適化.
双均線金交差トレンド追跡戦略は,多時間次元におけるトレンド判断と交差信号を総合的に考慮し,信号の有効性を判断する際にフィルタリング条件を追加し,中長線トレンドを効果的に追跡し,機会を間に合うように捕捉し,低効率な取引を回避することができる.この戦略は,安定性が高く,多種多様な市場環境に適しており,長期にわたって使用する価値のある量化戦略である.将来,パラメータとモジュールを最適化することで,戦略の安定性と収益性をさらに強化することができる.
/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Trading", shorttitle="DEMA+TEMA", overlay=true)
// Parámetros de la estrategia
risk_percentage = input(1, title="Porcentaje de Riesgo (%)") / 100
stop_loss_pips = input(30, title="Stop Loss (pips)")
take_profit_pips = input(90, title="Take Profit (pips)")
length_DEMA = input(200, title="Longitud DEMA")
length_TEMA_9 = input(9, title="Longitud TEMA 9")
length_TEMA_50 = input(50, title="Longitud TEMA 50")
// Indicadores
dema = ta.ema(close, length_DEMA)
tema_9 = ta.ema(close, length_TEMA_9)
tema_50 = ta.ema(close, length_TEMA_50)
tema_9_50_cross_up = ta.crossover(tema_9, tema_50)
tema_9_50_cross_down = ta.crossunder(tema_9, tema_50)
// Riesgo y gestión de operaciones
risk_per_trade = strategy.equity * risk_percentage
stop_loss = close - stop_loss_pips * syminfo.mintick
take_profit = close + take_profit_pips * syminfo.mintick
// Condiciones de entrada
long_condition = close > dema and tema_9_50_cross_up
short_condition = close > dema and tema_9_50_cross_down
// Estrategia de Trading
if (long_condition)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", from_entry="Buy", loss=stop_loss, profit=take_profit)
if (short_condition)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", from_entry="Sell", loss=stop_loss, profit=take_profit)
// Líneas de visualización
hline(0, "Zero Line", color=color.gray)
plot(dema, color=color.blue, title="DEMA")
plot(tema_9, color=color.green, title="TEMA 9")
plot(tema_50, color=color.red, title="TEMA 50")
// Triángulos
plotshape(tema_9_50_cross_up, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(tema_9_50_cross_down, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)