
この記事では,単純移動平均に基づいたトレンドフォロー戦略を詳細に分析する.この戦略は,複数の時間枠の均線組み合わせを使用して取引信号を生成する.これは典型的なトレンドフォロー戦略の1つです.
この戦略は同時に21日,50日,100日,200日のシンプル移動平均を使用する.価格がこれらの均線を破るときに買入と売却のシグナルを生成する.さらに,戦略はDonchianチャネルを利用して,価格が20日と55日の最高価格または最低価格を補足するときに取引シグナルを生成する.この戦略は,傾向が顕著な市場に適しており,複数の時間枠でトレンドをロックして利益を得る.
核心となる原則は,複数の均線時間枠を使用してトレンドの方向を判断することです.具体的には,戦略は,4つの異なる時間長さのシンプル移動平均を使用しています: 21 日線,50 日線,100 日線,および200 日線.これらの均線の時間帯は,短期から長期に拡大され,さまざまなレベルのトレンドを識別するために使用されます.
短期平均線が長期平均線を横切るときに買入シグナルが生じます。これは市場傾向が転向し,上昇チャネルに入ることを意味する。短期平均線が長期平均線を横切るときに売りシグナルが生じます。これは市場傾向が逆転し,下行チャネルに入ることを意味する。
さらに,戦略は,ドンチアン通路を利用して補足取引信号を与える.つまり,価格が20日目または55日目の最高価格/最低価格を突破すると,購入/販売信号を誘発し,トレンドの利潤をロックする.
総じて,この戦略は均等線理論とドンチアン通路を組み合わせて,多時間枠でトレンドの方向を判断し,典型的なトレンドフォロー戦略である.
リスクに対応する解決策:
この記事では,複数の時間枠の移動平均とドンチアンチャネルに基づく簡単なトレンドフォロー戦略を詳細に分析しています. この戦略は,異なる長さの平均線の組み合わせを使用して,トレンドの方向性を判断し,その原理はシンプルで明確で,容易に実行できます. 同時に,戦略の優位性,潜在的なリスク,およびその後の最適化アイデアも分析されています. この戦略は,深い理解と適切な最適化によって,量化取引の有益なツールになることができると信じています.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Trend Following", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)
maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=float)
entryLong = false
entryShort = false
// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)
if (close > highest(high[1], 20))
strategy.entry("Long fast", strategy.long)
entryLong = true
if (close < lowest(low[1], 20))
strategy.entry("Short fast", strategy.short)
entryShort = true
if (close > highest(high[1], 55))
strategy.entry("Long slow", strategy.long)
entryLong = true
if (close < lowest(low[1], 55))
strategy.entry("Short slow", strategy.short)
entryShort = true
len1 = input(21, minval=1, title="21 SMA")
src1 = input(close, title="21 SMA")
out1 = sma(src1, len1)
plot(out1, title="21 SMA", color= white)
len2 = input(50, minval=1, title="50 SMA")
src2 = input(close, title="50 SMA")
out2 = sma(src2, len2)
plot(out2, title="50 SMA", color= blue)
len3 = input(100, minval=1, title="100 SMA")
src3 = input(close, title="100 SMA")
out3 = sma(src3, len3)
plot(out3, title="100 SMA", color= orange)
len4 = input(200, minval=1, title="200 SMA")
src4 = input(close, title="200 SMA")
out4 = sma(src4, len4)
plot(out4, title="200 SMA", color= green)