スペースアウト トレーディング 戦略

作者: リン・ハーンチャオチャン開催日: 2024-02-23 15:09:48
タグ:

img

概要

スペースアウト・トレーディング・ストラテジー (Spaced Out Trading Strategy) は,移動平均値に基づいたトレンドフォロー戦略である. 30日間の指数移動平均値 (EMA) を利用して価格動向を特定し,価格がEMA線以上/以下に突破すると取引を開始する.価格がEMA線を下回り/上回りすると取引を終了する.この戦略は30分から1日間のタイムフレームでうまく機能する.

戦略の論理

基本論理は,価格と30日間のEMAの関係に基づいて,エントリーとアウトシグナルを生成します.特に:

  1. 傾向の基準として 30 日間の EMA を計算する.
  2. 価格がEMAを突破するとロングトレードを行う.
  3. 価格がEMAを下回るときに取引を終了します.

トレンドブレイクを捕捉することで 勢いのある動きと トレンドフォローする機会を活用することを目指します

利点分析

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

  1. シンプルな論理で 簡単に理解し 低コストで実行できます
  2. EMA を使って価格変動を緩和し,主要な傾向に焦点を当てます.
  3. 30日間のEMAは,スウィングと長期トレンドの両方を把握するための中期レンズを提供します.
  4. 製品や市場制度に合わせて調整できるパラメータ

リスクと緩和策

主要なリスクは以下です.

  1. EMAの一時的なブレイクの後,価格の逆転によるリスク.より長い EMA期間を使用することができます.
  2. 持続的なトレンド逆転による累積損失のリスク.ストップロスの制限を設定できます.
  3. 適性 EMA または複数の EMA を組み合わせることができます.

増進 の 機会

戦略をアップグレードできるいくつかの方法:

  1. 市場変動と資産特性に合わせた適応性 EMA を追加する.
  2. 短期と長期の EMA を組み合わせた複数の EMA システムを構築する.
  3. ストップ・ロスのメカニズムを組み込む.例えば,移動平均ストップ,範囲限定ストップ.
  4. 信号フィルタリングのために他の指標,例えばモメンタム,波動性と組み合わせます.
  5. 機械学習アルゴリズムによるパラメータ最適化

概要

スペースアウト・トレーディング・ストラテジー (Spaced Out Trading Strategy) は,EMAレベルの価格ブレイクによってトレンドを把握することを目的としている.これはシンプルで実践的な定量戦略である.カスタマイズ可能な損失制限と合理的な最適化により,中長期保有期間中持続的な収益を提供する安定した戦略である.


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

//@version=5
strategy("Spaced Out Trading Strategy", overlay=true)

// Define strategy parameters
emaPeriod = input(30, title="EMA Period")  // Longer EMA period for more spaced-out trades
stopLossPct = input(2.0, title="Stop Loss Percentage")  // Stop loss percentage
takeProfitPct = input(3.0, title="Take Profit Percentage")  // Take profit percentage

// Calculate EMA
emaValue = ta.ema(close, emaPeriod)

// Define entry and exit conditions
enterLong = ta.crossover(close, emaValue)
exitLong = ta.crossunder(close, emaValue)

// Place orders
contractsQty = 5  // Number of contracts to buy
var float lastTradePrice = na  // Track the last trade price
if enterLong and strategy.position_size == 0
    strategy.entry("Buy Call", strategy.long, qty = contractsQty)
    lastTradePrice := close
else if exitLong and strategy.position_size > 0
    strategy.close("Buy Call")
    lastTradePrice := na

// Calculate stop loss and take profit
stopLossPrice = lastTradePrice * (1 - stopLossPct / 100)
takeProfitPrice = lastTradePrice * (1 + takeProfitPct / 100)
strategy.exit("Sell Call", "Buy Call", stop = stopLossPrice, limit = takeProfitPrice)

もっと