形状逆転戦略は,K線形状を検知し,価格が上昇から下落,または下落から上昇する転換点を認識し,転換点の近くで買入または販売を行う.この戦略は,主に影線と実体との比率関係を使用して,価格逆転信号を判断する.
この戦略の核心的な論理は,K線の影線部分と实体部分の比率的関係を検知し,価格逆転形態が存在するかどうかを判断することである.
下落のK線が発生すると,K線の下影線が長く,上影線と実体が短い場合は,K線に強い買入道があることを示し,上昇に逆転する可能性がある.具体的には,閉盘価格が開盤価格より高く,下影線の長さが上影線と実体長さの一定の倍数より大きいことを検出することで,多頭信号が生成される.
逆に,上方K線が現れたとき,K線の上影線が長く,下影線と実体が短ければ,K線が強い売り出力道を持っていることを示し,下落に転じることがある.具体的には,閉盘価格が開盘価格より低いことを検出し,上影線の長さが下影線と実体長さの一定の倍数より大きいことが,空頭信号を生成する.
また,開盘価格と閉盘価格の差が小さいが,影線が長い場合も反転信号が生じることがあります.
逆転信号を検出する際には,平均K線範囲と組み合わせてフィルタリングも行われ,K線範囲が平均値より大きい場合にのみ信号が生成される.
トレンド指標を組み合わせて逆転操作を避けることも考えられる。また,他の技術指標と組み合わせて逆転信号を確認することもできる。パラメータ設定は,反射最適化によってより良いパラメータセットを得ることができる。
形状転換戦略は,比較的単純な形状識別方法によって,価格逆転の形状を効果的に識別し,ターニングポイントを捕獲する.しかし,単一のK線形状にのみ依存すると,誤判が容易になり,他の技術指標と組み合わせて使用する必要があり,傾向判断を加えることで,逆転操作を避け,戦略の安定性を向上させることができる.
/*backtest
start: 2023-10-08 00:00:00
end: 2023-10-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © adiwajshing
//@version=4
strategy("Wick Reversal Signal", overlay=true)
wickMultiplier = input(3.25)
bodyPercentage = input(0.35)
barsBack = input(50)
bodyMultiplier = input(1.1)
myCandleSize = high-low
averageCandleSize = rma(myCandleSize, barsBack)
longSignal = close > open and open-low >= (close-open)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier
longSignal := longSignal or (close < open and close-low >= (open-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
longSignal := longSignal or (abs(close-open) < 0.01 and close != high and high-low >= (high-close)*wickMultiplier and high-close <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
shortSignal = close < open and high-open >= (open-close)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier
shortSignal := shortSignal or (close > open and high-close >= (close-open)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
shortSignal := shortSignal or (abs(close-open) < 0.01 and close != low and high-low >= (close-low)*wickMultiplier and close-low <= (high-low)*bodyPercentage and high-low >= averageCandleSize*bodyMultiplier)
plotshape(longSignal, style=shape.triangleup, size=size.normal)
plotshape(shortSignal, style=shape.triangledown, size=size.normal)
strategy.entry("LONG", strategy.long, when=longSignal)
strategy.entry("SHORT", strategy.short, when=shortSignal)