
Cette stratégie utilise une combinaison d’indicateurs pour déterminer la direction de la tendance et le moment de la transaction. La méthode de l’équilibre de la pression améliore la probabilité de succès des transactions.
L’EMA est utilisée pour calculer la ligne moyenne et déterminer la direction de la tendance générale. Les valeurs plus élevées de l’EMA représentent une tendance à la hausse et les valeurs plus faibles représentent une tendance à la baisse.
Le MACD est utilisé pour calculer la différence entre les lignes rapides et lentes. Une différence supérieure à 0 indique qu’il y a une tendance à la hausse, et une différence inférieure à 0 indique qu’il y a une tendance à la baisse.
Le calcul des points de variation en série avec les PSAR montre que les valeurs de PSAR plus élevées sont actuellement en baisse et les valeurs de PSAR plus faibles sont actuellement en hausse.
Lorsque les trois indicateurs sont concordants, la tendance est plus claire et les transactions d’achat ou de vente sont possibles.
Ouvrir une position en fonction des conditions d’achat et de vente, et définir un point d’arrêt de perte et de plafonnement pour réaliser un profit lorsque les conditions d’arrêt de perte ou d’arrêt de perte sont atteintes.
Les règles de fonctionnement sont les suivantes:
L’utilisation d’indicateurs multiples pour évaluer les tendances améliore l’exactitude de l’évaluation.
L’équilibre de la pression est utilisé pour ouvrir une position lorsque la tendance est claire, ce qui augmente la probabilité de profit.
Il est possible de limiter les pertes et de bloquer les bénéfices.
Un système de négociation avec des règles claires, adapté aux transactions programmées.
Il est possible d’optimiser les paramètres pour s’adapter aux différentes variétés et cycles de négociation.
Il est possible qu’il y ait une erreur de jugement de la tendance, ce qui conduit à une erreur de direction de la position.
Les marchés ont été très volatiles, et les indicateurs ont pu envoyer de faux signaux.
Le point d’arrêt est trop grand pour être arrêté à temps.
Les paramètres sont mal configurés, ce qui entraîne des transactions trop fréquentes ou une impossibilité d’ouvrir une position à temps.
La liquidité de la variété négociée est insuffisante et le blocage des pertes n’a pas été mis en place comme prévu.
Il est possible de réduire le risque en optimisant les paramètres, en ajustant les points d’arrêt et en choisissant des variétés de transactions à forte liquidité.
Adaptation des paramètres des cycles EMA afin d’optimiser l’exactitude des tendances.
Ajustez les paramètres de cycle de la ligne rapide et de la ligne lente du MACD pour optimiser la sensibilité de l’indicateur MACD.
Ajustez les paramètres de la proportion de stop-loss pour obtenir le meilleur équilibre de stop-loss.
Ajout d’autres indicateurs auxiliaires pour améliorer la précision de la sélection du moment d’ouverture des positions.
Optimiser la sélection des variétés de négociation, en choisissant des variétés à forte liquidité et à forte volatilité.
Adaptation des cycles de négociation aux spécificités du marché des différentes variétés.
Cette stratégie utilise de multiples indicateurs pour évaluer les tendances, ouvrir des positions lorsque les tendances sont claires et mettre en place un stop-loss. Elle permet de saisir efficacement le mouvement du marché et d’obtenir un rendement relativement idéal en garantissant une certaine rentabilité.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 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/
// © exlux99
//@version=4
strategy(title = "Crypto Scalper", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
len = input(60, minval=1, title="Length EMA")
src = input(close, title="Source")
out = ema(src, len)
//
fast_length = input(title="Fast Length MACD", type=input.integer, defval=12)
slow_length = input(title="Slow Length MACD", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
tplong=input(0.245, step=0.005)
sllong=input(1.0, step=0.005)
tpshort=input(0.055, step=0.005)
slshort=input(0.03, step=0.005)
if (uptrend and hist >0 and close < out)
strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')
if (not uptrend and hist <0 and close > out)
strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closelong')