
トレンド順海取引戦略は,移動平均に基づいてトレンドの方向を判断し,トレンドの逆転点で取引する量的な戦略である.この戦略は,同時にK線形決定信号を組み合わせて,潜在的な逆転点で入場とストロスを行う.
この戦略は,3つの異なる周期のEMA平均を用いてトレンドの方向を判断する.具体的には,15日線,120日線,220日線のEMA平均をそれぞれ計算する.15日線が220日線より高いときは看板トレンドと判断し,15日線が220日線より低いときは看板トレンドと判断する.
値のトレンドでは,閉盘価格が220日線以下であれば,空売りする. 値のトレンドでは,閉盘価格が220日線以上であれば,多額にする.
同時に,戦略はK線形を組み合わせて信号を確認する.看板の大きなギャップのK線または看板の大きなギャップのK線が現れたとき,平仓のストップ.
この戦略の最大の優点は,トレンドに順応して操作でき,明確なシグナルがない場合に任意の逆操作を避けることである.複数の移動平均によってトレンドを判断し,市場騒音を効果的にフィルターし,主要トレンドの方向をロックすることができる.
同時に,戦略は潜在的トレンド反転点での入場にもなります.このとき,優れたリスク・リターン比特性が備わっています.また,K線形のストップを組み合わせて,ストップ・ロスの過度の断片化を防ぐことができます.
この戦略の主なリスクは,移動平均によって判断された傾向が実際の価格動向と一定の遅れがある可能性であることです.この場合,傾向と逆操作が生じることがあります.
さらに,戦略で用いられているK線形ルールも有効に止まらない可能性があります.市場が異常な波動を起こしたときに,止まりのポイントは直接突破され,大きな損失を招く可能性があります.
上記のリスクを軽減するために,移動平均の周期パラメータを調整するか,K線形によって決定される比率因子を調整して規則をより厳格にすることを考えることができます.もちろん,技術分析が常に市場リスクを完全に回避することはできませんので,ポジションを制御する必要があります.
この戦略は以下の点で最適化できます.
移動平均の周期パラメータを最適化し,トレンド判断に適した周期パラメータの組み合わせを見つける
SMA,LWMAなどの様々な種類の移動平均指標をテストし,自分のスタイルに合った指標を探します.
K線形判定ルールを調整または追加して,反転信号をより明確かつ信頼性のあるものにする
追跡ストップ,時間ストップなどのストップ戦略を追加し,単一損失をさらに制御する
システムに富んだ取引信号を他の指標,例えば震動指標,取引量などと組み合わせる
トレンドフォロー海取引戦略は,全体として非常に典型的なトレンドフォロー戦略である. 傾向を判断する方法は簡単で,同時に一定のリスク管理策も備えている. この戦略は,トレンド取引について一定の知識があり,安定した収益を得たい投資家に適しています. 継続的に最適化できれば,長期にわたる競争優位性を持つ量化戦略にもなり得る.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © Aayonga
//@version=5
strategy('帆船探险寻找传说', overlay=true)
useDateFilter=input.bool(true,title = "启用回测时间范围限定", group = "回测范围")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间", group = "回测范围")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间",group = "回测范围")
inTradeWindow= true
A = input(50, '计算的周期')
shallowsea = ta.highest(A)
deepsea= ta.lowest(A)
//趋势形成条件
Length1 = input.int(15, title='短期市场平均成本', minval=1, group='市场平均成本')
Length2 = input.int(120, title='中期市场平均成本', minval=1, group='市场平均成本')
Length3 = input.int(220, title='长期市场平均成本', minval=1, group='市场平均成本')
SMA1 = ta.ema(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)
//趋势看多
longTrend=SMA1>SMA3 and open >SMA3
shortTrend=SMA1<SMA3
bullPinBar = ((close > open) and ((open - low) > 0.66* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
bearPinBar = ((close > open) and ((high - close) > 0.75 * (high - low))) or ((close < open) and ((high - open) >0.9 * (high - low)))
if close > shallowsea[5] and shortTrend and inTradeWindow
strategy.entry('⛵🎏', strategy.short)
if close < deepsea[5] and longTrend and inTradeWindow
strategy.entry('🧜', strategy.long)
if bullPinBar and inTradeWindow
strategy.close('⛵🎏',comment = '🐚')
if bearPinBar and inTradeWindow
strategy.close('🧜',comment = '🐳')
plot(shallowsea,style=plot.style_area, color=color.new(#71bfef, 0))
plot(deepsea, style=plot.style_area,color=color.new(#298bd1, 0))