
La stratégie est un système de négociation en achats uniquement, qui génère un signal d’achat basé sur la croisée des moyennes mobiles et l’indice de la chaîne de marchandises cyclique (CCI) ou l’indice de direction de la moyenne périodique (ADX). Un signal d’achat est généré lorsque la moyenne mobile passe lentement sur une moyenne mobile rapide et que la CCI et/ou l’ADX périodique répondent à certaines conditions.
La stratégie permet également une réentrée dynamique, ce qui signifie que de nouvelles positions à plusieurs positions peuvent être ouvertes si le prix franchit à nouveau les trois moyennes mobiles. Cependant, la stratégie éliminera les positions à plusieurs positions si le prix de clôture du marché franchit la troisième moyenne mobile.
Le script définit les conditions pour générer un signal d’achat. Il vérifie deux conditions pour déterminer un signal d’achat valide:
La vidéo a été postée sur le site de l’opposition.Si vous n’avez pas encore réglé une position sur plusieurs titres et que le prix est supérieur à trois moyennes mobiles, ouvrez une nouvelle position sur plusieurs titres.
Conditions de sortie:Si la clôture se situe au-dessous de la troisième moyenne mobile, la stratégie élimine la position plus élevée.
Cette stratégie présente les avantages suivants:
La stratégie présente également les risques suivants:
La réponse:
Cette stratégie peut être optimisée dans les domaines suivants:
Cette stratégie d’achat de réentrée dynamique intègre plusieurs indicateurs techniques pour déterminer le moment d’achat et utilise une conception de réentrée dynamique pour suivre la tendance en temps réel; tout en évitant les risques supplémentaires liés au manque à gagner. Grâce à l’optimisation des paramètres, à la configuration des arrêts de perte et à la gestion des positions, la stratégie peut être utilisée dans les transactions en bourse pour obtenir des gains supplémentaires tout en contrôlant les risques.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)
// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")
// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)
// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close, cci_period))
// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)
// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)
// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100
// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)
// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
strategy.entry("Long", strategy.long)
if strategy.position_size > 0 and close < third_ma
strategy.close("Long")
// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)