
平滑海金交差策略は,平滑海金交差原理と平滑技術を同時に適用する量化取引策策である.この策略は,4周期間の平均価格を計算して平滑価格を生成し,平滑価格に基づいて高金交差を計算して取引信号を発信する.原版高金交差と比較して,この策略は平滑によって短期間の市場騒音をフィルターして,誤った信号を生成することを避ける.
この戦略は主に以下の原則を適用します.
海金交差は,短期移動平均線を横切ったり横切ったりすると買ったり売ったりするシグナルを生成する.この戦略では,短期移動平均線は平らな閉盘価格 (haclose) と,長期移動平均線は平らな開盘価格 (haopen) とする.
騒音をフィルターするために,この戦略は4サイクル間の平均価格を使用して平滑価格を計算します.すなわち:
haclose = (open + high + low + close) / 4
haopen = 前期 haopen + 現在の haclose の平均値
上述の平滑価格計算による海金交差は,より信頼性の高い取引信号を生成する.
haclose 上を haopen にしたときは多頭信号;haclose 下を haopen にしたときは空頭信号。
原版海金交差戦略と比較して,平滑海金交差戦略は以下の利点がある.
スムーズな技術は,短期市場のノイズをフィルタリングし,誤信号を回避し,信号の質を向上させる.
4周期間の平均価格を用いて平準価格を計算することで,中長期のトレンドをよりよく反映し,より信頼性の高い取引シグナルを生成する.
海金交差の急速交差の特性を組み合わせて,この戦略は中長期のトレンドの転換点を間に合うように捉えることができる.
この戦略にはいくつかのリスクがあります.
市場が急激に波動する時には,平滑技術が有効な信号の一部をフィルタリングし,取引機会を逃す可能性があります.
4周期間の平均計算も一定の遅延をもたらし,ショートラインのチャンスを逃す可能性があります.
この戦略は取引頻度や保有時間に関する一定の要求があり,頻繁に取引したり,長期にわたって取引したりするには適していません.
上記のリスクに対して,適正な平滑パラメータの最適化または他の指標の組み合わせで解決できます.
この戦略は以下の方向から最適化できます.
平均周期の調整など,最適のパラメータの組み合わせを見つける.
交差量,ブリン帯などの他の指標と組み合わせて,信号の正確性を向上させる.
移動ストップ,縮小ストップなどのリスクを制御するためのストップ戦略を追加する.
資金管理戦略を最適化し,合理的なポジションサイズとストップ・ロスを設定し,単一損失を制御する.
平滑海金交差戦略は,海金交差原理と平滑技術を融合し,中長期のトレンドの転換点を効果的に発見し,短期市場の騒音に干渉されないようにする.原作海金交差戦略と比較して,この戦略は,平滑処理によって部分的な騒音をフィルターし,より高品質の取引信号を生成する.適切な停止と資金管理手段を備えた場合,この戦略は,より安定した投資収益を得ることができる.しかし,トレーダーは,遅滞,漏れなどのリスクを防止するために注意する必要があります.戦略の最適化が必要です.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Heikin-Ashi Strategy", overlay=true)
// Plots Color Of Heikin-Ashi Bars while Viewing Candlestics or Bars
//Works on Candlesticks and OHLC Bars - Does now work on Heikin-Ashi bars - But I have verified its accuracy
// Created By User ChrisMoody 1-30-2014 with help from Alex in Tech Support
// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay = input(defval = 1, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 1998)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 1998)
haclose = ((open + high + low + close)/4)//[smoothing]
haopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2
heikUpColor() => haclose > haopen
heikDownColor() => haclose <= haopen
barcolor(heikUpColor() ? aqua: heikDownColor() ? red : na)
if (heikUpColor() )
strategy.entry("LONG", strategy.long, comment="LONG")
if (heikDownColor())
strategy.entry("SHORT", strategy.short, comment="SHORT")
//plot(pos, title="pos", style=line, linewidth=1, color=red )