
La stratégie utilise le revers de la canne à l’intérieur du jour et la combinaison de la canne verte qui suit pour rechercher des opportunités de hausse potentielles. Lorsque le revers de la canne se produit et que la prochaine canne est verte, la stratégie d’ouverture des positions est plus. La position d’arrêt est définie au plus bas de la canne à canne, la position d’arrêt est définie à 1,5 fois le prix d’ouverture de la position.
La forme de l’anneau est une forme technique courante, qui apparaît souvent à la fin d’une tendance baissière, annonçant l’arrivée d’un renversement de tendance. La forme typique de l’anneau présente les caractéristiques suivantes:
Lorsque la forme du coude est confirmée, un signal positif est formé si le prochain coude est vert et que le point bas est supérieur au point bas du coude. Le stop loss est réglé sur le point bas du coude pour contrôler le risque; le stop loss est réglé sur 1,5 fois le prix d’ouverture pour obtenir un profit potentiel.
La stratégie utilise un taux de stop-loss fixe, maîtrise le niveau d’exposition au risque et maintient le taux de perte de profit à un niveau élevé. Cependant, la stratégie est relativement simple pour définir la forme, manque de preuve d’autres indicateurs techniques, et peut être confrontée à un taux d’inefficacité du signal élevé dans l’application réelle. En outre, la stratégie est également confrontée à un problème de perte individuelle élevée en raison de la position d’arrêt relativement proche.
/*backtest
start: 2023-03-09 00:00:00
end: 2024-03-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Hammer Pattern and Follow-Up Green Candle Strategy", overlay=true)
// Detecting a Hammer candle
isHammer() =>
bodySize = math.abs(close[1] - open[1])
lowerWickSize = open[1] - low[1]
upperWickSize = high[1] - open[1] // For a red candle, the upper wick is from the open to the high
bodyIsSmall = bodySize <= (high[1] - low[1]) * 0.3 // Body is less than 30% of the entire candle range
lowerWickIsLong = lowerWickSize >= bodySize * 2 // Lower wick is at least twice the body length
noUpperWick = upperWickSize == 0 or high[1] <= open[1] * 1.01 // No upper wick or very small
close[1] < open[1] and bodyIsSmall and lowerWickIsLong and noUpperWick
// Check if the current candle is green with no or small tail
isGreenWithNoSmallTail() =>
close > open
// Entry condition
entryCondition = isHammer() and isGreenWithNoSmallTail() and low >low[1]
// Calculate stop loss and take profit levels
stopLossLevel = low[1]
profitTargetLevel = close * 1.5
//Calculate position bodySize
positionSize = 50000 / close
// Execute strategy
if (entryCondition)
strategy.entry("Hammer Buy", strategy.long,qty=positionSize)
strategy.exit("Take Profit / Stop Loss", "Hammer Buy", stop=stopLossLevel, limit=profitTargetLevel)