
Cette stratégie combine les indicateurs EMA et RSI pour identifier les opportunités de correction de courte ligne pour Bitcoin. Elle utilise principalement l’EMA comme graphique principal et le RSI comme indicateur de jugement auxiliaire, pour rechercher des formes de correction plus évidentes. Elle génère un signal de transaction lorsque le prix baisse ou se redresse sur la ligne de parité EMA.
La stratégie utilise principalement la ligne EMA de 50 cycles et l’indicateur RSI de 25 cycles. La ligne EMA est considérée comme l’indicateur graphique principal, le RSI est utilisé pour juger les surachats et les survente et pour aider à générer un signal de transaction.
Une fois la transaction entrée, la stratégie définit simultanément la position de stop loss et de stop stop. La distance de stop loss peut être définie, par défaut, à 5,1%; la distance de stop stop peut également être définie, par défaut, à 9,6%. Cela peut réduire efficacement la valeur maximale de la perte individuelle.
Dans l’ensemble, la stratégie s’appuie principalement sur la forme de la ligne EMA, avec l’indicateur RSI pour éviter les surachats et les surventes, tout en ayant un contrôle de stop-loss et de stop-loss, adapté à la capture d’un ajustement de la courte ligne BT Bitcoin.
Les principaux avantages de cette stratégie sont les suivants:
Les signaux stratégiques sont plus clairs et ne produisent pas beaucoup de faux-entrées aléatoires. L’utilisation combinée de l’EMA et du RSI rend le signal plus clair et plus fiable et ne dépend pas seulement d’un seul indicateur.
La stratégie d’arrêt des pertes avec le contrôle de l’arrêt des pertes. Cela permet de contrôler efficacement chaque perte et est un moyen très important de contrôle des risques.
Les paramètres de stratégie peuvent être optimisés. La longueur de l’EMA, la longueur du RSI, etc. sont des paramètres ajustables, permettant à l’utilisateur de trouver la meilleure combinaison de paramètres pour différents marchés.
La stratégie permet la rétroaction. La politique peut être vérifiée en définissant directement dans la stratégie la durée de la rétroaction.
Cette stratégie comporte également des risques, principalement liés aux aspects suivants:
Le cours du BTC est très élevé et la limite de perte peut être franchie. Malgré la stratégie de mise en place d’une limite de perte, dans le cas d’une grande transaction, le mouvement de prix est plus important et la limite de perte peut être franchie.
Risque de retrait. La stratégie ne prend pas en compte le contrôle de retrait global. Si une situation d’ajustement plus longue est rencontrée, la stratégie génère un certain retrait.
L’effet du signal est négatif dans les grandes tendances. Dans les grandes tendances comparatives sauvages, le prix du bitcoin BTC aura une tendance à une vague plus grande et plus longue. L’effet du signal à court terme sera négatif et plus facile à piéger.
Les mesures suivantes peuvent être prises pour contrôler et atténuer ces risques:
Laissez une marge de freinage appropriée. Si c’est le cas, la distance de freinage appropriée peut être élargie, par exemple jusqu’à environ 10%, pour éviter que le freinage ne soit trop facile à percer.
Il est possible d’ajouter des indicateurs de tendance tels que les alignements linéaires et les alignements à plusieurs têtes, afin d’éviter d’utiliser cette stratégie lors d’ajustements de tendance à long terme.
Optimiser les ensembles de paramètres. Les paramètres peuvent être testés à différents stades du marché, créer plusieurs combinaisons de paramètres et changer les paramètres à l’arrivée des conditions les plus favorables pour améliorer la qualité du signal.
La stratégie a encore de la place pour une optimisation plus poussée, principalement dans les domaines suivants:
Augmentation du contrôle de retrait global. Il est possible de définir un taux de retrait maximal, par exemple 20%, et de suspendre la stratégie lorsque ce taux est atteint, afin d’éviter des pertes excessives.
Augmentation du contrôle de la fréquence d’ouverture des positions. Il est possible de limiter le nombre d’ouvertures de positions par unité de temps de la stratégie, par exemple jusqu’à deux fois par heure, pour éviter des transactions trop fréquentes.
Optimiser les paramètres. Tester des combinaisons de paramètres dans différentes conditions de marché, créer plusieurs modèles de paramètres, choisir les paramètres appropriés en fonction des conditions actuelles en temps réel, ce qui peut améliorer l’efficacité de la stratégie.
Cette stratégie peut être utilisée avec d’autres indices tels que la tendance, la volatilité, etc., pour former une base d’entrée plus complète et plus fiable dans le système de négociation.
Dans l’ensemble, la stratégie repose principalement sur la configuration de l’ajustement à court terme de BT Bitcoin, en utilisant les signaux de négociation plus clairs avec les EMA et le RSI, tout en ayant des contrôles de stop-loss et de stop-loss pour saisir efficacement les opportunités d’effet de levier des glissements à court terme de BT. Cependant, la stratégie est mieux adaptée en tant qu’outil auxiliaire de courte ligne et fonctionne mieux lorsqu’elle est utilisée avec d’autres combinaisons de stratégies, ce qui peut générer des gains supplémentaires plus stables.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 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/
// © mmoiwgg
//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)
//Safety
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close
// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest end window
window() => time >= start and time <= finish ? true : false // create function - add window() to entry/exit/close
// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema
//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")
// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")
// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)
//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)