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

EMA100とNUPL 相対的未実現利益量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2024年6月17日 14:55:13
タグ:エイマ

img

概要

この取引戦略は,100期指数移動平均値 (EMA100),純未実現利益/損失 (NUPL),相対未実現利益) の3つの指標に基づいています. EMA100との価格のクロスオーバーとNUPLと相対未実現利益のポジティブまたはネガティブ性を決定することによって取引信号を生成します. 価格がEMA100を超えるとロング信号が起動し,NUPLと相対未実現利益の両方が正である.価格がEMA100を下回るとショート信号が起動し,NUPLと相対未実現利益の両方が負である. この戦略は10%の固定ポジションサイズを使用して,10%のストップ損失を設定します.

戦略の原則

  1. 主な傾向指標として100期間のEMAを計算する
  2. NUPLと相対的未実現利益を補助指標として使って,傾向の強さと持続可能性を確認する
  3. 価格がEMA100以上/以下を突破したときに,長期/短期信号を生成し,NUPLと相対的未実現利益が同時に正/負である.
  4. リスクをコントロールするために,固定ポジションサイズ 10%とストップロスを 10%設定する.
  5. ロングポジションを保持するときは,価格がストップ・ロスの価格を下回る場合は,ロングポジションを閉じる.ショートポジションを保持する場合は,価格がストップ・ロスの価格を下回る場合は,ショートポジションを閉じる.

利点分析

  1. シンプルで分かりやすい: 戦略の論理は明確で,共通の技術指標を使用し,理解し実行するのが簡単です
  2. トレンドフォローリング: EMA100 を使って主要なトレンドを把握することで,トレンド市場での使用に適しています.
  3. リスク管理: 固定型ポジションサイズとストップ損失を設定することで,リスクを効果的に制御できます
  4. 適応性: 戦略は様々な市場や取引手段に適用できます

リスク分析

  1. 誤った信号: 不安定な市場では,価格とEMA100の間の頻繁なクロスオーバーがより多くの誤った信号を生み,損失を引き起こす可能性があります.
  2. 遅延:遅延指標として,EMAはトレンド逆転にゆっくり反応し,最高のエントリー機会を逃す可能性があります.
  3. パラメータ最適化: 戦略パラメータ (EMA期間,ポジションサイズ,ストップ損失比など) は,異なる市場のために最適化する必要がある.不適切なパラメータは,戦略のパフォーマンスが低下する可能性があります.

オプティマイゼーションの方向性

  1. パラメータ最適化: EMA 期間,ポジションサイズ,ストップロスの比率などのパラメータを最適化して戦略のパフォーマンスを向上させる
  2. シグナルフィルタリング: 誤ったシグナルをフィルタリングするために他の技術指標または市場情勢指標を追加する
  3. 動的ポジション管理: 市場変動,口座利益/損失,その他の要因に基づいてポジションを動的に調整し,収益を上げ,リスクを制御する.
  4. ロング・ショート・コンビネーション: 市場リスクをカバーし,戦略の安定性を向上させるために,ロング・ショート・ポジションを同時に保有する.

概要

この取引戦略は,EMA100,NUPL,相対未実現利益という3つの指標を通じて取引信号を生成する.明確な論理,制御可能なリスク,強力な適応性などの利点があります.同時に,偽信号,遅延,パラメータ最適化などのリスクもあります.将来,パラメータ最適化,信号フィルタリング,ダイナミックポジション管理,ロングショート組み合わせを通じて戦略を最適化し改善することができます.


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

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")


関連性

もっと