資源の読み込みに... 荷物...

ダイナミック 利益とストップ・ロスの取引戦略 3つの連続した下落のキャンドルと移動平均値に基づいています

作者: リン・ハーンチャオチャン開催日:2024年5月9日 16時42分35秒
タグ:SMAエイマ

img

概要

この取引戦略は,連続して3つの下落のキャンドルと移動平均シグナルを決定するシステムに基づいています.価格が200日間の移動平均値を超え,3つの連続した下落のキャンドルがある場合,ロングポジションを開きます.この戦略は,短期移動平均値の位置と価格の変化の割合によって決定されるダイナミックな利益とストップ損失レベルを通じて取引リスクを管理します.この戦略は,指定された時間帯内でのみ取引します.

戦略原則

  1. 連続する下落のキャンドルの数を計算します.指定された数 (デフォルトは3) が連続した下落のキャンドルが表示された場合,それは長い信号とみなされます.
  2. 取引の動向とタイミングを決定するのに2つの移動平均値を使用し,デフォルト設定は10日間と200日間移動平均値です.価格が200日間の移動平均値を超える場合にのみロングに行くことを検討してください.
  3. ダイナミックなテイク・プロフィートとストップ・ロスのレベルを設定します.テイク・プロフィートのレベルはエントリー価格より一定パーセント (デフォルト1.5%) 上であり,ストップ・ロスのレベルはエントリー価格より一定パーセント (デフォルト1%) 下です.
  4. ポジションを閉じるもう一つの条件は,10日間の移動平均値との関係で価格ポジションが変化した場合である.ロングポジションが保持され,価格が移動平均値以上からそれ以下に下がると,ポジションは閉じる.
  5. 戦略は 開始日と終了日によって決定される 特定の時間帯内にのみ実行されます

戦略 の 利点

  1. 価格パターンと移動平均を組み合わせることで 傾向の機会を比較的うまく把握できます
  2. ダイナミックなテイク・プロフィートとストップ・ロスのレベルを通じて,リスクと報酬は柔軟に制御できます. 価格が上昇するにつれてテイク・プロフィートのレベルが上昇し,利益が実行され,ストップ・ロスのレベルは最大損失を制限します.
  3. 短期移動平均の位置の変化をシグナルとして使ってポジションを閉める場合,急激な価格逆転に迅速に対応できます.
  4. 取引時間帯を指定することで,市場閉店や祝日などの特別な期間中に取引を避け,リスクを軽減できます.

戦略リスク

  1. 連続する下落のキャンドルのパターンは,トレンド逆転を完全に決定することはできません. そして,連続した下落のキャンドルの後に価格が上昇し続け,戦略が失敗する状況があります.
  2. 固定パーセントのテイク・プロフィートとストップ・ロスのレベルは,劇的な市場変動に対応できない可能性があります.傾向が非常に強い場合,テイク・プロフィートのレベルが低すぎると,早期離脱につながる可能性があります.変動が増加すると,ストップ・ロスのレベルがあまりにも近くになり,頻繁なストップにつながる可能性があります.
  3. 短期移動平均値の位置判断は遅れており,特に価格が急激に変化すると,最高の閉じる機会が逃された可能性があります.
  4. 戦略にはポジション管理やリスク管理の対策がない.エントリーポイントとポジションサイズは固定されており,単一の取引で過度のリスクを引き起こす可能性があります.

戦略の最適化方向

  1. 判断を助けるため,MACDやRSIなどのより多くの技術指標を導入し,シグナルの信頼性を向上させることができます.
  2. 収益とストップロスの計算方法を最適化します.例えば,動的に調整するためにATRまたは波動性を使用するか,設定するためにサポートとレジスタンスレベルを組み合わせたりします.
  3. 閉じるシグナルについては,偽のシグナルを避けるために,取引量の変化,ロング・ショートポジション比率など,より多くの確認条件を使用することを検討してください.
  4. 各取引のポジションサイズを口座残高とリスクレベルに応じて調整し,全体的なリスク制限を設定するなど,ポジション管理とリスク管理措置を導入する.
  5. 連続して下落するキャンドルの数や移動平均期などのパラメータ設定については,最適なパラメータ組み合わせを見つけるために最適化テストを行うことができる.

概要

このトレード戦略は,連続的な下落のキャンドルと移動平均システムを通じてトレンドトレード機会を決定し,ダイナミックなテイク・プロフィートとストップ・ロストレベル,および短期移動平均のポジションの変化を通じてリスクを制御する.この戦略は明確な論理を持ち,中長期のトレンドを把握することを目指すトレーダーに適しています.しかし,この戦略には,シグナルの信頼性,テイク・プロフィートとストップ・ロストレベルの設定,ポジション管理などのいくつかの制限もあります.それでも最適化余地があります.実用的な応用では,市場の特徴と個人的なリスク好みに応じて戦略に適切な調整と改善を行い,リスクを厳格に制御する必要があります.


/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)


関連性

もっと