
Cette stratégie de scénario de pin met en œuvre une stratégie de coût moyen par jour sur la plate-forme TradingView, tout en combinant les signaux tactiles de l’indicateur EMA pour déterminer le point d’entrée. La stratégie suit le principe de l’investissement au coût moyen, en achetant chaque jour un montant fixe pour diversifier le risque.
La stratégie présente les caractéristiques suivantes:
La loi de l’investissement au coût quotidien moyen
Les indicateurs de l’EMA déterminent le point d’entrée
Système d’arrêt dynamique
Limite de position maximale
Plus précisément, la stratégie investit un montant fixe chaque jour, calculant le nombre de titres pouvant être achetés en fonction du prix de clôture du jour. Sur cette base, un signal d’achat est déclenché si le prix de clôture du jour traverse n’importe quelle EMA des jours 5, 10 et 20. Une fois que la position accumulée atteint la limite maximale de 300 pièces, il n’y a pas de nouvelle opération d’achat.
Cette stratégie présente les avantages suivants:
La diversification des investissements et la réduction des risques liés aux investissements individuels
EMA, évitant les ajustements à court terme
Stop-loss dynamique et contrôle des pertes
Limite de la position maximale et contrôle du risque
L’EMA est intuitive et facile à déterminer.
Hauteur personnalisable
Cette stratégie comporte également des risques à prendre en compte:
Le risque systémique est inévitable
Les risques liés à des montants fixes
L’EMA ne peut pas répondre à des situations extrêmes
Les restrictions de position limitent aussi les opportunités de profit
La mise en place d’un point d’arrêt nécessite de l’expérience et des compétences
La stratégie a également de la place pour d’autres optimisations:
Augmentation de la dynamique d’ajustement du montant des contributions quotidiennes
Plus de critères pour l’admission
Moyenne mobile de l’indice
Modification dynamique de la position maximale
La mise en œuvre d’un stop progressif
Dans l’ensemble, la stratégie de coût moyen par jour, combinée aux signaux de contact de l’EMA, permet d’investir par lots à long terme. Par rapport à une seule position de gros, le risque peut être dispersé et le défilé au sommet peut être évité. L’adhésion à l’EMA évite également dans une certaine mesure les risques liés à l’ajustement à court terme, en prenant des mesures de freinage pour contrôler les pertes maximales.
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)
// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")
start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0
// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close
// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date
// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))
if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
strategy.entry("Buy", strategy.long, qty=shares_to_buy)
trade_count := trade_count + 1
// Dynamic sell conditions (optional)
sell_condition = true
if enable_sell and sell_condition
strategy.close_all()
// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")