週次EMAに基づくデイトレード戦略


作成日: 2023-09-20 17:11:52 最終変更日: 2023-09-20 17:11:52
コピー: 0 クリック数: 830
1
フォロー
1617
フォロワー

概要

この戦略の核となる考え方は,周期のEMA指標を日内取引にマッピングし,より長期のトレンドのサポートを得て,日内取引の決定を導くことです.

戦略原則

策略は,まず日線の6日,12日,26日,52日EMAと,その周線EMAのパラメータ設定の42日,84日,182日,364日EMAをコードで計算する.

次に,42日EMAと84日EMAの金叉,死叉に基づいて長期トレンドを判断し,84日EMAと182日EMAの金叉,死叉に基づいて中期トレンドを判断する.

短い周期EMAで長い周期EMAを穿うとき,長ポジションの入場を行います. 短い周期EMAで長い周期EMAを穿うとき,平ポジションの出場を行います.

このマッピング方法により,日内取引における周回線レベルのEMA指標のサポートを得て,一部のノイズをフィルターして,より大きなトレンドの機会をロックすることができます.

優位分析

この戦略は,日中の取引の柔軟性と周期のEMAの安定性を組み合わせて,以下の利点があります.

  1. 周線EMAは市場騒音を効率的にフィルターし,真のトレンドの動きを識別する.日内取引は,日内FORMATIONに基づいてより正確な入場時間を選択することができる.

  2. 周線EMAのパラメータ設定はより安定し,短期価格の振動に容易に影響されない.また,日中の形状とトレンドを組み合わせて判断し,出場はより早い.

  3. EMAの金叉,死叉は,段階的なトレンドの転換点を明確に判断できます.内日取引で利益を得ることで,全体的に勝利率は高くなります.

  4. 異なる周期EMAの組み合わせを使用し,長,中,短の異なるレベルでトレンドの機会をロックすることができます.

  5. 戦略的取引の頻度は低く,長線保有に適している.取引回数による滑点損失を減らすことができる.

リスク分析

この戦略の主なリスクは

  1. 周回線EMAの入場信号は遅れている可能性があり,価格変化の最初のタイミングを把握することができない.

  2. 日中の出場はEMA交差に依存し,形状や波動などの要因を考慮せずに,早めに出場する可能性がある.

  3. EMA多空交差回数が少ないため,一方的なポジション保持時間が長すぎる状況が形成されやすい.

  4. 引き戻しのリスクが高く,人手による積極的な管理が必要である.

  5. パラメータ設定は粗略で,異なる通貨は最適効果を達成するために調整する必要があります.

リスクは以下の方法で軽減できます.

  1. ENTRYの形状を他の指標と組み合わせて,EMAの入場ポイントを事前に配置する.

  2. 長期にわたって単独のポジションを保持することを避けるため,ストップ・ローズ,クローズ・ストップなど,オフ・ルールを増やす.

  3. EMA周期パラメータを最適化し,異なる通貨に適した周期組み合わせをテストする.

  4. 複数のレベルでの取引,異なるEMA周期で階層的なポジション保持,単一ポジションのリスクを低減する.

最適化の方向

この戦略は,以下の点で最適化できます.

  1. 形式,取引量などの判断,入場ノイズフィルターなどの日内取引のアクセスルールを追加します.

  2. ストック,MACDなどの指標を組み合わせて,超買いと超売りを判断し,入場と出場を細分化します.

  3. ストップ・ローズ・メカニズムの増強,撤回リスクの軽減,利益のロック

  4. EMA周期パラメータを最適化し,異なる周期組み合わせの効果をテストする.

  5. DEMA,TEMAなどのパラメータ設定を試して,滑らかさを向上させる.

  6. ポジション管理メカニズムが追加され,異なるEMA信号は異なるポジションを採用する.

  7. 異なる品種のパラメータ設定を研究し,異なる取引対に適した戦略を策定する.

  8. EMAパラメータの動的最適化を可能にする機械学習の方法を探索する.

要約する

これは長線ポジションに適したトレンド追跡戦略である.周線トレンド判断と日内取引の実行を巧みに統合している.適切な最適化により,非常に実用的なマルチタイムフレーム取引システムになる可能性がある.

ストラテジーソースコード
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1

strategy("Investing Weekly mapped to Daily", overlay=true,  pyramiding=100)


// === PLOTTING EMA ===

plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")


// === INPUT BACKTEST RANGE ===

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


// === STRATEGY FOR CRYPTO ===

ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)

enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84

enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182


strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)