9EMA ダイナミックポジションサイジング戦略 2つの5分間の近距離ブレイク

作者: リン・ハーンチャオチャン,日付: 2024-03-19 15:03:56
タグ:

img

戦略の概要

この戦略は,トレンド決定の基礎として9期指数関数移動平均値 (9EMA) を使用する.取引日の最初の10分以内に,高値に近い (高値の99%以上またはそれと同等) と高値の9EMA以上の閉値が2つ連続して5分間のキャンドルがある場合,それは強力なブレイクアウト信号とみなされる.この時点で,現在の閉値に基づいてポジションサイズが計算され,ロングポジションが開かれる.ポジションは9EMA以下で閉じる最初の5分間のキャンドルまで保持され,その時点でポジションは閉鎖される.

戦略の原則

この戦略は以下の原則に基づいています.

  1. 取引日の開幕段階で,市場が強いブレイクトレンドを示している場合,それは通常,上向きのトレンドが続く可能性を示します.
  2. 9EMAは傾向の決定に比較的敏感な指標であり,9EMAを超える価格はしばしば上昇傾向を示します.
  3. 2つの連続したキャンドルで 閉店価格が高値に非常に近いことは 強烈な上昇勢と高い購入熱意を示しています
  4. 強いトレンドが現れた後,固定金額を使ってポジションサイズを決定すれば,リスクをコントロールし,トレンドを完全に利用できる.
  5. 価格が9EMAを下回ると,傾向の逆転を示します.この時点でポジションを閉じると,最大限に利益を守ることができます.

この戦略は,取引日の開業期間に強いブレイクアウト動きを捕捉することを目的とし,低リスクで高いリターンを達成することを目指すダイナミックなポジションサイジングに参加する.同時に,戦略は厳格なストップロスの条件も採用し,トレンドが逆転すると迅速にポジションを閉鎖し,引き下げを制御する.

戦略 の 利点

  1. 取引は開店後最初の10分間で集中し,低取引頻度で強力な操作性で早期市場の動きを把握します.
  2. 2つの連続したキャンドルを使って 傾向を確認することで 誤ったブレイクを効果的にフィルターし 信号の信頼性を向上させることができます
  3. ポジションのサイズは,ブレイクポイントの価格レベルに基づいて動的に調整され,制御可能なリスクのある異なる市場期間の特徴に自動的に適応します.
  4. ストップロスの条件は明確で厳格に実行され,単一の取引の最大損失を効果的に制御します.
  5. 戦略の論理はシンプルで理解し実行しやすいため,ほとんどのトレーダーが使用するのに適しています.

戦略リスク

  1. トレンドの機会は開拓期間にしばしば出現するが,時には大きな変動や逆転も起こり,誤ったブレイクのリスクがある.
  2. 2つの連続したキャンドルが条件を満たすときに戦略はポジションに入ります. 入場後,市場が急速に逆転した場合,一定の損失に直面する可能性は依然としてあります.
  3. 固定金額のポジションサイズメソッドがシンプルであるにもかかわらず,市場が劇的に変動する場合,戦略のリターン波動性は比較的大きい場合もあります.
  4. この戦略は一方的な上昇傾向のみを捉えることができ,変動市場や下落傾向市場には適していません.

上記のリスクに対処するために,以下の側面を最適化および改善するために考慮することができます:

  1. トレンド決定の精度を向上させるためのフィルタリング条件として,開店価格と前日の閉店価格の関係を含める.
  2. ストップ・ロスの条件を最適化し,トレーリング・ストップや条件付き・ストップを加えることで,単一の取引のリスクリスクをさらに減らす.
  3. トレンド継続期間のポジションを追加するためにピラミッドアプローチを使用することを検討し,全体的なリターンを増加させる.
  4. この戦略を他の戦略と組み合わせてみましょう. 戦略の適応性を向上させるために,変動または下落傾向の市場に適した戦略です.

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

  1. より効果的なトレンド決定指標 (MACD,ボリンジャーバンドなど) を導入し,複数の指標に基づくトレンド信号を確認し,エントリー信号の信頼性を向上させ,誤ったブレイクのリスクを軽減する.
  2. 入力時間窓を最適化する. 10分から5分に時間窓を短縮するか,または15分に延長することを検討する. バックテスト比較を通じて,最適な入力時間を探す.これは,初期変動の影響を最小限に抑えながらトレンドを把握することができます.
  3. ポジションのサイジングに関しては,波動性ファクタを導入することを検討する.例えば,平均真数範囲 (ATR) に基づいて各エントリに対する資金の割合を動的に調整する.波動性が高いときポジションサイズを減らす,波動性が低いときポジションサイズを増加させる.この戦略は異なる市場リズムにより適性的に適応できるようにする.
  4. ストップ・ロスの条件を最適化する.元の9EMAストップ・ロスの論理を維持しながら,トレーリング・ストップ戦略を追加することができる.すなわち,価格が一定の割合で有利な方向に動くと,ストップ・ロスのレベルをコスト価格またはエントリー価格に近い位置に移動し,引き下げを削減し,部分的な利益をロックする.
  5. 取引量,波動性など,いくつかのフィルタリング条件を追加することを検討します.エントリーシグナルが表示されたとき,これらの指標が同時に好ましいかどうかを決定し,傾向の有効性をさらに確認します.これは戦略がいくつかの罠や誤った信号を避けるのに役立ちます.

上記の最適化により,戦略は傾向を把握しながらリスクをより良く制御し,戦略収益の安定性と持続性を向上させることが期待されます. もちろん,あらゆる最適化は厳格なバックテストを通じて検証され,実際の状況に基づいて動的に調整する必要があります.

概要

この戦略は9EMAをコアとして使用し,取引日の最初の10分以内に,閉じる価格が9EMAを大きく突破する2つの連続した5分間のキャンドルで強い上昇傾向を捕捉する. ポジションサイズを動的に調整するために固定金額を使用して取引する. 戦略論理はシンプルで直接的で,理解し実行しやすく,ほとんどのトレーダーの使用に適しています. 同時に,この戦略には,市場範囲と下向きの市場への適応性が不十分であり,ポジションを開設した後急速な逆転のリスクなどの特定の制限とリスクもあります. これらの問題を解決するために,トレンド決定,ポジショニング,ストップ・ロスの最適化,フィルタリング条件などに関して改善と最適化を行うことができ,市場機会とリスクをよりよく捕捉し制御できるようにします. この戦略は,さらなる検討と実践に価値があり,全体的にプラスティシティと強力なリスクがあります.


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

//@version=5
strategy("Two 5min Closes Above 9EMA Strategy with Dynamic Position Size", overlay=true)

// Define the fixed amount for position sizing
fixedAmount = 1000

// Calculate the 9-period EMA
ema9 = ta.ema(close, 9)

// Define time constraints (9:30 AM to 9:40 AM EST, adjust for your timezone)
sessionStart = 0930
sessionEnd = 0940
timeCondition = (hour * 100 + minute) >= sessionStart and (hour * 100 + minute) < sessionEnd

// Detect two consecutive 5-min bars where close is near 0.99 times the high and above 9 EMA
closeNearHighAndAboveEMA = close >= high * 0.99 and close > ema9
twoConsecutiveBars = closeNearHighAndAboveEMA and closeNearHighAndAboveEMA[1]

// Entry condition: Within the first 10 minutes of the day and two consecutive bars match criteria
entryCondition = twoConsecutiveBars

// Exit condition: First 5-min close below 9 EMA after entry
exitCondition = close < ema9

// Plot EMA for visualization
plot(ema9, color=color.blue, linewidth=2, title="9 EMA")

// Calculate position size
positionSize = fixedAmount / close

// Strategy execution
if (entryCondition)
    strategy.entry("Buy", strategy.long, qty=positionSize)

if (exitCondition)
    strategy.close("Buy")


もっと