
双EMA黄金交差突破策は,双指数移動平均 ((EMA)) をベースにしたトレンド追跡と突破取引策である.これは,2つの異なる周期のEMAを計算し,黄金交差の発生時に買入シグナルを生成し,死交差の発生時に売りシグナルを生成し,価格トレンドの変化を捕捉する.この策は同時に,価格の突破EMAの条件を組み合わせてシグナルを発し,偽のシグナルをフィルターする.
ダブルEMAの金十字突破策は主に以下の原理に基づいている.
価格の短期的傾向を捉えるために,より短い周期のEMA ((26日線),長期の傾向を判断するために,より長い周期のEMA ((200日線) を使用する.
短期EMAが長期EMAを下から上へと突破すると,黄金の交差点と呼ばれる.これは,価格動きが下から逆転して買い信号を生成することを意味する.
短期EMAが長期EMAを上下して突破すると,死交差と呼ばれて,価格動きがから転落し,売り込みシグナルを生成する.
交差信号を発信する際には,価格が同時にEMAを突破し,偽信号をフィルターして取引信号の信頼性を確保する必要がある.
取引のリスクを制御し,利益をロックするために,取引の停止と停止の方法を採用します.
双 EMA ゴールド・クロス・ブレイクストラテジーは以下の利点があります.
双EMAを使って価格の傾向と交差信号を判断し,市場動向を効果的に追跡することができる.
価格のフィルタリングを突破し,偽信号の誤導を回避する.
取引の論理はシンプルでわかりやすく,理解しやすく,実行できます.
異なる品種と時間周期に適応し,柔軟な通用.
設定可能なEMAパラメータと止損停止条件,適応性強.
双 EMA 黄金のクロス突破策には以下のリスクがあります.
価格の揺れでは,EMAの交差が頻繁に起こり,過剰な取引シグナルを生じます. 交差回数を減らすためにEMAパラメータを適切に調整できます.
二重EMAは時折遅滞し,価格の変化に適時に対応することができない.他の指標と組み合わせて確認することができる.
ストップポイントが小さすぎると,価格のわずかな波動に触発されやすく,ストップポイントが大きすぎると,利益の一部を逃す可能性があります.市場に応じてストップポイントの位置を調整する必要があります.
取引信号が生まれる前に,大レベルのトレンドを判断し,逆転取引を避ける.
双 EMA ゴールド・クロス・ブレイクストラテジーは,以下の点で最適化できます.
機械学習アルゴリズムを適用してEMAパラメータを動的に最適化することで,価格変動に適応できます.
交差量,ブリン帯など,他の指標確認信号を追加し,信号品質を向上させる.
ディープ・ラーニングと予測価格の経路を組み合わせることで,ストップ・ローズ・ストップを最適の位置に近づけます.
高周波データに対する戦略の最適化,信号の精度向上.
自動調整の停止装置を追加し,過度に頻繁に停止することを防止する.
概要として,双EMA金十字突破策は,EMA交差信号を利用して価格の動きとターニングポイントを判断し,偽信号を避けるために価格突破フィルターを加え,信頼性があり,安定し,実行しやすいトレンド追跡取引策である.パラメータ最適化,信号フィルタリング,自己適応調整によって戦略の効果をさらに強化することができる.その取引構想はシンプルで直感的で,あらゆる種類の投資家に適用され,量化取引の基本的な戦略の1つです.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Buy/Sell Signal", shorttitle="EMABuySell", overlay=true)
// === INPUTS ===
src = input(close)
ema1Length = input(26, title='EMA-1')
ema2Length = input(200, title='EMA-2')
EMASig = input(true, title="Show EMA ?")
takeProfitPercent = input(2.0, title="Take Profit (%)") / 100
stopLossPercent = input(1, title="Stop Loss (%)") / 100
pema1 = ta.ema(src, ema1Length)
pema2 = ta.ema(src, ema2Length)
// Plotting EMAs
plot(EMASig ? pema1 : na, title='EMA-1', color=color.new(color.blue, 0), linewidth=2)
plot(EMASig ? pema2 : na, title='EMA-2', color=color.new(color.orange, 0), linewidth=2)
// EMA Crossover Buy Signal
EMACrossoverLong = ta.crossover(pema1, pema2)
// EMA Crossunder Short Signal
EMACrossoverShort = ta.crossunder(pema1, pema2)
// Crossover above EMA-200 Long Signal
CrossoverAboveEMA200 = ta.crossover(close, pema2)
// Trading logic for Long
if ((EMACrossoverLong and close > pema1 and close > pema2) or CrossoverAboveEMA200)
strategy.entry("Buy", strategy.long, qty=1)
// Take Profit logic for Long
longCondition = close >= strategy.position_avg_price * (1 + takeProfitPercent)
if (strategy.position_size > 0 and longCondition)
strategy.close("Buy")
// Stop Loss logic for Long
stopLossConditionLong = ta.crossunder(pema1, pema2)
if (strategy.position_size > 0 and stopLossConditionLong)
strategy.close("Buy")
// Trading logic for Short
if (EMACrossoverShort and close < pema1 and close < pema2)
strategy.entry("Sell", strategy.short, qty=1)
// Take Profit logic for Short
shortCondition = close <= strategy.position_avg_price * (1 - takeProfitPercent)
if (strategy.position_size < 0 and shortCondition)
strategy.close("Sell")
// Stop Loss logic for Short
stopLossConditionShort = ta.crossover(pema1, pema2)
if (strategy.position_size < 0 and stopLossConditionShort)
strategy.close("Sell")
// Visual Signals
plotshape(series=EMACrossoverLong or CrossoverAboveEMA200, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=EMACrossoverShort, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)