
L’idée centrale de cette stratégie est d’utiliser la croisée des EMA et des WMA comme signal d’entrée et de négocier en combinaison avec un stop loss basé sur le calcul du nombre de points. Son plus grand avantage réside dans le fait que le risque peut être contrôlé de manière très flexible et précise, en ajustant la taille du nombre de points pour contrôler l’ampleur du stop loss.
Lorsque l’EMA dépasse la WMA de bas en haut, elle génère un signal de coupe; lorsque l’EMA dépasse la WMA de haut en bas, elle génère un signal de coupe. Une fois en position, le point d’entrée est calculé en temps réel et un arrêt et un arrêt sont définis sur cette base. Par exemple, le point d’arrêt est fixé à 20 et le point d’arrêt à 100, alors le prix d’arrêt spécifique est le prix d’entrée moins 20*La valeur du contrat, le prix d’arrêt est le prix d’entrée plus 100 points*La valeur du contrat.
La stratégie peut également être combinée avec une comparaison entre le cours actuel et le stop historique, afin d’ajuster la position de stop mobile et d’obtenir un suivi de stop courant.
Le plus grand avantage de cette stratégie par rapport à un point fixe ou un pourcentage de stop-loss ordinaire réside dans le fait qu’il est possible de contrôler le risque de manière très flexible et précise. La taille du point d’ajustement peut avoir une influence directe sur la taille de la marge de stop-loss.
En outre, le stop-loss en circulation est une fonctionnalité très pratique. Il permet de suivre les changements de position de stop-loss en temps réel en fonction de l’évolution de la situation, tout en assurant la maîtrise des risques et en recherchant le plus grand profit possible.
Le risque de cette stratégie provient principalement des deux indicateurs EMA et WMA eux-mêmes. Lorsqu’il y a une forte variation des conditions, ils émettent souvent de faux signaux et sont sujets à des arrêts. Il est recommandé de relâcher le nombre de points d’arrêt de manière appropriée ou d’envisager de remplacer d’autres combinaisons d’indicateurs.
Un autre point de risque est que le stop-loss est difficile à équilibrer. Si vous recherchez un stop-loss plus élevé, vous devez généralement prendre un risque plus élevé, ce qui est facile à arrêter lorsque le cours change.
Cette stratégie peut être optimisée dans les directions suivantes:
L’idée centrale de la stratégie est simple et claire. Elle est basée sur les indicateurs EMA et WMA, et utilise un mécanisme d’arrêt et d’arrêt basé sur le calcul des points pour le contrôle des risques. L’avantage de la stratégie réside dans le fait que le contrôle des risques est précis et flexible et peut être adapté aux différents marchés.
/*backtest
start: 2024-01-03 00:00:00
end: 2024-01-10 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// inspiration script from: @ahmad_naquib
// inspiration script link: https://www.tradingview.com/script/tGTV8MkY-Two-Take-Profits-and-Two-Stop-Loss/
// inspiration strategy script name: Two Take Profits and Two Stop Loss
////////////
// Do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS
////////////
//@version=5
strategy('SL & TP based on Pips', "PIP SL & TP", overlay=true, initial_capital=1000)
// MA
ema_period = input(title='EMA period', defval=10)
wma_period = input(title='WMA period', defval=20)
ema = ta.ema(close, ema_period)
wma = ta.wma(close, wma_period)
// Entry Conditions
long = ta.crossover(ema, wma) and nz(strategy.position_size) == 0
short = ta.crossunder(ema, wma) and nz(strategy.position_size) == 0
// Pips Calculation
pip1 = input(20, title = "TP PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick
pip2 = input(20, title = "SL PIP", group = "PIP CALCULATION") * 10 * syminfo.mintick
// Trading parameters
var bool LS = na
var bool SS = na
var float EP = na // Entry Position
var float TVL = na
var float TVS = na
var float TSL = na
var float TSS = na
var float TP1 = na
//var float TP2 = na
var float SL1 = na
///var float SL2 = na
// SL & TP Values
// there's also SL2 and TP2 in case you want to add them to your script,
//also you can add a break event in the strategy.entry section.
if short or long and strategy.position_size == 0
EP := close
SL1 := EP - pip2 * (short ? -1 : 1)
//SL2 := EP - pip2 * (short ? -1 : 1)
TP1 := EP + pip1 * (short ? -1 : 1)
//TP2 := EP + pip1 * 2 * (short ? -1 : 1)
// current trade direction
LS := long or strategy.position_size > 0
SS := short or strategy.position_size < 0
// adjust trade parameters and trailing stop calculations
TVL := math.max(TP1, open) - pip1[1]
TVS := math.min(TP1, open) + pip1[1]
TSL := open[1] > TSL[1] ? math.max(TVL, TSL[1]) : TVL
TSS := open[1] < TSS[1] ? math.min(TVS, TSS[1]) : TVS
//if LS and high > TP1
//if open <= TP1
//SL2 := math.min(EP, TSL)
//if SS and low < TP1
//if open >= TP1
//SL2 := math.max(EP, TSS)
// Closing conditions
// and those are a closing conditions in case you want to add them.
//close_long = LS and open < SL2
//close_short = SS and open > SL2
// Buy
if (long and not SS)
strategy.entry('buy', strategy.long)
strategy.exit('exit1', from_entry='buy', stop=SL1, limit=TP1, qty_percent=100)
//strategy.exit('exit2', from_entry='buy', stop=SL2, limit=TP2)
// Sell
if (short and not LS)
strategy.entry('sell', strategy.short)
strategy.exit('exit3', from_entry='sell', stop=SL1, limit=TP1, qty_percent=100)
//strategy.exit('exit4', from_entry='sell', stop=SL2, limit=TP2)
// Plots
// those are plots for the lines of The tp and sl. they are really useful, and in the next update I will use a filling option.
a = plot(strategy.position_size > 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr)
b = plot(strategy.position_size < 0 ? SL1 : na, color=color.new(#af0829, 30), linewidth = 2, style=plot.style_linebr)
c = plot(strategy.position_size > 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr)
d = plot(strategy.position_size < 0 ? TP1 : na, color=color.new(#2e7e00, 30), linewidth = 2, style=plot.style_linebr)
g = plot(strategy.position_size >= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr)
h = plot(strategy.position_size <= 0 ? na : EP, color=color.new(#ffffff, 50), style=plot.style_linebr)
// those are plot for the TP2 and SL2, they are optional if you want to add them.
//e = plot(strategy.position_size > 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr)
//f = plot(strategy.position_size < 0 ? TP2 : na, color=color.new(#00ced1, 0), style=plot.style_linebr)
//those are the plot for the ema and wma strategy for short and long signal. they are not really a good strategy, I just used them as an example
//but you have the option to plot them or not.
// do not use this strategy, it's just an exmaple !! The goal from this script is to show you TP and SL based on PIPS
//plot(ema, title='ema', color=color.new(#fff176, 0))
//plot(wma, title='wma', color=color.new(#00ced1, 0))