Stratégie de recherche des hauts et des bas de l'oscillateur parabolique


Date de création: 2024-02-20 16:01:12 Dernière modification: 2024-02-20 16:01:12
Copier: 0 Nombre de clics: 355
1
Suivre
1237
Abonnés

Stratégie de recherche des hauts et des bas de l’oscillateur parabolique

Aperçu

Cette stratégie permet de déterminer les tendances et les fluctuations des prix en calculant les moyennes et les différences pour les différentes périodes, permettant ainsi d’identifier les hauts et les bas.

Principe de stratégie

La logique centrale de cette stratégie est de calculer les moyennes et les différences des différentes périodes récentes. Plus précisément, les moyennes ((ma, mb, mc) et les différences ((da, dB, dc) des 5e, 4e et 3e jours les plus récents sont calculées respectivement. Ensuite, les plus petites, choisissent la plus grande des différences.

Ainsi, lorsque le prix se transforme à la hausse ou à la baisse, les cycles et les écarts représentant la tendance changent considérablement. De cette façon, la sortie finale de WG change également considérablement, permettant d’identifier les hauts et les bas.

Analyse des avantages

Cette méthode de jugement basée sur les changements de tendance entre les cycles est efficace pour identifier clairement les points de basculement des prix. Comparée à une seule période de jugement, cette méthode combinant plusieurs cycles peut améliorer l’exactitude et la rapidité du jugement.

Les calculs de la moyenne et de la différence sont également très simples, efficaces, peu codés et très sensibles aux fluctuations soudaines des prix, ce qui permet de détecter rapidement les ruptures.

Analyse des risques

Les cycles utilisés dans cette stratégie sont courts et le jugement peut ne pas être suffisamment précis et complet pour les lignes moyennes et longues. Les fluctuations de prix à court terme peuvent conduire à des erreurs de jugement.

En outre, les réglages de poids de la moyenne et de la différence de carré peuvent également affecter l’effet du jugement, et si le poids est mal réglé, le signal peut être déformé.

Direction d’optimisation

On peut essayer d’ajouter plus de calculs de différentes périodes pour constituer un ensemble de périodes, ce qui rend le jugement plus complet. Par exemple, ajouter des périodes de 10 jours, 20 jours, etc. à des périodes moyennes et longues.

Il est également possible d’expérimenter différents réglages de poids, ce qui améliore la flexibilité des réglages de poids. L’ajout d’optimisations de paramètres permet aux poids de s’ajuster automatiquement en fonction de l’environnement du marché, ce qui réduit la probabilité d’erreurs de jugement.

En outre, d’autres indicateurs, tels que l’abnormalité du volume des transactions, peuvent être combinés pour éviter d’être induits en erreur par les transactions arbitraires.

Résumer

L’idée générale de la stratégie est claire et compréhensible. Elle utilise les courbes de la moyenne et de la différence pour déterminer la tendance et la volatilité des prix, puis les sorties combinées permettent d’identifier clairement les hauts et les bas de la courbe. Cette méthode basée sur la détermination de la combinaison de plusieurs périodes permet d’obtenir efficacement les caractéristiques à long terme du marché et d’améliorer l’exactitude de la détermination des points de basculement.

Code source de la stratégie
/*backtest
start: 2024-02-12 00:00:00
end: 2024-02-19 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("x²", overlay=false)


a1=(close[2]-close[3])/1
a2=(close[1]-close[3])/4
a3=(close[0]-close[3])/9

b1=(close[3]-close[4])/1
b2=(close[2]-close[4])/4
b3=(close[1]-close[4])/9
b4=(close[0]-close[4])/16

c1=(close[4]-close[5])/1
c2=(close[3]-close[5])/4
c3=(close[2]-close[5])/9
c4=(close[1]-close[5])/16
c5=(close[0]-close[5])/25

ma=(a1+a2+a3)/3
da=(a1-ma)*(a1-ma)
da:=da+(a2-ma)*(a2-ma)
da:=da+(a3-ma)*(a3-ma)
da:=sqrt(da)
da:=min(2, da)
da:=1-da/2
da:=max(0.001, da)


mb=(b1+b2+b3+b4)/4
db=(b1-mb)*(b1-mb)
db:=db+(b2-mb)*(b2-mb)
db:=db+(b3-mb)*(b3-mb)
db:=db+(b4-mb)*(b4-mb)
db:=sqrt(db)
db:=min(2, db)
db:=1-db/2
db:=max(0.001, db)

mc=(c1+c2+c3+c4+c5)/5
dc=(c1-mc)*(c1-mc)
dc:=dc+(c2-mc)*(c2-mc)
dc:=dc+(c3-mc)*(c3-mc)
dc:=dc+(c4-mc)*(c4-mc)
dc:=dc+(c5-mc)*(c5-mc)
dc:=sqrt(dc)
dc:=min(2, dc)
dc:=1-dc/2
dc:=max(0.001, dc)



g=close
if(da>db and da>dc)
    g:=da*da*ma
else
    if(db > da and db > dc)
        g:=db*db*mb
    else
        g:=dc*dc*mc

wg=wma(g, 2)
plot(wg)
plot(0, color=black)


longCondition = true //crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = true //crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)