Basé sur une stratégie d'arbitrage à double retournement


Date de création: 2024-02-06 09:58:04 Dernière modification: 2024-02-06 09:58:04
Copier: 2 Nombre de clics: 689
1
Suivre
1617
Abonnés

Basé sur une stratégie d’arbitrage à double retournement

Aperçu

La stratégie d’arbitrage à double inversion est une stratégie d’arbitrage qui combine deux indicateurs à double inversion. Elle intègre le système de 123 inversions et les deux sous-stratégies de l’indicateur d’oscillation de la ligne de balancement de Gann, produisant un signal de transaction lorsque les deux sous-stratégies émettent des signaux simultanément, permettant l’arbitrage.

Principe de stratégie

Cette stratégie est composée de deux sous-stratégies:

  1. Le système inverse: il est dérivé de Ulf Jensen’s Comment gagner trois fois plus sur le marché à terme page 183. Ses règles de négociation sont les suivantes: lorsque le prix de clôture est supérieur au prix de clôture du jour précédent et inférieur au prix de clôture des deux jours précédents, faire plus lorsque la ligne K lente est inférieure à 50; lorsque le prix de clôture est inférieur au prix de clôture du jour précédent et supérieur à la ligne K rapide lorsque la ligne K rapide est supérieure à 50.

  2. L’indicateur d’oscillation de la ligne de Gann: il est dérivé de la découverte de Robert Krausz dans W.D. Gann’s Treasure Chest. Il détermine la direction des fluctuations du marché en calculant les hautes et les basses des prix au cours d’une période donnée.

La logique de négociation de cette stratégie de arbitrage est la suivante: un signal de négociation réel est généré lorsque les signaux des deux sous-stratégies sont alignés. Un signal de multiplication est lorsque les deux sous-stratégies émettent simultanément des signaux de multiplication; un signal de blanchiment est lorsque les deux sous-stratégies émettent simultanément des signaux de blanchiment.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans l’intégration des signaux des deux sous-stratégies, permettant de filtrer efficacement les faux signaux et d’améliorer l’exactitude des signaux de négociation. Les deux sous-stratégies ont leurs propres avantages. Le système de retournement 123 peut saisir les retournements soudains, tandis que l’indicateur d’oscillation de la ligne de Gann peut déterminer la maturité du retournement de la tendance.

Analyse des risques

Le principal risque de cette stratégie est que les deux sous-stratégies émettent des signaux de négociation de direction incohérente est plus probable, ce qui entraîne moins de signaux de négociation. En outre, la sous-stratégie elle-même peut être un certain risque de faux signaux.

Pour réduire le risque, il est possible d’ajuster les paramètres d’une sous-stratégie afin d’augmenter la fréquence de négociation de manière appropriée, ou de filtrer les faux signaux en combinaison avec d’autres indicateurs pour aider à juger. Il est également possible de considérer de ne suivre que la partie la plus fiable lorsqu’il existe un écart de signal important entre les deux sous-stratégies.

Direction d’optimisation

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

  1. Pour cela, il est nécessaire d’adapter les paramètres de la sous-stratégie afin d’optimiser la fréquence des transactions.
  2. L’augmentation de la qualité des signaux grâce à l’ajout d’autres indicateurs techniques;
  3. Le poids des stratégies de sous-optimisation selon les variétés et les cycles;
  4. L’adhésion à un mécanisme d’arrêt des pertes pour contrôler les pertes individuelles.

Résumer

La stratégie de double arbitrage inverse forme un signal de négociation plus fort en intégrant deux types de stratégies de revers. Elle permet d’éliminer efficacement le bruit, d’améliorer la qualité du signal et de capturer les opportunités de revers dans le marché. Cependant, les sous-stratégies émettent des signaux incohérents avec une plus grande probabilité, ce qui peut entraîner des problèmes d’insuffisance de fréquence de négociation.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
GannSO(Length) =>
    pos = 0.0
    xGSO = 0.0
    xHH = highest(Length)
    xLL = lowest(Length)
    xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1,
             iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0)))
    pos := iff(xGSO > 0, 1,
    	     iff(xGSO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Gann Swing Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthGSO = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posGannSO = GannSO(LengthGSO)
pos = iff(posReversal123 == 1 and posGannSO == 1 , 1,
	   iff(posReversal123 == -1 and posGannSO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )