Suivi de taureaux


Date de création: 2024-01-31 11:01:45 Dernière modification: 2024-01-31 11:01:45
Copier: 1 Nombre de clics: 602
1
Suivre
1617
Abonnés

Suivi de taureaux

Aperçu

Le système de suivi de bull market est un système de trading mécanique basé sur le suivi des tendances. Il filtre les signaux de trading à l’aide d’indicateurs de tendance sur un graphique de 4 heures, tandis que les entrées sont jugées à l’aide d’indicateurs sur un graphique de 15 minutes. Les principaux indicateurs incluent le RSI, l’indicateur aléatoire et le MACD. L’avantage de ce système est qu’une combinaison de plusieurs périodes peut filtrer efficacement les faux signaux, tout en utilisant des indicateurs de périodes plus courtes pour obtenir des entrées plus précises.

Le principe

La logique centrale du système est de combiner des indicateurs de différentes périodes de temps pour identifier la direction de la tendance et l’heure d’entrée. Plus précisément, le RSI, l’indicateur aléatoire et l’EMA du graphique de 4 heures doivent être conformes pour juger de la direction de la tendance globale. Cela peut filtrer efficacement la plupart du bruit.

Les avantages

  1. Une combinaison de plusieurs périodes permettant de filtrer efficacement les faux signaux et d’identifier les principales tendances
  2. Indicateur de détail de 15 minutes, permettant d’obtenir une heure d’entrée plus précise
  3. Le portefeuille d’indicateurs utilise des indicateurs techniques traditionnels tels que le RSI, l’indicateur aléatoire et le MACD, qui sont faciles à comprendre et à optimiser.
  4. Le recours à des mesures rigoureuses de gestion des risques, telles que le blocage mStop, le stop loss et le tracking stop loss, permet de contrôler efficacement les risques liés à une seule transaction

Les risques

  1. Risque de sur-transaction. Le système est sensible aux courtes périodes de temps et peut générer un grand nombre de signaux de transaction, ce qui entraîne une sur-transaction.
  2. Risque de fausse percée. Les indicateurs de jugement à court terme peuvent être mal interprétés et générer de faux signaux de percée.
  3. Risque d’échec des indicateurs. Les indicateurs techniques sont eux-mêmes limités et peuvent échouer dans des situations extrêmes.

Par conséquent, il est possible d’optimiser le système dans les domaines suivants:

  1. Ajuster les paramètres de l’indicateur pour les rendre plus adaptés aux différents environnements de marché
  2. Augmentation des conditions de filtrage afin de réduire la fréquence des transactions et de prévenir la survente
  3. Optimiser les stratégies de stop-loss pour les rendre plus adaptées aux fluctuations du marché
  4. Test des combinaisons d’indicateurs pour trouver la meilleure solution

Résumer

Le système de suivi de bull market est un système de suivi de tendance mécanique très pratique dans son ensemble. Il utilise des indicateurs combinés sur plusieurs périodes pour identifier les tendances de marché et les moments clés d’entrée. Avec des paramètres raisonnables et des tests d’optimisation continus, le système peut s’adapter à la plupart des environnements de marché et obtenir un effet de rentabilité stable.

Code source de la stratégie
/*backtest
start: 2023-12-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("Cowabunga System from babypips.com", overlay=true)
// 4 Hour Stochastics
length4 = input(162, minval=1, title="4h StochLength"), smoothK4 = input(48, minval=1, title="4h StochK"), smoothD4 = input(48, minval=1, title="4h StochD")
k4 = sma(stoch(close, high, low, length4), smoothK4)
d4 = sma(k4, smoothD4)

//15 min Stoch
length = input(10, minval=1, title="15min StochLength"), smoothK = input(3, minval=1, title="15min StochK"), smoothD = input(3, minval=1, title="15min StochD")
k = sma(stoch(close, high, low, length), smoothK)
d= sma(k, smoothD)

//4 hour RSI
src1 = close, len1 = input(240, minval=1, title="4H RSI Length")
up1 = rma(max(change(src1), 0), len1)
down1 = rma(-min(change(src1), 0), len1)
rsi4 = down1 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up1 / down1))

//15 min RSI
src = close, len = input(9, minval=1, title="15M RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi15 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//MACD Settings
source = close
fastLength = input(12, minval=1, title="MACD Fast"), slowLength=input(26,minval=1, title="MACD Slow")
signalLength=input(9,minval=1, title="MACD Signal")
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 400, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600', title="My Defined Hours")

longCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
longCondition2 = rsi4 <= 80
longCondition3 = k4 >= d4 and k4 <= 80
longCondition4 = ema(close, 80) >= ema(close, 162)
allLongerLongs = longCondition1 and longCondition2 and longCondition3 and longCondition4

longCondition5 = rsi15 <= 80
longCondition6 = k >= d and k <= 80 and fastMA >= slowMA
longCondition7 = ema(close, 5) >= ema(close, 10)
allLongLongs = longCondition5 and longCondition6 and longCondition7

if crossover(close, ema(close, 5)) and allLongerLongs and allLongLongs
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
shortCondition2 = rsi4 >= 20
shortCondition3 = k4 <= d4 and k4 >= 20
shortCondition4 = ema(close, 80) <= ema(close, 162)
allShorterShorts = shortCondition1 and shortCondition2 and shortCondition3 and shortCondition4

shortCondition5 = rsi15 >= 20
shortCondition6 = k <= d and k >= 20 and fastMA <= slowMA
shortCondition7 = ema(close, 5) <= ema(close, 10)
allShortShorts = shortCondition5 and shortCondition6 and shortCondition7

if crossunder(close, ema(close,5)) and allShorterShorts and allShortShorts
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)