robot d'investissement fixe intelligent

EMA MACD RSI BB
Date de création: 2025-10-23 16:23:41 Dernière modification: 2025-10-23 16:23:41
Copier: 0 Nombre de clics: 198
2
Suivre
329
Abonnés

robot d’investissement fixe intelligent robot d’investissement fixe intelligent

Ce n’est pas un robot de spéculation ordinaire, c’est un robot de spéculation qui pense !

Vous savez, la plupart des gens qui font des placements en position fixe sont des “acheteurs sans cerveau”, mais cette stratégie, c’est comme si vous aviez un assistant d’investissement super intelligent! Elle ajuste le montant de chaque achat en fonction des conditions du marché, passant progressivement de 5% au début à 100% au maximum.

Les quatre indicateurs techniques combinés, les tendances du marché sont visibles

Cette stratégie utilise une combinaison de quatre indicateurs techniques:

  • La moyenne de l’EMA est en train de s’effondrerL’inflation est un phénomène très récurrent dans le monde, mais il n’y a pas d’indications sur la façon dont elle va évoluer.
  • MACDLe “moniteur de pluie” de la dynamique du marché, qui détermine le moment de l’achat et de la vente
  • RSILe thermomètre, un produit de vente en survente, évitera les hauts et les bas
  • La ceinture de BrinLa “zone de sécurité” pour les fluctuations des prix: comment juger de la résistance au soutien

Ces quatre indicateurs s’associent pour former une sorte de “l’alliance des Vengeurs”, où chaque section a ses devoirs mais coopère avec le silence !

La logique de l’hypothèque de plus en plus intelligente

Le plus gros problème avec le placement ordinaire est qu’il ne contrôle pas la position, et cette stratégie est plus intelligente:

  • Pour la première fois, j’ai acheté avec 5% pour tester l’eau.
  • Chaque hausse de 2,5%
  • Plus le prix baisse, plus l’écart entre les gains est grand (de 2%, 6%, 10%…)
  • Pas plus de 100% du capital total à une seule fois

C’est un peu comme jouer à une mise à niveau de jeu: plus vous êtes en retard, plus vous investissez, mais les risques sont maîtrisés à mort !

La stratégie de l’économie de marché est la suivante: arrêtez votre perte, laissez courir vos profits, arrêtez vos pertes.

La stratégie est de vendre la logique de la surhumainité:

  • Il faut au moins 2% de profit pour envisager de vendreIl y a des gens qui ne sont pas prêts à faire “un travail difficile pour rien”.
  • La tendance s’est détériorée en temps vouluLe blogueur a écrit sur son blog:
  • La baisse de 2% des prix a déclenché une venteLa protection des bénéfices ne revient pas
  • Limite de rupture réglablePar défaut, 100% (pas de déclenchement), mais vous pouvez l’ajuster en fonction de votre tolérance au risque.

En termes simples, la stratégie est “Ne soyez jamais lâche quand il s’agit de gagner de l’argent, et ne soyez jamais amoureux quand il s’agit de courir !”

||

🤖 This Isn’t Ordinary DCA - It’s a Thinking DCA Robot!

You know what? Most people do dollar-cost averaging like mindless “buy-buy-buy” machines, but this strategy is like having a super-smart investment assistant! It adjusts the purchase amount based on market conditions, starting from 5% and gradually increasing up to 100%. It’s like shopping at a farmers market - buy more when it’s cheap, buy less when it’s expensive. Simple, brutal, but incredibly effective!

📊 Four Technical Indicators Working as a Team

Key point! This strategy uses a combination of four technical indicators:

  • Fast/Slow EMA: Like the market’s “heartbeat monitor,” showing trend direction
  • MACD: The market momentum “barometer” for timing entries and exits
  • RSI: The overbought/oversold “thermometer” to avoid chasing highs and selling lows
  • Bollinger Bands: Price volatility “safety zones” for support and resistance

These four indicators work together like assembling the “Avengers” - each has their role but they coordinate perfectly!

💡 Smart Pyramiding Logic: Buy More as It Drops

Pitfall alert! The biggest problem with regular DCA is poor position sizing control. This strategy is much smarter:

  • Initial purchase uses 5% of capital to test the waters
  • Each additional purchase increases by 2.5%
  • The more price drops, the larger the spacing between purchases (2%, 6%, 10%…)
  • Maximum single investment never exceeds 100% of total capital

It’s like leveling up in a video game - the investment gets bigger as you progress, but risk is tightly controlled!

🎯 Smart Take-Profit and Stop-Loss: Let Profits Run, Cut Losses Short

This strategy’s exit logic is super user-friendly:

  • Minimum 2% profit before considering sale: No more “working hard for nothing”
  • Exit when trend weakens: Take profits while you can, secure the gains
  • 2% price drop triggers sell signal: Protect profits from giving back
  • Configurable stop-loss: Though default is 100% (basically never triggered), you can adjust based on risk tolerance

Simply put, this strategy is “ruthless when making money, decisive when it’s time to run”!

[/trans]

Code source de la stratégie
// This Pine Script™ code is subject to the terms of the MPL 2.0 at https://mozilla.org/MPL/2.0/
// © MTB by Neurodoc
// By Nicolás Astorga

//@version=5
strategy("Master Trading Bot by Neurodoc", 
         shorttitle="MTB Adaptation", 
         overlay=true, 
         initial_capital=10000, 
         pyramiding=100,
         commission_value=0.1, 
         commission_type=strategy.commission.percent,
         default_qty_type = strategy.cash)

// —————— CONFIGURATION (Based on ve.env) ——————
// Purchase and DCA Percentages
var GRP_DCA = "DCA Configuration"
start_percentage = input.float(5.0, "Initial Buy Percentage (%)", group=GRP_DCA)
increment_percentage = input.float(2.5, "DCA Increment per Buy (%)", group=GRP_DCA)
max_percentage = input.float(100.0, "Maximum Buy Percentage (%)", group=GRP_DCA)
min_profit_percent = input.float(2.0, "Minimum Profit Percentage for Sell (%)", group=GRP_DCA)

// Stop Loss and Drop Signal
var GRP_RISK = "Risk Management"
stop_loss_percent = input.float(100.0, "Stop Loss (%)", group=GRP_RISK, tooltip="A value of 100 means there is effectively no stop loss, as the price would have to go to zero.")
drop_percent_signal = input.float(2.0, "Price Drop Signal (%)", group=GRP_RISK)

// Indicator Parameters
var GRP_INDICATORS = "Indicator Parameters"
ema_fast_period = input.int(3, "Fast EMA", group=GRP_INDICATORS)
ema_mid_period = input.int(7, "Medium EMA", group=GRP_INDICATORS)
ema_slow_period = input.int(18, "Slow EMA", group=GRP_INDICATORS)
bb_length = input.int(20, "Bollinger Bands Length", group=GRP_INDICATORS)
bb_stddev = input.float(2.0, "Bollinger Bands Std Dev", group=GRP_INDICATORS)
macd_fast = input.int(52, "MACD Fast", group=GRP_INDICATORS)
macd_slow = input.int(200, "MACD Slow", group=GRP_INDICATORS)
macd_signal = input.int(3, "MACD Signal", group=GRP_INDICATORS)
rsi_length = input.int(14, "RSI Length", group=GRP_INDICATORS)
rsi_oversold_threshold = input.int(25, "RSI Oversold (for divergence)", group=GRP_INDICATORS)

// —————— INDICATOR CALCULATIONS ——————
// EMAs
ema_fast = ta.ema(open, ema_fast_period)
ema_mid = ta.ema(open, ema_mid_period)
ema_slow = ta.ema(open, ema_slow_period)

// Bollinger Bands
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_stddev)
bb_width = (bb_upper - bb_lower) / bb_middle * 100
is_bb_expanding = bb_width > bb_width[1]

// MACD
[macd_line, signal_line, _] = ta.macd(close, macd_fast, macd_slow, macd_signal)

// RSI
rsi = ta.rsi(close, rsi_length)

// Price drop signal from recent highest price (equivalent to `cummax` in Python)
highest_price = ta.highest(high, 500) // 500-bar lookback as an approximation of all-time high
price_drop_percent = ((highest_price - close) / highest_price) * 100
is_price_drop_signal = price_drop_percent >= drop_percent_signal

// —————— TRADING LOGIC ——————
// Trend Conditions
is_bullish = ema_fast > ema_slow and macd_line > signal_line and close > bb_middle
is_bearish = ema_fast < ema_slow and macd_line < signal_line and close < bb_middle
is_weakening = rsi < rsi[1]

// Strategy state variables
var bool just_sold = false
var int dca_step = 0

// Determine the capital percentage for the next buy
dca_buy_percentage = start_percentage + (dca_step * increment_percentage)
if dca_buy_percentage > max_percentage
    dca_buy_percentage := max_percentage

avg_buy_price = strategy.position_avg_price

// Long Entry Condition
// Initial Buy (no open position)
long_signal_initial = strategy.position_size == 0 and is_bullish and macd_line > signal_line and rsi < 65

// DCA (if already in position)
price_drop_from_avg = ((avg_buy_price - close) / avg_buy_price) * 100
dca_required_drop = 2.0 + (dca_step * 4.0) // Logic equivalent to DCA_PRICE_DROP_START and INCREMENT
long_signal_dca = strategy.position_size > 0 and is_bearish and close < avg_buy_price and price_drop_from_avg >= dca_required_drop

// Manage `just_sold` state
if strategy.position_size > 0
    just_sold := false
if strategy.position_size == 0 and strategy.position_size[1] > 0
    just_sold := true

// Avoid immediate rebuying after selling unless strong bullish condition
long_signal = (just_sold and is_bullish) ? long_signal_initial : (not just_sold ? (long_signal_initial or long_signal_dca) : false)

// Sell/Close Condition
current_profit_percent = ((close - avg_buy_price) / avg_buy_price) * 100
has_min_profit = current_profit_percent >= min_profit_percent
stop_loss_price = avg_buy_price * (1 - stop_loss_percent / 100)
is_stoploss_triggered = close <= stop_loss_price

short_signal = strategy.position_size > 0 and has_min_profit and ((is_bearish and is_weakening) or is_price_drop_signal or is_stoploss_triggered or (macd_line < signal_line))

// —————— ORDER EXECUTION ——————

if (long_signal)
    // Calculate how much money (e.g., USDT) to invest in this trade
    cash_to_invest = (strategy.equity * dca_buy_percentage / 100) / close
    strategy.entry("Buy", strategy.long, qty=cash_to_invest) // "qty" represents a cash-based position
    dca_step := dca_step + 1
        
if (short_signal)
    strategy.close_all(comment="Sell")
    dca_step := 0 // Reset DCA counter upon selling

// —————— CHART VISUALIZATION ——————
// Background color by trend
bgcolor(is_bullish ? color.new(color.green, 90) : is_bearish ? color.new(color.red, 90) : na)

// Plot EMAs and Bollinger Bands
plot(ema_fast, "Fast EMA", color.blue)
plot(ema_slow, "Slow EMA", color.orange)
p1 = plot(bb_upper, "Upper BB", color=color.gray)
p2 = plot(bb_lower, "Lower BB", color=color.gray)
fill(p1, p2, color=color.new(color.gray, 90))

// Plot average buy price if position is open
plot(strategy.position_size > 0 ? avg_buy_price : na, "Average Buy Price", color.yellow, style=plot.style_linebr, linewidth=2)

// Plot take-profit target
plot(strategy.position_size > 0 ? avg_buy_price * (1 + min_profit_percent / 100) : na, "Sell Target (TP)", color.aqua, style=plot.style_linebr, linewidth=2)

// Plot stop loss level
plot(strategy.position_size > 0 ? stop_loss_price : na, "Stop Loss", color.fuchsia, style=plot.style_linebr, linewidth=2)