唐氏トレンド戦略は,市場動向を識別する唐氏チャネルの指標に基づくトレンドフォロー戦略である.この戦略は,唐氏チャネルの上下を判断して価格の動きを判断し,潜在的入場と退出のポイントを発見する.価格が上線より高いとき,上昇傾向を表す.価格が下線より低いとき,下降傾向を表す.この戦略の重要なパラメータは,唐氏チャネルの長さであり,それは高点と低点の計算の回顧周期を決定する.
より正確に取引シグナルを生成するために,この戦略は,さらに2つの移動平均,すなわち,快線 ((5日線) と遅線 ((45日線) を使用する. 快線が遅線を横切るときに買いシグナルを生成し,快線が遅線を横切るときに売りシグナルを生成する.
この戦略の核心指標は唐氏経路である.唐氏経路は,与えられた周期内の最高価格と最低価格で描かれ,上線と下線がこれらの高点と低点をそれぞれ接続している.チャネルの幅は市場の変動性を反映している.
策略は唐氏経路を利用して価格トレンドの方向を判断する.具体的には,上線より高い価格が上昇傾向にあることを示し,その策略は,次の価格が上線に近づくときに多頭ポジションを構築することを考慮する.逆に,下線より低い価格が下線傾向にあることを示し,その策略は,次の価格が下線に近づくときに空頭ポジションを構築することを考慮する.
偽の突破をフィルターするために,この戦略は,高速移動平均線 ((5日線) と遅い移動平均線 ((45日線) を組み合わせて取引信号を生成する.高速線が,下から遅い線を横切ると,買入信号を生成する.高速線が,上から下から遅い線を横切ると,売出信号を生成する.
入場後のストップ損失退出は,価格に基づいて再び唐氏通路の設定に近づきます.
この策略の顕著な優点は,トレンドが明確に形成された後にのみ入場することであり,誤った購入による偽の突破による損失を効果的に減らすことです.唐氏経路は,それ自体で強いトレンド識別能力を持ち,さらに,双動平均と組み合わせてフィルタリングを行うことで,高い信頼性があります.
さらに,唐氏経路のパラメータの調整は,この戦略に柔軟性を与えます.経路の長さは,参照する歴史的なデータの長さを代表し,トレンドの判断は保守的で,偽の突破を回避する確率は高くなりますが,一部のショートラインの機会を逃す可能性があります.市場環境と個人の好みに応じて経路のパラメータを選択できます.
この戦略は最大撤退制御もよくする.そのトレンドフォロー属性により,市場の大幅な波動の時には損失を効果的に制御することができる.
この戦略の主なリスクは,トレンドを誤って判断し,誤ったタイミングで多頭または空頭ポジションを確立することにある.これは,価格がより大きなストップダウン反転または下落の動きを隠している場合に起こりうる.移動平均のパラメータを適切に調整することで,このような状況を軽減することができます.
もう1つの潜在的なリスクは,波動的な状況であまりにも頻繁に取引を行うことです.これは取引回数と手数料の支出を増加させるでしょう.我々は,ストップ・ロスの幅を増加させたり,適切な保持時間を延長して解決することができます.
この戦略は,以下のような分野に重点を置いて,多くの改善の余地があります.
唐氏経路の長さ 異なるパラメータ値をテストして最適なパラメータを見つけることができます
移動平均の周期数 移動平均の周期数 移動平均の周期数 移動平均の周期数
絶対ポイントストップやATRストップを試してみましょう.
入場フィルター条件 基本取引シグナルに加えてRSI,MACDなどの指標を追加してフィルターすることができます.
総括すると,唐氏トレンド戦略は,唐氏通路を使用してトレンドの方向を判断し,さらに双動平均で入場を行う.これは,安定したトレンドフォロー戦略である.それは,トレンドが明確に形成された後に入場するだけで,損失を効果的に制御する.同時に,パラメータの最適化スペースは大きく,市場環境に応じて調整することができます.リスクが効果的に管理されれば,この戦略は安定した長期利益を得る見込みである.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="DON-SS-TREND", overlay=true,default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=1000,pyramiding=0,commission_value=0.01)//@version=5
length = input.int(42, minval=1)
lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)
updiff = upper - close
downdiff = lower - close
dontrend = updiff + downdiff
emalength = input.int(45, minval=1)
emax = ta.ema(-dontrend,emalength)
plot(-dontrend, "DON-SS", color=color.blue,style = plot.style_histogram)
plot(emax, "EMA-SS", color=color.black)
emalength1 = input.int(5, minval=1)
emax1 = ta.ema(-dontrend,emalength1)
plot(emax1, "EMA-FF", color=color.black)
/////////////////////// STRATEGY
// Check for Long Entry
longCondition = ta.crossover(emax1,emax)
if longCondition
strategy.entry('Long', strategy.long, comment = "BUY")
buyclose = ta.crossunder(emax1,emax)
// Exit condition with trailing stop and take profit
strategy.close('Long', when=buyclose, comment = "BUY STOP")
// Check for Short Entry
ShortCondition = ta.crossunder(emax1,emax)
if ShortCondition
strategy.entry('Short', strategy.short, comment = "SELL")
sellclose = ta.crossover(emax1,emax)
// Exit condition with trailing stop and take profit
strategy.close('Short', when=sellclose, comment = "SELL STOP")