この戦略は,超トレンド指数に基づいて現在のトレンドの方向を判断し,トラップの形状に基づいて取引信号を発信し,トレンド追跡戦略に属します.超トレンド指数とは反対の方向のトラップが現れた場合,トレンドが逆転する可能性を示し,この戦略は逆転の機会を掴んで入場します.
この戦略は,まず,超トレンド指標を計算して現在のトレンドを判断し,緑は上昇傾向,赤は下落傾向を判断する.そして,K線が罠形を形成しているかどうかを判断する.条件は,:1) K線が超トレンド指標の方向と反対である,2) K線の強さ ((大日線または閉盘価格に背を向けない),3) K線の取引量が拡大する.上記の3つの条件が同時に満たされると,トレンドの反転が起こりうることを示す.戦略は,トラップ高点多頭入場,低点空頭入場で策略する.ストップ・ロスは,トラップの対抗者の最近の高点または低点として設定する.
具体的には,10周期ATRに基づいて超トレンド指数計算し,現在のトレンドを判断する.次に,現在のK線が超トレンド指数方向に反して,VOLUMEが前K線より大きいか,または連続した3つのK線がCLOSE方向に一致してVOLUMEが少ないかを計算する.条件が満たされれば,逆転が起こりうると考えられ,そのトラップK線で最高多頭入場,最低価格空頭入場,ストップロースはトラップK線開場方向である.
この戦略は,超トレンド指数によって大トレンドを判断し,反転点の可能性のあるトラップに入場し,目的の利益は後続トレンドの実行から得られる.
超トレンド指標は,大トレンドの方向を判断し,トラップは,トレンドの逆転の機会を識別し,トレンドと形状を組み合わせて判断の正確性を向上させることができる.
トラップの強度放出を要求し,騒音による偽信号を回避する.入場確認を増やし,頂上と底掘りのリスクを回避する.
超トレンド指標とトラップを中心に,非常に簡潔で明快で,パラメータが少なく,実装の難しさは低い.
ストップポイントは,トラップ価格として設定され,迅速にストップされ,トレンドの逆転後の合理的な位置に適合する.
超トレンド指標は,トレンドが遅れていることを判断し,トレンドの逆転の最適なエントリーポイントを逃す可能性があります.
逆転信号は必ずしも100%信頼できないので,逆転が失敗すると損失が増加する可能性があります.
異なる品種と時間周期によって,適切な罠の形状は異なることがあります. 特定の状況に応じて最適なパラメータをテストする必要があります.
夜盤と夜間取引の特徴には違いがあり,パラメータはそれぞれ最適化する必要がある.
例えば,トラップ K ラインの取引量が拡大され,昼夜パラメータはそれぞれ最適化できます.
異なるATR周期パラメータをテストし,与えられた品種の最適パラメータを特定し,より正確な超伝導信号を生成する.
MACD,KDJなどの指標が加えられれば,逆転の判断の正確性が向上する.
トレンドが逆転した後に再びストップする,またはパーセントストップするなどの方法で,リスクを制御する.
この戦略は超トレンド指標とトラップ形態を統合し,トレンドの逆転を判断する時に介入する.核心構想はシンプルで明確で,実行しやすい.しかし,その取引信号の正確性には最適化の余地があり,大トレンド,夜間差異,ストップ損失などの多くの側面を考慮して戦略の安定性を高めるために総合的な最適化が必要である.この戦略は,継続的に繰り返し最適化されれば,頻繁取引者の強力なツールになることができる.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SuperTrend Trapping Candle Strategy", shorttitle="ST", margin_long=1, margin_short=1, overlay=true)
// Inputs
atrPeriod = input.int(10, "ATR Length")
factor = input.int(2, "Factor")
candleDivider = input.float(0.003, "Candle Height", step=0.0001)
// Supertrend
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)
//Trapping canlde
isUptrend = direction < 0
isDowntrend = direction > 0
isBullsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close > close[1] and close[1] > close[2] and open > open[1] and open[1] > open[2]
isBearsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close < close[1] and close[1] < close[2] and open < open[1] and open[1] < open[2]
isStrongVolume = (volume > volume[1]) or isBullsStrengthDecreasing or isBearsStrengthDecreasing
isSmallCandle = (high - low) < close * candleDivider
isUptrendTrapping = isUptrend and close < open and isStrongVolume and isSmallCandle
isDowntrendTrapping = isDowntrend and close > open and isStrongVolume and isSmallCandle
plotshape(isUptrendTrapping, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(isDowntrendTrapping, style=shape.triangledown, location=location.abovebar, color=color.orange)
// Signals
longCondition = isUptrendTrapping
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = isDowntrendTrapping
if (shortCondition)
strategy.entry("Short", strategy.short)
if open < close
alert("Seller Trapped.", alert.freq_all)
if close > open
alert("Buyer Trapped.", alert.freq_all)