La stratégie Big Surge Big Fall détecte d'énormes bougies haussières et baissières pour entrer dans des positions. Elle court lorsqu'elle détecte une énorme bougie haussière et court lorsqu'elle détecte une énorme bougie baissière. Le stop loss est placé en dessous du bas de la bougie de signal (et vice versa pour long), et le profit est défini à 1 fois le stop loss. Les utilisateurs peuvent définir la taille minimale des bougies haussières / baissières et le multiple de la plage de barres moyenne sur certaines périodes.
La logique de base de cette stratégie est la suivante:
Calculer la fourchette actuelle de chandeliers (haut - bas) et la taille du corps du chandelier (positif si la fermeture > ouverte, négatif si la fermeture < ouverte)
Calculer la plage moyenne sur les N bougies précédentes
Vérifiez si le chandelier actuel satisfait: gamme >= gamme moyenne x multiple ET taille du corps >= gamme x coefficient de taille du corps min
Si les conditions ci-dessus sont remplies, un signal est déclenché: allez court sur le chandelier haussier, allez long sur le chandelier baissier
Option permettant le stop loss et le profit: stop loss à faible plus coefficient de stop loss x plage; profit au 1 x stop loss
Le filtrage de la taille du corps exclut le doji. La plage moyenne dynamique s'adapte aux changements du marché. Le stop loss et le take profit permettent un contrôle raisonnable du retrait.
L'avantage majeur de cette stratégie est de capter des signaux d'inversion de tendance de haute qualité, basés sur deux jugements:
L'énorme chandelier haussier/baissier indique probablement qu'une tendance est épuisée après un mouvement prolongé
L'écart anormalement important qui dépasse la moyenne dynamique confirme la signification de la
En outre, les paramètres stop loss et take profit sont raisonnables, ce qui permet un contrôle efficace des pertes sans poursuite.
Dans l'ensemble, cette stratégie permet d'identifier des points de basculement structurels de haute qualité, ce qui permet une exécution efficace.
Les principaux risques proviennent de deux aspects:
Des barres énormes pourraient être une chasse au stop loss, créant de faux signaux.
Le stop loss peut être trop large pour contrôler efficacement les pertes
Pour le premier risque, l'ajout de filtres de taille minimale peut réduire les faux signaux mais aussi manquer des opportunités.
Pour le deuxième risque, ajuster le coefficient de stop loss peut optimiser les arrêts près des supports sans être trop serré.
Il existe plusieurs façons d'améliorer cette stratégie:
Ajouter un filtre de direction de tendance pour éviter les transactions contre-tendance
Optimiser les paramètres par le backtesting pour trouver la meilleure combinaison
Ajouter un filtre de volume pour assurer un volume élevé sur les chandeliers énormes
Considérez des filtres supplémentaires comme la moyenne mobile, les bandes de Bollinger pour réduire les faux signaux
Paramètres d'essai pour différents produits en vue d'une optimisation
Ajouter un stop loss pour l'ajustement dynamique basé sur l'action des prix
Évaluer les possibilités de réentrée après le stop loss initial
Avec les améliorations ci-dessus, cette stratégie peut devenir beaucoup plus efficace et améliorer la probabilité de profit.
La stratégie Big Surge Big Fall profite d'énormes renversements de bougies avec stop loss et take profit management. Elle permet d'identifier avec succès des points tournants structurels de haute qualité, fournissant des informations précieuses aux traders de tendance. Avec l'optimisation des paramètres et de la logique, cette stratégie peut devenir un outil de décision pratique. Sa logique simple et son économie intuitive la rendent également facile à comprendre et à appliquer.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m 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/ // © tweakerID // This strategy detects and uses big bars to enter a position. When the Big Bar // is bearish (red candle) the position will be long and viceversa // for short positions. The stop loss (optional) is placed on the low of the // candle used to trigger the position and user inputs allow you to modify the // size of the SL. Take profit is placed on a reward ratio of 1. User can also modify // the size of the bar body used to determine if we have a real Big Bar and // filter out Doji bars. Big Bars are determined relative to the previous X period size, // which can also be modified, as well as the required size of the Big Bar relative to this period average. //@version=4 strategy("Big Bar Strategy", overlay=false) direction = input(0, title = "Direction (Long=1, Both=0, Short=-1 ", type=input.integer, minval=-1, maxval=1) strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long)) //Inputs barsizemult=input(1, step=.1, title="SL Mult") TPbarsizemult=input(1, step=.1, title="TP Mult") barsizeThreshold=input(.5, step=.1, minval=.5, maxval=.9, title="Bar Body Size") period=input(10) mult=input(2, step=.2, title="Big Size Avg Mult to determine Big Bar") i_reverse=input(false, title="Reverse Trades") SLon=input(false, title="Use SL / TP") //Calculations barsize=high-low barbodysize=close>open?(open-close)*-1:(open-close) barsizeavg=sum(barsize, period)/period bigbar=barsize >= barsizeavg*mult and barbodysize>barsize*barsizeThreshold //Entry Logic longCondition = close < open and bigbar //and strategy.position_size==0 shortCondition = close > open and bigbar //and strategy.position_size==0 //SL & TP Calculations longTP=strategy.position_avg_price + (valuewhen(longCondition,barsize,0)*TPbarsizemult) longSL=strategy.position_avg_price - (valuewhen(longCondition,barsize,0)*barsizemult) shortTP=strategy.position_avg_price - (valuewhen(shortCondition,barsize,0)*TPbarsizemult) shortSL=strategy.position_avg_price + (valuewhen(shortCondition,barsize,0)*barsizemult) TP=strategy.position_size>0?longTP:shortTP SL=strategy.position_size>0?longSL:shortSL //Entries if (longCondition) strategy.entry("long", long=not i_reverse?true:false) alert("Big Bar") if (shortCondition) strategy.entry("short", long=not i_reverse?false:true) alert("Big Bar") if SLon strategy.exit("SL & TP", "long", stop=SL, limit=TP) strategy.exit("SL & TP", "short", stop=SL, limit=TP) // Plots barcolor(bigbar ? color.white : na) plot(barsizeavg, transp=100, title="Barsize Avg") plot(barsize, transp=100, title="Bar Size") plot(barbodysize, transp=100, title="Bar Body Size") plot(SLon?TP:na, color=color.green, style=plot.style_cross, title="TP") plot(SLon?SL:na, color=color.red, style=plot.style_cross, title="SL") plotshape(longCondition ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup") plotshape(shortCondition ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")