La pérdida máxima para cada operación está limitada al 3% del valor total de la cuenta.
En el caso de las posiciones que no se clasifican en el modelo de referencia, el valor de las posiciones se clasificará en el modelo de referencia de las posiciones que se clasifican en el modelo de referencia.
Esto controla efectivamente el riesgo por comercio.
Las señales de salida principales:
Cuando ocurre cualquiera de las señales, la posición se cierra.
La pérdida máxima fija por operación protege el capital al controlar directamente el nivel de riesgo comercial.
La estrategia funciona bien en mercados con tendencias obvias. En entornos complejos y volátiles, el uso de EMA para la tendencia puede tener limitaciones. También el RSI tiene algún efecto de retraso, que necesita confirmación de la acción real del precio.
La colocación de pérdidas de parada es crítica para PnL, necesitando pruebas cuidadosas para diferentes mercados. Si es demasiado amplia, la pérdida individual puede expandirse; si es demasiado apretada, el ruido puede desencadenar paradas no deseadas. Se requiere prueba en vivo para la optimización continua.
Prueba de diferentes parámetros de RSI para adaptarse a más mercados. Encontrar proporciones óptimas de tamaño de comercio. Añadir otros indicadores técnicos para construir sistemas de entrada / salida más robustos. Estas son opciones que vale la pena explorar.
/*backtest start: 2023-10-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stratégie RSI et EMA avec Gestion du Risque", overlay=true) // Paramètres de la stratégie rsiLength = input(14, "Longueur du RSI") rsiOverbought = input(70, "Niveau de Surachat RSI") rsiOversold = input(30, "Niveau de Survente RSI") // Calcul du RSI rsiValue = rsi(close, rsiLength) // Paramètres des EMA ema20 = ema(close, 20) ema50 = ema(close, 50) ema200 = ema(close, 200) // Paramètre du risque par trade riskPerTrade = input(0.03, "Risque par Trade (3%)") // Distance du stop-loss en pips (à ajuster selon votre stratégie) stopLossPips = input(1, "Distance du Stop-Loss en pips") // Calcul de la taille de position et du stop-loss calculatePositionSize(entryPrice, stopLossPips) => stopLossPrice = entryPrice - stopLossPips * syminfo.mintick riskPerTradeValue = strategy.equity * riskPerTrade positionSize = riskPerTradeValue / (entryPrice - stopLossPrice) positionSize // Conditions d'entrée longCondition = (rsiValue < rsiOversold) and (close > ema20 or close > ema50 or close > ema200) if longCondition strategy.entry("Long", strategy.long, qty=1) // Conditions de sortie exitCondition = (rsiValue > rsiOverbought) or (close < ema20 or close < ema50 or close < ema200) if exitCondition strategy.close("Long") // Affichage des EMA et RSI sur le graphique plot(ema20, color=color.red) plot(ema50, color=color.green) plot(ema200, color=color.blue) hline(rsiOverbought, "Niveau de Surachat RSI", color=color.red) hline(rsiOversold, "Niveau de Survente RSI", color=color.blue) plot(rsiValue, "RSI", color=color.purple)