Stratégie de trading de jeu à moyenne mobile avec bande de volatilité à double ligne


Date de création: 2023-10-07 15:30:27 Dernière modification: 2023-10-07 15:30:27
Copier: 0 Nombre de clics: 627
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie utilise l’indicateur de la bande de Brin et l’indicateur de la ligne moyenne, associés à des signaux de négociation spéciaux, pour effectuer des transactions en ligne courte.

Le principe

La stratégie est principalement composée des éléments suivants:

  1. Indicateur de la ceinture de Brin Les prix de clôture et leurs écarts standards génèrent des hauts et des bas de la trajectoire. Les prix de clôture sont plus élevés quand ils sont proches de la hauteur de la trajectoire et plus élevés quand ils sont proches de la basse.

  2. Indicateur de la ligne moyenne Calculer la moyenne mobile à 21 jours de l’indice et faire plus de signaux de couverture avec les prix croisés.

  3. Signaux de négociation Utilisez des modèles de diagramme pour déterminer les points de basculement des prix, tels que les zones sombres au sommet et les zones claires au bas, et émettez un signal de transaction.

  4. Jeux en ligne Les transactions en deux lignes sont effectuées sur la base de signaux de croisement des bandes de Brin et de la ligne moyenne, c’est-à-dire que les cours des options et des options sont simultanément négociés.

Le principe est le suivant:

En fonction du point de retournement possible de la courbe de Brin sur la trajectoire ascendante et descendante, regardez vers le haut lorsque le prix est proche de la trajectoire ascendante et regardez vers le bas lorsque le prix est proche de la trajectoire descendante. En même temps, calculez la moyenne du 21e jour de l’EMA, avec le prix générant une fourche dorée, la fourche morte regarde vers le haut.

Cette stratégie est combinée avec des signaux de Brin, de la moyenne et de la courbe, ce qui améliore l’efficacité de la prise de décision. L’avantage est que plusieurs signaux sont vérifiés, il n’est pas facile de manquer les points de basculement, ce qui améliore la probabilité de gagner.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Une approche globale des signaux multiples pour une meilleure prise de décision

La stratégie utilise les trois indicateurs de la bande de Brin, de la ligne moyenne et du signal de coude pour se vérifier mutuellement et juger de manière globale de la direction de la transaction finale. Cela permet de filtrer les faux signaux et d’éviter les erreurs de transaction.

  1. La réaction rapide et le virage à ne pas manquer

Cette stratégie, combinée à des indicateurs tels que les bandes de Brin et la ligne de parité, permet d’identifier rapidement les points de retournement possibles, de prendre des décisions de négociation en temps opportun et de ne pas manquer les opportunités de retournement du marché.

  1. Opérations en double ligne pour augmenter les chances de gagner

L’utilisation d’une méthode de pari à deux lignes et la possession de billets blancs et blancs permet de réaliser des bénéfices en cas de forte fluctuation du marché dans n’importe quelle direction, réduisant ainsi le risque d’une tendance unilatérale et augmentant la probabilité de profit.

  1. Convient pour les transactions à court terme et est flexible sur le marché

La stratégie utilise des courts cycles de Brin et de la ligne moyenne comme référence pour capturer les tendances de la courte ligne, convient aux transactions fréquentes de la courte ligne et peut faire face aux fluctuations fréquentes du marché.

  1. Disponible immédiatement, facile à utiliser

Les stratégies sont présentées sous forme de code complet et peuvent être utilisées directement pour le trading sur le marché réel. Le choix des indicateurs et des paramètres est rationnel et convient parfaitement à un trader individuel pour une utilisation simple et rapide.

Analyse des risques

Cette stratégie présente également les risques suivants:

  1. Des pertes consécutives sont possibles

En cas de choc, il est possible que les signaux de descente, d’équilibre et de clignotement de la ceinture de Brin se croisent fréquemment. Cela peut entraîner des arrêts de stratégie en continu. Il est recommandé d’ajuster les paramètres de manière appropriée pour assurer un arrêt raisonnable.

  1. Les deux lignes sont plus risquées.

Il est recommandé de réduire le pourcentage de fonds pour chaque transaction afin d’assurer la maîtrise du risque global.

  1. Les opérations de raccourcis doivent être étroitement surveillées

Les opérations en ligne courte nécessitent une exposition continue et ne peuvent pas être laissées hors de l’interface de trading pendant une longue période. Il est recommandé d’adopter une stratégie de stop-stop-loss pour éviter des pertes supérieures aux attentes.

  1. Limite d’optimisation des paramètres

L’optimisation des paramètres des bandes de brine et des lignes moyennes est limitée et nécessite une adaptation et une application flexibles en fonction du marché.

  1. La nécessité de s’adapter à des graphiques communs ne peut pas être clairement jugée

Cette stratégie s’appuie en partie sur les signaux d’urticaire, mais certaines urticaires communes ne peuvent pas être clairement détectées et nécessitent une prise de décision en combinaison avec d’autres indicateurs.

Direction d’optimisation

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

  1. Intégrer plus de signaux

D’autres indicateurs, tels que KD, MACD, peuvent être envisagés pour enrichir les sources de signaux de négociation et améliorer l’exactitude des décisions.

  1. Augmenter le jugement de l’apprentissage automatique

Les algorithmes d’apprentissage automatique analysent automatiquement une grande quantité de données historiques pour compléter ou remplacer certains signaux d’indicateurs, réduisant ainsi l’intervention humaine.

  1. Optimiser les stratégies de stop loss

Il est possible de définir une marge d’arrêt adaptative pour resserrer progressivement le stop après avoir atteint un certain gain. Il est également possible de définir un trailing stop ou d’ajuster progressivement la position de stop en fonction de la période, afin de réduire le risque de perte.

  1. Optimisation de la gestion des fonds

Il est possible d’optimiser le ratio de distribution des capitaux en fonction des conditions du marché, de contrôler les positions, etc.

  1. Système d’analyse quantitative combiné

L’optimisation des paramètres stratégiques par des tests répétitifs, en utilisant des retours quantifiés et des transactions simulées, et l’aide à la prise de décision en temps réel, améliorent la stabilité.

  1. Ajout de fonctionnalités de trading automatique

Selon les résultats du test de retour, paramétrer la stratégie et ajouter un système de trading automatique pour réaliser des transactions sans surveillance.

Résumer

Cette stratégie intègre les bandes de Brin, l’indicateur d’équilibre et les signaux d’alarme, formant une stratégie de négociation qui est vérifiée plusieurs fois. L’utilisation d’une méthode de jeu à deux lignes peut améliorer la probabilité de gagner. La stratégie réagit rapidement et convient aux transactions fréquentes sur les lignes courtes.

Code source de la stratégie
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Design by MrPhu in August,10,2018
strategy("TrumpShipper_Long_Short V26", overlay=true)
filterFractals = input(true, title=" Follow Code #Trump On/Off")
dt = 0.0001
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]

if (prediction)
    strategy.exit("Close", "Short ")
    strategy.entry("Long ", strategy.long)

if (not prediction)
    strategy.exit("Close", "Long ")
    strategy.entry("Short ", strategy.short)
///////////Bollinger Band///////////////
length = 20
crc = close, title="Source"
mult = 2.0
basis = sma(crc, length)
dev = mult * stdev(crc, length)
upper = basis + dev
lower = basis - dev
spanColor = prediction ? green : red, transp=90

p1 = plot(upper, title="Short", style=line, linewidth=1, color=spanColor)
p2 = plot(lower, title="Long", style=line, linewidth=1, color=spanColor)

fill(p1, p2, color=spanColor, transp=90, title="Fill")

/////////////
Optional_TimeFrame = 'D'

M_HIGH = request.security(syminfo.tickerid, Optional_TimeFrame, high)
M_OPEN = request.security(syminfo.tickerid, Optional_TimeFrame, open)
M_LOW = request.security(syminfo.tickerid, Optional_TimeFrame, low)

H_RANGE = M_HIGH-M_OPEN
L_RANGE = M_OPEN-M_LOW

H_236 = M_HIGH - H_RANGE * 0.236
H_382 = M_HIGH - H_RANGE * 0.382
H_500 = M_HIGH - H_RANGE * 0.500
H_618 = M_HIGH - H_RANGE * 0.618
H_764 = M_HIGH - H_RANGE * 0.764

L_236 = M_LOW + L_RANGE * 0.236
L_382 = M_LOW + L_RANGE * 0.382
L_500 = M_LOW + L_RANGE * 0.500
L_618 = M_LOW + L_RANGE * 0.618
L_764 = M_LOW + L_RANGE * 0.764

pl1=plot(M_HIGH, color=M_HIGH != M_HIGH[1] ?na:black, style=line, linewidth=1, transp=80)

pl2=plot(H_236, color=H_236 != H_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl3=plot(H_382, color=H_382 != H_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl4=plot(H_500, color=H_500 != H_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl5=plot(H_618, color=H_618 != H_618[1] ?na:gray, style=line, linewidth=1, transp=80)
pl6=plot(H_764, color=H_764 != H_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl7=plot(M_OPEN, color=M_OPEN != M_OPEN[1] ?na:blue, style=line, linewidth=2)

pl8=plot(L_236, color=L_236 != L_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl9=plot(L_382, color=L_382 != L_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl10=plot(L_500, color=L_500 != L_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl11=plot(L_618, color=L_618 != L_618[1] ?na:black, style=line, linewidth=1, transp=80)
pl12=plot(L_764, color=L_764 != L_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl13=plot(M_LOW, color=M_LOW != M_LOW[1] ?na:black, style=line, linewidth=1, transp=80)

SHOW_MA = false
MA_SRC = hlc3
MA_LENGTH = 21

_MA = ema(MA_SRC, MA_LENGTH)
pl14=plot(not SHOW_MA ? na : _MA, color=teal, linewidth=2)

SHOW_SIGNALS = true

BUYX(_F) => cross(_F, MA_SRC) and rising(_MA, 1)
SELX(_F) => cross(_F, MA_SRC) and falling(_MA, 1)

SEL_SIGNAL = SELX(H_236) or SELX(H_382) or SELX(H_500) or SELX(H_618) or SELX(H_764) or SELX(L_236) or SELX(L_382) or SELX(L_500) or SELX(L_618) or SELX(H_764)

BUY_SIGNAL = BUYX(H_236) or BUYX(H_382) or BUYX(H_500) or BUYX(H_618) or BUYX(H_764) or BUYX(L_236) or BUYX(L_382) or BUYX(L_500) or BUYX(L_618) or BUYX(H_764)

//================= Chart 30m =================/////
//Jurij
h_left = 10
h_right = 10
//barCount = nz(barCount[1]) + 1
//check history and realtime PTZ
h_left_low = lowest(h_left)
h_left_high = highest(h_left)
newlow = low <= h_left_low
newhigh = high >= h_left_high
central_bar_low = low[h_right + 1]
central_bar_high = high[h_right + 1]
full_zone_low = lowest(h_left + h_right + 1)
full_zone_high = highest(h_left + h_right + 1)
central_bar_is_highest = central_bar_high >= full_zone_high
central_bar_is_lowest = central_bar_low <= full_zone_low
plotchar(central_bar_is_highest ? -1 : 0, offset=-h_right-1 ,color=red, text="Top")
plotchar(central_bar_is_lowest ? 1 : 0, offset=-h_right-1 ,location=location.belowbar, color=green, text="Bottom")