Stratégie de base de la boucle de moyenne mobile


Date de création: 2023-11-06 16:46:45 Dernière modification: 2023-11-06 16:46:45
Copier: 0 Nombre de clics: 682
1
Suivre
1617
Abonnés

Stratégie de base de la boucle de moyenne mobile

Aperçu

La stratégie de basculement de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de la courbe de

Principe de stratégie

Les stratégies de basculement de la moyenne utilisent le basculement de la moyenne de l’Ichimoku (Kijun Sen) comme référence pour la prise de décision. Le basculement de la moyenne est la moyenne calculée en fonction des prix les plus élevés et les plus bas d’un certain cycle.

En particulier, la stratégie détermine le cycle de la ligne de base en utilisant deux conditions: Base Long condition est le prix d’ouverture est inférieur à la ligne de base moyenne et le prix de clôture est supérieur à la ligne de base moyenne, ce qui signifie que la ligne de base est passée; Base Short condition est le prix d’ouverture est supérieur à la ligne de base moyenne et le prix de clôture est inférieur à la ligne de base moyenne, ce qui signifie que la ligne de base moyenne est passée.

Ainsi, la stratégie utilise le cycle de la moyenne de base pour capturer le point de basculement de la tendance des prix, ce qui permet le suivi de la tendance.

Analyse des avantages

Les stratégies de baseline ont les avantages suivants:

  1. Capturer les changements de tendance. La ligne moyenne de base est un bon reflet de la tendance des prix, son cercle représente un changement de tendance des prix, et la stratégie permet de capturer les points de basculement en temps opportun et de suivre la tendance.

  2. Le risque de retrait est contrôlable. La stratégie limite la portée des retraits par une moyenne de base, ce qui permet de mieux contrôler le risque de retrait que la simple stratégie de moyenne mobile.

  3. L’implémentation est simple. La stratégie ne nécessite qu’un seul indicateur de la moyenne de base, la logique est simple et facile à mettre en œuvre.

  4. La portée est large. Il peut être utilisé pour différents cycles et pour toutes sortes de transactions courantes.

  5. La stratégie nécessite uniquement des données sur les prix et ne nécessite pas un grand nombre de calculs d’indicateurs.

Analyse des risques

Les stratégies de baseline sont également à risque:

  1. Il est facile de générer trop de signaux de transaction. La présence de cycles fréquents de la moyenne de base peut entraîner des transactions trop fréquentes, augmentant les frais de transaction et la perte de points de glissement.

  2. La capacité de contrôle des retraits est limitée. La moyenne de base peut contrôler la portée des retraits dans une certaine mesure, mais les retraits peuvent être encore plus importants en cas de fortes fluctuations des prix.

  3. Facile à produire de faux signaux. Les courbes de basse moyenne qui traversent fréquemment les courbes de basse moyenne dans un court laps de temps peuvent produire de faux signaux. La direction d’entrée ne correspond pas à la tendance.

  4. L’effet est fortement lié à la variété. La moyenne de base fonctionne avec une grande variété d’effets, ce qui nécessite des paramètres d’ajustement pour la variété.

  5. Ne considère qu’un seul indicateur. Conçu sur un seul indicateur, il est vulnérable à la défaillance de l’indicateur.

La réponse:

  1. Optimiser les paramètres et réduire la fréquence des transactions.

  2. L’augmentation des stratégies de stop-loss et de stop-stop permettra de mieux contrôler les retraits.

  3. Ajouter un filtre pour éviter les faux signaux.

  4. Paramètres d’ajustement pour les variétés.

  5. Il s’agit de prendre des décisions en combinant plusieurs indicateurs.

Direction d’optimisation

Les stratégies d’inversion de la ligne de base peuvent être optimisées dans les domaines suivants:

  1. Renforcer la capacité de jugement de tendance. D’autres indicateurs de jugement de tendance peuvent être introduits, tels que le MACD, la ligne de Brin, etc., afin d’éviter les signaux erronés basés sur un seul indicateur.

  2. Optimiser les paramètres. Il est possible d’équilibrer la vitesse de gain et le taux de victoire en ajustant les paramètres de la ligne de base. Il est également possible de tester différentes stratégies de stop-loss.

  3. Introduction d’une fonction de volume des transactions. Filtrez les signaux en fonction du volume des transactions et évitez les signaux déraisonnables.

  4. Paramètres généraux de variétés multiples. Grâce à des méthodes telles que l’apprentissage automatique, obtenir une gamme de paramètres généraux pour différentes variétés, réduisant ainsi le travail de sélection manuelle.

  5. Optimiser le moment de l’admission. Vous pouvez introduire d’autres indicateurs de jugement et sélectionner le moment de l’admission le plus fort.

  6. Optimiser les stratégies de stop loss. Optimiser davantage les stratégies de stop loss, en réduisant les pertes inutiles dans la mesure du possible, dans le but de garantir la victoire.

  7. Introduction de mécanismes de gestion des risques. Adaptation des positions et des stratégies de stop loss en fonction des différentes conditions du marché, contrôle actif des risques.

Résumer

La stratégie de cycle de basse moyenne utilise le cycle de la courbe de base pour déterminer la tendance des prix, avec des avantages tels que la capture de la tendance, le retournement et le retrait contrôlables. Mais il existe également un risque de générer des signaux erronés, un contrôle limité du retrait.

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

//@version=4
strategy("Master VP","MVP",true)
        
//INDICATOR---------------------------------------------------------------------    
    //Average True Range (1. RISK)
atr_period = input(14, "Average True Range Period")
atr = atr(atr_period)

    //Ichimoku Cloud - Kijun Sen (2. BASELINE)
ks_period = input(20, "Kijun Sen Period")
kijun_sen = (highest(high, ks_period) + lowest(low,ks_period))/2
base_long = open < kijun_sen and close > kijun_sen
base_short = open > kijun_sen and close < kijun_sen

//TRADE LOGIC-------------------------------------------------------------------
    //Long Entry
    //if -> WPR crosses below -39 AND MACD line is less than signal line
l_en = base_long
    //Long Exit
    //if -> WPR crosses above -14
l_ex = close < kijun_sen
    //Short Entry
    //if -> WPR crosses above -39 AND MACD line is greater than signal line
s_en = base_short
    //Short Exit
    //if -> WPR crosses under -14
s_ex = close > kijun_sen
strategy.initial_capital = 50000
//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(4,"Risk %")/100           //risk % per trade
equity_protector = input(30,"Equity Protection %")/100  //equity protection %
stop = atr*100000*input(1.5,"Average True Range multiplier")    //Stop level
target = input(100, "Target TP in Points")  //TP level
    //Calculate current DD and determine if stopout is necessary
equity_stopout = false
if(floating<0 and abs(floating/balance)>equity_protector)
    equity_stopout := true
    
    //Calculate the size of the next trade
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1000)
    size := 1000            //Set min. lot size

//TRADE EXECUTION---------------------------------------------------------------
strategy.close_all(equity_stopout)      //Close all trades w/equity protector
is_open = strategy.opentrades > 0

if true
    strategy.entry("l_en",true,oca_name="a",when=l_en and not is_open)  //Long entry
    strategy.entry("s_en",false,oca_name="a",when=s_en and not is_open) //Short entry
    
    strategy.exit("S/L","l_en",loss=stop, profit=target)      //Long exit (stop loss)
    strategy.close("l_en",when=l_ex)            //Long exit (exit condition)
    strategy.exit("S/L","s_en",loss=stop, profit=target)      //Short exit (stop loss)
    strategy.close("s_en",when=s_ex)            //Short exit (exit condition)
    
//PLOTTING----------------------------------------------------------------------
plot(kijun_sen,"Kijun-Sen",color.blue,2)