リスクリターン比率最適化戦略と組み合わせたデュアル移動平均トレンドフォロー取引システム

EMA RRR
作成日: 2024-11-28 17:20:13 最終変更日: 2024-11-28 17:20:13
コピー: 0 クリック数: 404
1
フォロー
1617
フォロワー

リスクリターン比率最適化戦略と組み合わせたデュアル移動平均トレンドフォロー取引システム

量的な取引の分野では,トレンド追跡戦略は常に最も人気のある取引方法の1つです. この記事は,二均線システムに基づくトレンド追跡戦略を紹介します.この戦略は,リスク/利益の比率を最適化することで取引効率を向上させます.

戦略概要

この戦略は,20日目と200日目の指数移動平均 ((EMA) を主要な指標として採用し,リスクと利益の比率3:1を組み合わせて取引決定を行う.価格が20日間の平均線を突破し,20日間の平均線が200日間の平均線上にあるとき,システムは買取シグナルを発信する.各取引には,リスクが制御可能であることを確認するために,固定的ストップ損失 ((-0.5%) と利益 (-1.5%) のレベルが設定されている.

戦略原則

戦略の中核となるロジックには、次の重要な要素が含まれます。

  1. 20日および200日EMAを用いて市場トレンドを判断し,200日平均線は長期トレンドを表し,20日平均線は短期トレンドを反映する
  2. 価格が20日平均線を突破し,20日平均線が200日平均線より上にあるとき,市場が上昇傾向にあることを示します.
  3. 3:1のリスク/リターン比率で,ストップポイント (%) はストップポイント (%) の3倍です.
  4. 変数を設定して取引状況を追跡し,重複入場を避ける
  5. 価格が20日平均線を下回ると,次の取引の準備をするために,取引状態を再設定します.

戦略的優位性

  1. 市場騒音を効率的にフィルターし,取引信号の信頼性を向上させる
  2. 固定リスク/利益の比率は,長期にわたる安定した利益に貢献します.
  3. 明確な入場・出場ルール,主観的な判断を減らす
  4. 自動化が進んでおり,簡単に実行し,追跡できます.
  5. リスク管理の仕組みが整っており,取引ごとに明確なストップ・ロスが設定されています.

戦略リスク

  1. 横盤市場では頻繁に偽信号が生じる可能性がある
  2. 固定ストップ・ストップ・ポジションは,すべての市場環境に対応しない可能性があります.
  3. 取引コストを考慮しない場合,実際の利益に影響を与える可能性があります.
  4. 波動性の高い市場では,ストップポジションがエントリーポイントに近すぎる可能性があります.
  5. 市場流動性を考慮していない

最適化の方向

  1. 動向判断の正確性を高めるための量能指標の導入
  2. 市場変動に応じてストップ・ストップ・ポジションの動向調整
  3. トレンド強度フィルターを増やして偽信号を減らす
  4. 市場情緒指数への参加を検討する
  5. ポジション管理システムの最適化により,資金の管理が向上

要約する

これは,構造が整った,論理が明確なトレンド追跡戦略である.双均線システムと固定されたリスク/利益比を組み合わせることで,戦略は,利益を保証しながらも,リスクをうまくコントロールしている.まだ最適化が必要な部分があるが,全体的に言えば,さらに研究と改善に値する取引システムである.

ストラテジーソースコード
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Compra con Ratio 3:1", overlay=true)

// Parámetros de la temporalidad diaria y las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)

// Condiciones para la entrada en largo
cierre_por_encima_ema20 = close > ema20
ema20_mayor_ema200 = ema20 > ema200

// Variable para registrar si ya se realizó una compra
var bool compra_realizada = false

// Condición para registrar una compra: primera vez que cierra por encima de EMA 20 con EMA 20 > EMA 200
if (cierre_por_encima_ema20 and ema20_mayor_ema200 and not compra_realizada)
    // Abrir una operación de compra
    strategy.entry("Compra", strategy.long)
    compra_realizada := true  // Registrar que se realizó una compra

    // Definir los niveles de stop loss y take profit basados en el ratio 3:1
    stop_loss = strategy.position_avg_price * 0.995  // -0.50% (rendimiento)
    take_profit = strategy.position_avg_price * 1.015  // +1.50% (3:1 ratio)
    
    // Establecer el stop loss y take profit
    strategy.exit("Take Profit / Stop Loss", from_entry="Compra", stop=stop_loss, limit=take_profit)

// Condición para resetear la compra: cuando el precio cierra por debajo de la EMA de 20
if (close < ema20)
    compra_realizada := false  // Permitir una nueva operación

// Ploteo de las EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=2)
plot(ema200, title="EMA 200", color=color.red, linewidth=2)

// Colorear el fondo cuando el precio está por encima de ambas EMAs
bgcolor(cierre_por_encima_ema20 and ema20_mayor_ema200 ? color.new(color.green, 80) : na)