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

日々の高低ブレイクシステムによる多期EMAトレンド戦略

作者: リン・ハーンチャオチャン,日付: 2024年11月28日 15時20分59秒
タグ:エイママルチ

img

概要

この戦略は,日々の高低ブレイクとマルチタイムフレームEMAトレンドを組み合わせる定量的な取引戦略である.この戦略は,主に前日の高低水準の価格ブレイクをEMAトレンドとチャイキンマネーフロー (CMF) インディケーターと組み合わせて監視することによって取引機会を特定する.複数の技術指標の検証を通じて取引精度を高めるために,毎時間および日々のタイムフレームの両方で200期EMAを使用する.

戦略の原則

基本論理には次の主要な要素が含まれます.

  1. request.security関数を使用して,前日の高値と低値をキーサポートとレジスタンスレベルとして取得します.
  2. トレンド決定のベースラインとして24期間の EMAを組み込む.
  3. 市場マネーフローを評価するための総量と価格の指標としてCMF (20期) を実施する.
  4. 現在と1時間の時間枠の両方で 200 EMA を計算し,より大きなトレンド方向性を決定します.

特別取引規則: ロング エントリー:前日の高値より価格が上昇 + EMAより閉じる + CMFが上昇 ショートエントリー:前日の低値を下回り + EMAを下回り + CMFを下回り エグジット: ロングのEMAを下回り,ショートのEMA上回り

戦略 の 利点

  1. 多重技術指標の検証は取引の信頼性を向上させる
  2. 複数の時間枠分析は,包括的な傾向評価を提供します.
  3. CMF指標の統合は,市場の資金流の条件をよりよく把握します
  4. 前日の高低値は,市場参加者との取引習慣に一致する
  5. 分かりやすく実行できる 明確な戦略論理
  6. よく定義された入出条件は 主観的な判断を最小限に抑える

戦略リスク

  1. 異なる市場で頻繁に誤った信号を生む可能性があります
  2. 瞬時的な価格ブレイクに十分に反応しない
  3. 重要なレベルでの見逃した機会の可能性
  4. 長期的傾向を考慮していない
  5. 極端な市場変動の際に大きな引き上げが発生する可能性があります.

リスク 管理 の 提案:

  1. 適切なストップ・ロスのレベルを導入する
  2. 市場状況に基づいてパラメータを調整する
  3. トレンドフィルターを追加する
  4. 波動性指標を組み込むことを検討する

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

  1. アダプティブパラメータ最適化メカニズムを実装する
  2. 市場状況のフィルターを追加する
  3. ストップ・ロスト・メカニズムと 利益の引き上げメカニズムの最適化
  4. 異なる市場条件のための変動指標を含める
  5. ポジション管理メカニズムについて考える
  6. 容量分析指標を追加する

概要

この戦略は,複数の技術指標とマルチタイムフレーム分析を組み合わせた完全な取引システムである.この戦略は,日中高低ブレイクアウト,移動平均トレンド,マネーフローの包括的な分析を通じて取引機会を探している.特定のリスクが存在するものの,戦略は適切なリスク制御と継続的な最適化によって良い実用的な価値を保持している.トレーダーは,ライブ実装の前に徹底的なバックテストとパラメータ最適化を行うことをお勧めする.


/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='The security Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=100, 
         commission_type=strategy.commission.percent, commission_value=0.1)

// General Inputs
len = input.int(24, minval=1, title='Length MA', group='Optimization parameters')
src = input.source(close, title='Source MA', group='Optimization parameters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization parameters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

// Function to get daily high and low
f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

// Plotting previous daily high and low
plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

// Entry Conditions
short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0

if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, stop=pricehigh[1])
    strategy.close('long', when=close < out)

// 200 EMA on 1-hour timeframe
ema_200 = ta.ema(close, 200)
ema_200_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 200))

plot(ema_200_1h, color=color.purple, title="200 EMA (1H)")
plot(ema_200, color=color.white, title="200 EMA")

関連性

もっと