クロスタイムフレーム移動平均取引戦略


作成日: 2023-09-23 16:10:08 最終変更日: 2023-09-23 16:10:08
コピー: 0 クリック数: 815
1
フォロー
1617
フォロワー

概要

この戦略は,異なる時間軸の移動平均を使用し,トレンドを追跡します. この戦略は,日線,4時間線,15分線で同時に,高速移動平均を計算します. 3つの時間軸の高速移動平均は,ゆっくり動く平均を平均に通過するときに多くなります. 3つの時間軸の高速移動平均は,ゆっくり動く平均を平均に通過するときに空になります.

戦略原則

この戦略は,3つの異なる時間軸に基づいて,それぞれ高速移動平均と遅い移動平均を計算します. 日線,4時間線,15分線3つの時間軸を取り,各時間軸で長さ21の高速移動平均EMA ((21) と長さ34の遅い移動平均EMA ((34) を計算します. 日線,4時間線,15分線の高速移動平均が遅い移動平均の上を通るときは,トレンド上を判断して,多めにします. 日線,4時間線,15分線の高速移動平均が遅い移動平均を下を通るときは,トレンド下を判断して,空をします.

この戦略はまた,取引時間帯を設定し,指定された月,日付の範囲で取引し,不利な市場に困らないようにする.

具体的には,戦略は以下のポイントを中心に構成されています.

  1. 異なる時間軸を入力します. 日軸,4時間軸,15分軸

  2. 各時間帯はそれぞれ21と34の長さで計算される.

  3. 3つの時間帯の速やかなEMAを判断し,上着時に多用し,下着時に空用する

  4. 取引の月,日付の範囲を設定します.

  5. 条件を満たす時にポジションを開設し,条件を満たさない時にポジションを空白する

タイムトラップによるトレンド判断により,偽の突破を効果的にフィルターし,マルチタイムトラップによる資金管理により,リスクを制御することができる.

戦略的優位性

この戦略の利点は以下の通りです.

  1. 跨時間判断により,トレンドを効果的に識別し,偽突破をフィルターする.単一のタイムは偽突破に容易であり,跨時間は判断の正確性を向上させる.

  2. 多時の資金管理,単一の時のリスクを軽減する.単一の時の保有は承受能力を超えやすく,多時はリスクを分散する.

  3. 取引の時間帯を設定して,不利な市場に困らないようにする. 指定した月,日付は,不良な取引の時間帯をスキップすることができます.

  4. 急速移動平均と遅移動平均の組み合わせを使用し,価格の変動を平滑化し,トレンドを識別する.EMA指標は広く適用され,容易に理解し,実装する.

  5. 策略規則は明確で分かりやすく,パラメータ設定はシンプルで,簡単に実施できます.複雑な技術指標を必要とせず,簡単に習得し,最適化できます.

  6. 大型資産に広く適用され,柔軟性が高い.長時間EMAポートフォリオ取引アイデアの拡張性が強い.

戦略リスク

この戦略にはいくつかのリスクがあります.

  1. 長期トレンドの状況下ではよりよいパフォーマンスを発揮し,短期収束は封鎖リスクを増やす.適切なポジション管理を緩和し,リスクを低減することができる.

  2. 保守的なパラメータ設定は,より強いトレンドの機会を逃します.平均周期を適切に短縮したり,取引時間を短縮したりできます.

  3. 大規模な震動の状況でEMA指標はうまく機能しない.波動率指標または動量指標と組み合わせて使用することを考慮することができる.

  4. 日線は最大周期判断としてトレンド偏慢で,時効で止まらない。より高い周期判断に加えるか,日線ポジションを下げる。

  5. 取引時間帯は固定で,市場の変化に適応しない.取引時間帯のパラメータを定期的に評価して調整する.

戦略の最適化

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

  1. 移動平均周期パラメータを最適化して,よりスムーズにトレンドを追跡する. テストは,速やかなEMA周期を短縮するか,より速やかなEMA判断を追加することができます.

  2. 動量指標の判断を足し,トレンドの強さを識別する.例えば,MACD,RSIなどの指標を足した補助判断信号.

  3. ポジション管理の最適化,市場状況に応じてポジションの増減.ATRのストップを添加するか,または,歴史的データに基づいてポジションの割合を計算する.

  4. 波動率指数と組み合わせて,ポジション開設とストップの戦略を改良する.ATRまたは波動率差指数を加え,市場変動にダイナミックに適応する.

  5. より多くの取引時間の組み合わせをテストし,最適のバランスを探す.より高い時間の判断を追加したり,特定の時間を削除したりできる.

  6. 機械学習アルゴリズムを適用してパラメータの自動最適化を実現する.模擬訓練によって最適なパラメータの組み合わせを見つける.

  7. トレンド確認メカニズムを追加し,套装を避ける.例えば,連続N根K線EMAを均等に着用して入場確認を設定する.

  8. ロールバックテストを行い,パラメータの安定性を評価する. 適合したパラメータを修正し,安定性の信頼性を高める.

要約する

この戦略は,時間軸のトレンド判断の考え方を利用し,多時間軸の急激なEMAを適用し,安定した高効率のトレンド追跡戦略を形成する.戦略は判断精度,リスク収束の利点があり,簡単な実用的なトレンド追跡取引戦略である.しかし,波動的な市場でのリスク管理に注意し,長期にわたって安定したリターンを得るためにパラメータを継続的に最適化する必要があります.全体的に,多時間軸EMA戦略のフレームワークは広く適用され,推奨されるトレンド取引戦略です.

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

//@version=3
//Cryptocurrency Trading Tools by XMAXPRO
//ATA
//Test 1.0v Date  : 10.11.2018
//

strategy("MTF+MA", overlay=false, shorttitle="MTF-MA", overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=100000)
src = input(title= "Source", defval=close)
fast = input(title="Input For Fast MA",  defval=21)
slow = input(title="Input For Slow MA",defval=34)
//MTF source
long = input(title="LONGTERM",  defval="D")
mid = input(title="MIDTERM",  defval="180")
short = input(title="SHORTTERM",  defval="15")
//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)
//0
lnma = ema(ln,fast) - ema(ln,slow)
mdma = ema(sh,fast) - ema(md,slow)
shma = ema(sh,fast) - ema(sh,slow)

plot(lnma,color=green,linewidth=3)
plot(mdma,color=blue,linewidth=3)
plot(shma,color=red,linewidth=3)
plot(0,color=white,linewidth=3)

longCond = lnma>0 and mdma>0  and shma>0
shortCond= lnma<0  and mdma<0  and shma <0 



monthfrom =input(8)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
yearfrom=input(2018)
yearuntil=input(2020)

if (  longCond  ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond   ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")