
長期トレンド反転戦略は,トレンド追跡と短期反転を組み合わせた機械的取引システムである.この戦略は,7日間の高点と低点を利用して,通路を構築し,200日間の移動平均と組み合わせて長期トレンドの方向性を判断する.牛市では,この戦略は下落の過程で購入し,急上昇の過程で売却する.熊市では,この戦略は上昇の過程で販売し,下落の過程で購入する.
この戦略は以下の原則に基づいています.
7日間の高低値を使って,過去7日間の上昇・低下を判断するチャネルを作成します.
200日移動平均は長期のトレンドの方向を判断する.
価格が7日間の低点を下回り,200日間の移動平均より上になると,買取シグナルが生じます.これは短期的な下落の調整が終了し,トレンドが上昇する可能性があることを示します.
価格が7日間の高を突破し,200日間の移動平均を下回ると,売り込みシグナルが生じます.これは短期的な調整の上昇が終了し,トレンドが逆転する可能性があることを意味します.
単一損失を制御するために2倍ATRのストップを適用します.
この戦略の鍵は,短期と長期の2つの時間尺度のトレンドを同時に考慮することです. 7日のチャネルは,最近の一週間の下落を判断し, 6日の移動平均は,半年ほどの長期のトレンド方向を判断します. 両方が同方向の看板または下落である場合にのみ,取引信号が生成されます. これにより,短期的な調整による誤った信号を効果的にフィルターできます.
この戦略の利点は以下の通りです.
戦略信号はシンプルで明快で,価格と平均のみに基づいて,簡単に実行できます.
騒音のフィルタリングには,短期的および長期的傾向を考慮する必要があります.
トレンドフォローと反転結合の取引方法を使用し,収益は比較的平坦である.
ATRの止損制御のリスクは,最大撤回が比較的小さい.
株式,外貨,暗号通貨などの複数の市場に適用できます.
高周波環境と低周波環境で動作する.
この戦略の主なリスクは以下の通りです.
長期にわたる強気な状況では,戦略は上昇のほとんどを見逃す可能性があります.
ストップダメージは,地震の時に頻繁に発生する可能性があります.
パラメータを正しく設定しない場合,取引が頻発する可能性があります.
短期的・長期的傾向を判断する基準が正しく設定されていないことが,多くの機会を排除する可能性がある.
模範外データにより,モデルが失敗する可能性があります.
主要なリスク管理策は以下の通りです.
パーメータを最適化して,ストップ・ロズと取引頻度を合理的に確保する.
厳格な裏付けで,市場と期間を比較して,その安定性を検証する.
ポートフォリオ投資により,単一戦略のリスクを低減する.
単一損失を最小限にする指数ストップ.
この戦略は以下の点で最適化できます.
経路の長さのパラメータを最適化して,より適切な短期トレンド判断基準を探します.
移動平均のパラメータを最適化して,より適切な長期トレンド判断基準を探す.
パーセンテージ・ストップ,移動・ストップなど,他のストップ方法を試す.
取引量の増加の判断基準. 傾向が逆転すると往々にして取引量が増加する.
過去のデータ訓練に基づいて,長期短期トレンドの最適なパラメータを判断する.
感情指標と基本指標を組み合わせた 動的退出機構の構築
インデックス型ストップまたは利益保護ストップを実現するストップアルゴリズムを最適化.
この戦略は,体系的に最適化および組合せのパラメータを使用して,リターン率とリスク調整指標をさらに向上させることができます.
長期トレンド反転戦略は,典型的なトレンドと反転を組み合わせたアルゴリズム取引戦略である.短期と長期の2つの時間次元におけるトレンドの変化を同時に判断し,トレンド反転の時点で取引信号を生成する.純粋なトレンドまたは純粋な反転戦略と比較して,この戦略は,短期市場のノイズを効果的にフィルターし,リスクを制御した前提で安定した収益を得ることができる.全体的に,この戦略は,市場における基本的な判断力を持つアルゴリズムトレーダーに適しており,量化組合せに平坦な安定した構成を提供することができる.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 45m
basePeriod: 5m
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/
// © racer8
//@version=4
// This Algo Strategy Has Only 3 rules and 62% Win Rate (Youtube)
strategy("Trend Bounce", overlay=true)
nn = input(7,"Channel Length")
hi = highest(high,nn)
lo = lowest(low,nn)
n2 = input(200,"Ma Length")
ma = sma(close,n2)
if close>ma and close<lo[1]
strategy.entry("Buy",strategy.long)
if close>hi[1]
strategy.close("Buy")
if close<ma and close>hi[1]
strategy.entry("Sell",strategy.short)
if close<lo[1]
strategy.close("Sell")
plot(hi,"high",color=color.aqua)
plot(lo,"low",color=color.aqua)
plot(ma,"sma",color=color.yellow)
//-----------------------------------------Stop Loss-------------------------------------------------------
atr = sma(tr,10)[1]
bought = strategy.position_size[0] > strategy.position_size[1]
sold = strategy.position_size[0] < strategy.position_size[1]
slm = input(2.0,"ATR Stop Loss",minval=0)
StopPrice_Long = strategy.position_avg_price - slm*atr // determines stop loss's price
StopPrice_Short = strategy.position_avg_price + slm*atr // determines stop loss's price
FixedStopPrice_Long = valuewhen(bought,StopPrice_Long,0) // stores original StopPrice
FixedStopPrice_Short = valuewhen(sold,StopPrice_Short,0) // stores original StopPrice
plot(FixedStopPrice_Long,"ATR Stop Loss Long",color=color.blue,linewidth=1,style=plot.style_cross)
plot(FixedStopPrice_Short,"ATR Stop Loss Short",color=color.red,linewidth=1,style=plot.style_cross)
if strategy.position_size > 0
strategy.exit(id="Stop", stop=FixedStopPrice_Long) // commands stop loss order to exit!
if strategy.position_size < 0
strategy.exit(id="Stop", stop=FixedStopPrice_Short) // commands stop loss order to exit!