ウォールナットトレンド 200 EMAからの距離に基づく戦略

作者: リン・ハーンチャオチャン開催日: 2024-03-01 10:50:03
タグ:

利益目標に達し,日末に

ショートアウト閉じる <= 200 EMA 利益目標に達 日末

ストップロスはオプションプレミアムの20%です

II. 利点

この戦略の主な利点は以下の通りです.

  1. 短期市場騒音を避けるため,中長期の傾向を判断するために200日移動平均を使用する
  2. 中長期の物価動向を追跡するメカニズムに従って傾向を確立する
  3. 最後のキャンドルの方向が主要なトレンドと一致するときにエントリータイミングを最適化
  4. 合理的なストップ損失と利益を引き取り,より大きな損失を回避する

リスク

この戦略の主なリスクは,

  1. 移動平均の周辺の市場統合中に多重損失が発生する可能性があります.
  2. 突発的なトレンド逆転がストップ損失を誘発する
  3. 移動平均期などのパラメータの不適切な選択は,傾向判断が不正確になる.

上記のリスクを軽減するために,以下の側面を最適化できます.

  1. 移動平均のパラメータを調整するか,主要な傾向を決定するために他の指標を追加する
  2. 価格変化に基づいてストップ距離を調整するようなストップ損失メカニズムを最適化します
  3. より多くの判断指標で入場条件を最適化

IV.最適化方向性

この戦略の主要な最適化方向は以下の通りである.

  1. 移動平均のパラメータを最適化し,異なる期間のパラメータのテストの影響
  2. 主なトレンドを決定するために,ボリンジャーバンド,KDJなどの他の指標を追加します
  3. ストップ・ロスの戦略を動的に値引きに調整する
  4. 短期的修正により誤ったエントリを避けるためにエントリー条件を最適化します

V. 結論

この記事では,価格と200日移動平均との間の距離に基づいてトレンドフォロー戦略の論理,強み,弱み,最適化方向を詳細に分析した.この戦略は,長期移動平均からの価格偏差を追跡することによって中長期トレンドを判断する.偏差が限界を超えるとポジションが確立され,ストップ損失または利益目標に達すると閉鎖される.この戦略は中長期トレンドをうまく追跡できるが,まだいくつかのパラメータ最適化スペースがある.将来の改善は,さまざまな市場条件において戦略をより堅牢にするために複数の視点から行なわれる.


/*backtest
start: 2024-02-22 00:00:00
end: 2024-02-24 06:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Intraday Price Away from 200 EMA Strategy", overlay=true)

// Define inputs
emaPeriod = input(200, title="EMA Period")
thresholdPercent = input(0.75, title="Threshold Percent", minval=0)  // Define the threshold percentage

// Calculate 200 EMA
ema = ema(close, emaPeriod)

// Calculate distance from 200 EMA as a percentage
distance_percent = ((close - ema) / ema) * 100

// Track average entry price
var float avgEntryPrice = na

// Buy conditions
buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2]

// Exit conditions for buy
exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close

// Sell conditions
sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2]

// Exit conditions for sell
exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close

// Execute buy and sell orders only if there are no open trades
if strategy.opentrades == 0
    strategy.entry("Buy", strategy.long, when=buy_condition)
    strategy.entry("Sell", strategy.short, when=sell_condition)

// Update average entry price for buy condition
if buy_condition
    avgEntryPrice := close

// Update average entry price for sell condition
if sell_condition
    avgEntryPrice := close

// Close buy position if exit condition is met
strategy.close("Buy", when=exit_buy_condition)

// Close sell position if exit condition is met
strategy.close("Sell", when=exit_sell_condition)

// Plot 200 EMA
plot(ema, color=color.blue, linewidth=2)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)


もっと