
EMA200ベースの移動ストップ 移動ストップ戦略は,EMA200をベースに,移動ストップと移動ストップの仕組みを組み合わせた取引戦略である.この戦略は,EMA200によって全体的なトレンドの方向を判断し,トレンドの方向のみで多かれ少なかれ,合理的なストップとストップを計算し,ATR指標を使用して移動ストップと移動ストップを実現する.
この戦略は,全体的なトレンドの指標として,まず200周期のEMAを計算する.価格がEMA200以上である場合にのみ多めにし,価格がEMA200以下であるときに空っぽにし,それによってトレンドの方向のみで操作することを保証する.
入場後,戦略はATR指標を使用して合理的なストップとストップの増加を計算し,最新高点と最新低点にそれぞれ加え,上線と下線を形成する. 価格が上線を超えると,多単位のストップ; 価格が下線を下回ると,空券のストップ. 価格の運行に伴い,ストップとストップの位置も動的に調整され,移動ストップと移動ストップの効果を実現する.
この戦略の最大の利点は,EMA200によってトレンドを判断し,反転操作を回避することにある。同時に,ストップ・ストップ・ポジションは価格の調整に伴い,タイムリーにストップ・ストップ・ストップを止め,リスクを効果的にコントロールすることにある。
また,ATRのストップ・ストップは,市場の波動性の評価であり,合理的なストップ・ストップを設定することができ,過度に弱いまたは激進的ではありません.固定ストップ・ストップよりも優れている.
総じて,この戦略はトレンドとストップ・ロスの組み合わせで,利益の最大化とリスクの管理の両方を追求し,非常にバランスの取れた戦略である.
この戦略の主なリスクは,EMA200はトレンドを完全に正確に判断することができないことであり,価格が偽の突破を引き起こす可能性があるということです.不注意にトレンドの方向から入場した場合,大きな損失を招く可能性があります.
また,ATRの止損停止には一定の科学的根拠と優位性があるが,通常の波動範囲を超えた状況も起こりうる.この場合,秒出場され,利益を得られない可能性がある.
これらのリスクを軽減するために,誤ったシグナルを避けるために,ブリンライン,RSIなどの他の指標と組み合わせてトレンドと波動性を確認することを考慮することができます.また,適切なストップダメージ範囲を緩めることもできますが,過度に緩めることはできません.
この戦略は以下の点で最適化できます.
EMA周期は100または150サイクルに調整され,より安定したトレンド判断基準を探します.
ATRパラメータは,より合理的な市場変動の代表値を見つけるために最適化できます.
ブリンラインなどの他の指標は,トレンドと波動を判断するのに役立つ.
ストップ・ローズ・ストップはATRの整数倍,例えば2倍または3倍ATRに調整され,ストップ・ローズをより柔軟にすることができる.
再入場メカニズムが追加され,即ち,ストップオフの後に価格がトレンドに戻り再入場する.
異なるパラメータをテストし,より優れたパラメータを選択し,他の指標判断を加え,ストップダストメカニズムを最適化などの方法により,戦略の安定性と収益性を大幅に向上させることができます.
EMA200に基づく移動ストップ 移動ストップ戦略は,EMAによって全体的なトレンドを判断し,ATRが合理的なストップを計算してリスクを制御する,バランスの取れた取引戦略である.この戦略には判断トレンド,移動ストップ,リスクコントロールの利点があるが,ある程度の突破リスクもある.パラメータ最適化により,他の指標判断を加えることで,戦略の効果をさらに向上させることができる.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ozgurhan
//@version=5
strategy("EMA 200 Based Trailing Take Profit", overlay=true, margin_long=100, margin_short=100, default_qty_value=1, initial_capital=100)
// EMA 200 tanımı
ema200 = ta.ema(close, 200)
// Orijinal long ve short koşulları
longConditionOriginal = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortConditionOriginal = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// EMA 200'ün üzerinde ve altında long ve short koşulları
longCondition = longConditionOriginal and close > ema200
shortCondition = shortConditionOriginal and close < ema200
if longCondition
strategy.entry("Long", strategy.long, comment="Long", alert_message="Long")
if shortCondition
strategy.entry("Short", strategy.short, comment="Short", alert_message="Short")
atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size > 0 ? high[1] + atr_multiplied : na
ttp_bottom_bracket = strategy.position_size < 0 ? low[1] - atr_multiplied : na
plot(ttp_top_bracket, title="TTP Top Bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="TTP Bottom Bracket", color=color.red, style=plot.style_linebr, offset=1)
strategy.exit("Close Long", from_entry="Long", limit=ttp_top_bracket, alert_message="Close Long")
strategy.exit("Close Short", from_entry="Short", limit=ttp_bottom_bracket, alert_message="Close Short")