L'idée principale de cette stratégie est d'ouvrir une position longue après l'émergence d'un modèle de chandelier spécifique, à savoir ouvrir une position longue à la prochaine barre ouverte après un écart à la baisse (colorbar) suivi d'un recul à la barre précédente basse.
Les conditions spécifiques de cette stratégie sont les suivantes: la barre précédente a un plus bas et un plus haut plus bas par rapport aux deux barres précédentes, indiquant un écart à la baisse; et la barre actuelle est inférieure ou égale à la barre précédente, indiquant qu'un repli s'est produit.
Après ouverture de la position longue, le stop loss est fixé au plus bas pullback, qui est le plus bas de la barre précédente, et le take profit est fixé à plus de 2% au-dessus du prix d'entrée.
L'avantage majeur de cette stratégie est de saisir l'opportunité de rebond à forte probabilité après le modèle spécifique du chandelier. L'écart à la baisse suivi d'un repli représente un modèle technique extrêmement puissant qui indique que la pression de vente peut s'être épuisée à ce niveau et qu'un rebond à haute probabilité est susceptible de se produire. Par conséquent, cette stratégie est plus adaptée au trading à court terme.
Le risque majeur est la baisse continue après la fin du repli. Comme nous prenons des positions longues autour des bas de repli, des pertes importantes peuvent être encourues si nous ne pouvons pas réduire les pertes à temps. En outre, si la plage de repli est petite, le stop loss réglé trop serré peut entraîner un stop-out. Ainsi, cette stratégie est plus préférable pour le trading à court terme, nécessitant une attention particulière du marché et un stop-loss rapide.
D'autres indicateurs techniques peuvent être incorporés pour améliorer l'exactitude du signal et la stabilité de la stratégie, comme entrer sur la croix d'or MACD ou vérifier que le prix typique est au niveau de support avant l'entrée.
En résumé, il s'agit d'une stratégie de rebond à court terme typique. Elle capture l'opportunité de rebond après le fort schéma de décalage à la baisse suivi d'un rebond. Mais elle comporte également le risque d'énormes pertes si les pertes ne sont pas réduites à temps. Une surveillance fréquente du marché est nécessaire pour des résultats favorables. Des améliorations supplémentaires peuvent être apportées via des signaux de filtrage avec plus d'indicateurs et une optimisation des paramètres.
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Created by Leon Ross //study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true) strategy(title = "Outside", shorttitle = "OB", overlay = true ) //Window of time //start = timestamp(2018, 01, 01, 00, 00) // backtest start window //finish = timestamp(2018, 12, 31, 23, 59) // backtest finish window //window() => time >= start and time <= finish ? true : false // create function "within window of time" //Conditions outsideBar = low < low[1] and high > high[1] and close < open allConditions = outsideBar //Stop and Take Profit as percentages //inpTakeProfit = input(2, title='Take Profit %', type=float)/100 //takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) //useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na //inpStopLoss = input(1, title='Stop Loss %', type=float)/100 //stopLossValue = strategy.position_avg_price * (1 - inpStopLoss) //useStopLoss = inpStopLoss > 0 ? stopLossValue : na //entry = strategy.position_avg_price //Stop as last bars low and profit as percentage entry = strategy.position_avg_price inpTakeProfit = input(2.0, title='Take Profit %', type=float)/100 takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na inpStopLoss = valuewhen(allConditions, low, 0) stopLossValue = inpStopLoss useStopLoss = inpStopLoss > 0 ? stopLossValue : na //Plots bgcolor(allConditions ==1 ? aqua : na, transp=70) plot(entry, color=blue, style=linebr, linewidth=2) plot(useStopLoss, color=red, style=linebr, linewidth=2) plot(useTakeProfit, color=green, style=linebr, linewidth=2) //Entires strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in //Exits //if (barssince(allConditions) == 2) //strategy.close("Long") //else strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)