Méthode de suivi intelligente par balayage à point bas


Date de création: 2023-11-01 16:12:00 Dernière modification: 2023-11-01 16:12:00
Copier: 2 Nombre de clics: 650
1
Suivre
1617
Abonnés

Méthode de suivi intelligente par balayage à point bas

Aperçu

Le suivi intelligent de scanner de basse est une stratégie de trading Forex non rétrograde. Il utilise un scanner de basse pour trouver le point le plus bas et combiné avec la moyenne mobile de Hull pour juger des signaux de négociation, ce qui permet de réaliser un taux de victoire élevé.

L’analyse des principes

La stratégie commence par rechercher le point le plus bas avec un scanner de basse. Le scanner de basse calcule le RSI en fonction du prix et du volume de transactions, puis le compare à sa courbe WMA pour juger que le RSI est le point le plus bas lorsque celui-ci est inférieur au WMA.

Ensuite, la stratégie utilise la moyenne mobile de Hull pour juger des signaux de négociation. Elle calcule la Hull MA de deux périodes différentes, faisant plus lorsque la Hull MA de la période courte est sur la Hull MA de la période longue et vide lorsque la Hull MA de la période basse est sur la Hull MA de la période longue.

Finalement, la stratégie combine le scan du point le plus bas avec le signal de la Hull MA, et n’émet le signal de transaction de la Hull MA que lorsque le scanner du point le plus bas donne le signal du point le plus bas, formant une stratégie d’entrée.

Ainsi, en identifiant les points bas du marché et en suivant la tendance, il est possible d’éviter efficacement les moments d’entrée erronés et d’améliorer le taux de réussite du système de négociation.

Analyse des avantages

Les principaux avantages de l’intelligent tracking basse-fonction sont:

  1. L’utilisation d’un scanner de points bas permet d’identifier avec précision les points bas du marché et d’éviter les chocs d’achat aux points hauts.

  2. Le Hull MA est un excellent indicateur de suivi des tendances qui permet de capturer les tendances les plus importantes au hasard.

  3. La combinaison de l’analyse de basse fréquence et de la mutuelle vérification Hull MA permet de filtrer une grande quantité de bruit et de réduire les faux signaux.

  4. Le système d’arrêt progressif des pertes permet de bloquer au maximum les bénéfices et d’éviter les retours.

  5. Cette stratégie est non réactionnaire, elle ne manipule pas les données historiques, elle est authentique et fiable.

Analyse des risques

La stratégie présente principalement les risques suivants:

  1. Le scanner de point le plus bas peut manquer certains points le plus bas, ce qui entraîne des opportunités de transactions manquées. Les paramètres peuvent être ajustés de manière appropriée pour élargir la portée du scan.

  2. Il est possible que la situation se retourne et que le stop-loss soit frappé. Il est possible d’assouplir la portée du stop-loss et de contrôler raisonnablement la taille de la position.

  3. Une mauvaise configuration des paramètres peut entraîner un trop grand nombre ou un trop petit nombre de signaux de transaction. Il faut optimiser plusieurs fois pour trouver la combinaison optimale de paramètres.

  4. Cette stratégie ne s’applique qu’aux variétés de Forex qui ont une tendance évidente et ne convient pas aux transactions sur les marchés de rattrapage ou de volatilité.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimiser les paramètres du scanner de basse afin qu’il puisse identifier plus précisément le point le plus bas.

  2. Optimisation des paramètres de l’AM de Hull afin de suivre les tendances avec plus de précision.

  3. L’ajout de filtres pour d’autres indicateurs, tels que MACD, KDJ, etc., améliore la fiabilité du signal.

  4. L’augmentation des résultats prédictifs des modèles d’apprentissage automatique, qui aident à juger les signaux de trading.

  5. Optimisation du mécanisme de coupe-perte, permettant une adaptation dynamique à la volatilité du marché.

  6. Optimisation des stratégies de gestion des positions, permettant au système d’ajuster dynamiquement les positions en fonction des règles de gestion des fonds.

Résumer

Le suivi intelligent de scan de bas est une stratégie de trading Forex non rétrograde à haut taux de victoire. Il est capable d’identifier avec précision les points bas du marché, d’entrer en cours lorsque la tendance est claire et d’utiliser un arrêt de perte progressif pour verrouiller les bénéfices. La stratégie a une grande marge d’optimisation et peut être améliorée dans de nombreux domaines, ce qui en fait un puissant système de trading automatique.

Code source de la stratégie
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-25 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster 2020

//@version=4
// strategy(title = "Low Scanner Forex strategy", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(1440)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("W", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(60)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("W", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
// Time period input
testStartYear = input(2016, "BACKTEST START YEAR", minval = 1980, maxval = 2222) 
testStartMonth = input(06, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222)
testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12)
testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
l = crossover(zx,0) or buy
        
if l and testPeriod
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=25, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=0.5, minval=0.01)
tp2=input(title=" Take profit2", defval=1, minval=0.01)
tp3=input(title=" Take profit3", defval=1.5, minval=0.01)
tp4=input(title=" Take profit4", defval=2, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)