移動平均値に基づく戦略をフォローするスーパートレンド

作者: リン・ハーンチャオチャン,日付: 2024-02-05 11:10:41
タグ:

img

概要

この戦略は,典型的なトレンドフォロー戦略である.市場傾向を決定するために,異なる期間の移動平均の複数のセットを使用する.トレンドが確立されたときに市場に参入し,短期トレンドが逆転すると退場する.

戦略原則

この戦略は,それぞれ異なるタイムフレームを表す9日,21日,50日,200日間の移動平均を4つのグループで採用しています.

短期移動平均が長期移動平均を上向きに横切ると,市場は上向きに動いていると判断されます. 下向きに横切ると,市場は下向きに動いていると見られます.

この戦略は,他のMAの調整を観察し,全体的な傾向方向を判断するための基準として9日間のMAを採用しています.具体的には,論理は以下です.

長期入国条件: 閉じる > 9日間のMAと 9日間のMA > 21日間のMAと 21日間のMA > 50日間のMAと 50日間のMA > 200日間のMA.

短期入場条件: 閉じる < 9 日間 MA と 9 日間 MA < 21 日間 MA と 21 日間 MA < 50 日間 MA と 50 日間 MA < 200 日間 MA.

この例では,近値と9日間MAの関係が最短期トレンドを決定し,9日間と21日間のMAは短期トレンド,21日間と50日間の中期トレンド,50日間と200日間の長期トレンドを判断する.すべての4つのMAペアの関係が一致するときにのみ,有効なトレンドを確立して取引信号を生成することができる.

出口条件:閉じる価格が21日間のMAを下回り,すべてのロングポジションをフラット化;21日間のMAを下回り,すべてのショートポジションをフラット化する.

戦略 の 利点

  1. 傾向を特定するために複数のMAsを採用することで,主流ではない動きから市場騒音をフィルタリングし,中長期の傾向を把握することができます.

  2. 厳格な入国条件は,短期間修正に囚われないように,異なる時間枠で有効な判断を必要とする.

  3. タイムリーストップ・ロスはリスクを効果的にコントロールするのに役立ちます

リスク と 解決策

  1. 長期レンジバインド市場では,過剰な誤った信号が発生し,取引リスクが増加することがあります.パラメータを最適化し,いくつかのノイズをフィルタリングするためにMA期間を調整することで,これを回避できます.

  2. 激しいトレンドの間,MAのクロスが頻繁に起こります.強い動きが見逃された場合,確認のためにRSIとMACDのような指標を組み合わせることなど,実際のトレンドを決定するために他の要因が必要です.

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

  1. パラメータ最適化.最適を特定するために異なるパラメータの組み合わせをテストする.例えば,MA期間を調整する,ストップ損失基準を追加または修正するなど.

  2. 品質フィルターを改善します.例えば,インプット時にボリュームが急上昇するか,不十分なモメンタムを避けるか,振動を避けるために波動性を調べます.

  3. 激烈な市場の動きの中で間違った信号を避けるために,より技術的な指標からの確認を導入する.マルチファクター意思決定のためにRSIやMACDのようなツールを適用することを検討する.

概要

一般的に,これは典型的な実践的なトレンドフォロー戦略である.トレンドを決定するために複数のMAを採用し,中長期トレンドをロックするための厳格なエントリールールを有する.時宜のストップ損失とともに,リスクを制御するのに役立ちます.パラメータ最適化や確認指標の追加などの方法で安定性と収益性のさらなる改善を達成することができます.長期取引のためのトレンドに従うことを好む投資家に適しています.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shayak1

//@version=5
strategy('Super SR', overlay=true)

r = input.int(14,"rsi-length",1,100)
rsi = ta.rsi(close,r)

len1 = 9
len2 = 21
len3 = 50
len4 = 200

ema1 = ta.ema(close, len1)
ema2 = ta.ema(close, len2)
ema3 = ta.ema(close, len3)
ema4 = ta.ema(close, len4)

plot(ema1,color= color.green)
plot(ema2,color= color.yellow)
plot(ema3,color= color.orange)
plot(ema4,color= color.red)


// *** entries 
Long1 = close > ema1
Long2 = ema1 > ema2
Long3 = ema2 > ema3
Long4 = ema3 > ema4
buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0

if (buy_condition and strategy.position_size <= 1)
    strategy.entry("B", strategy.long)

Short1 = close < ema1
Short2 = ema1< ema2
Short3 = ema2< ema3
Short4 = ema3< ema4
sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0

//if (sell_condition)
//    strategy.entry("S", strategy.short)

// trailing SL
//Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos


//EXIT CONDITIONS

exit_long = ta.crossunder(close, ema2)
exit_short = ta.crossover(close, ema2)

if(exit_long)
    strategy.close("B", "LE", qty_percent=100)
if(exit_short)
    strategy.close("S", "SE", qty_percent=100)

//==============================================================================
//INSERT SECTION
//This section is where users will be required to insert the indicators they
//would like to use for their NNFX Strategy.
//==============================================================================
//INSERT - CONFIRMATION INDICATOR 1
//==============================================================================


//==============================================================================
//INSERT - CONFIRMATION INDICATOR 2
//==============================================================================


//==============================================================================
//INSERT - VOLUME INDICATOR
//==============================================================================


//==============================================================================
//INSERT - BASELINE INDICATOR
//==============================================================================


//==============================================================================
//INSERT - EXIT INDICATOR
//==============================================================================


//==============================================================================
//INSERT - CONTINUATION TRADES INDICATOR
//==============================================================================


//==============================================================================
//COMPLETED SECTION
//This section has been optimised to work with the above indicators the user
//has inserted above. The user does not require to change any code below and
//is completed and optimised for the full NNFX strategy. Users may wish to 
//customise this section of code if they wish to alter the NNFX strategy.
//==============================================================================
//COMPLETE - BACKTEST DATE RANGE
//==============================================================================
// start_day = input.int(1,"start day",1,31)
// start_month = input.int(1,"start month",1,12)
// start_year = input.int(1,"start year",2010,2023)



//==============================================================================
//COMPLETE - CURRENCY CONVERSION
//==============================================================================


//==============================================================================
//COMPLETE - ATR MONEY MANAGEMENT
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C1
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - C2
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Vol
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Bl
//==============================================================================


//==============================================================================
//COMPLETE - USER INPUT CONDITIONS - Exit
//==============================================================================


//==============================================================================
//COMPLETE - CONTINUATION TRADES
//==============================================================================


//==============================================================================
//COMPLETE - ONE CANDLE RULE
//==============================================================================


//==============================================================================
//COMPLETE - BRIDGE TOO FAR
//==============================================================================


//==============================================================================
//COMPLETE - BASELINE AND ATR RULE
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - ENTRY ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS
//==============================================================================


//==============================================================================
//COMPLETE - EXIT ORDERS
//==============================================================================


//==============================================================================
//COMPLETE - CLOSE ORDERS
//==============================================================================


//==============================================================================

もっと