- Carré
- Tendance suivant la stratégie basée sur les lignes MA
Tendance suivant la stratégie basée sur les lignes MA
Auteur:
ChaoZhang est là., Date: 2024-02-22 17:24:02 Je vous en prie.
Les étiquettes:
Résumé
Cette stratégie calcule les moyennes mobiles (MA) de différentes périodes pour déterminer la direction de la tendance du marché.
Principe de stratégie
- Calculer les MAs à 20 périodes, à 60 périodes et à 120 périodes
- Comparez la relation de grandeur entre MA20, MA60 et MA120 pour déterminer la direction actuelle de la tendance
- Si MA20>MA60>MA120, jugez la tendance à la hausse
- Si MA20
- Passer à long lorsque le MA20 dépasse le MA60 et à court lorsque le MA20 dépasse le MA60
- Utiliser le MA60 comme ligne de référence pour les prises de bénéfices et les arrêts de pertes
- La ligne de prise de profit pour la position longue est 3 fois la MA60
- La ligne de prise de profit pour la position courte est de 0,9 fois MA60
Analyse des avantages
- Utilisez des combinaisons de MA de différentes périodes pour déterminer la tendance afin d'éviter les fléchettes
- N' entrez qu' à des moments de renversement de tendance pour augmenter le taux de gain.
- Avoir des règles claires pour prendre des bénéfices et arrêter les pertes pour réduire les risques
Analyse des risques
- Dans les marchés à plage, les croisements de MA peuvent se produire fréquemment, ce qui entraîne une négociation trop fréquente
- Les paramètres de prise de profit et de stop loss doivent être optimisés, sinon la position peut être arrêtée prématurément ou la prise de profit n'est pas suffisante
Directions d'optimisation
- Ajout d'indicateurs pour identifier les marchés à fourchette afin d'éviter une survente
- Optimiser les combinaisons de périodes de MA pour trouver les meilleurs paramètres
- Testez et optimisez les coefficients de prise de profit et de stop loss pour équilibrer la maximisation des rendements et la minimisation des risques
Résumé
La stratégie a une logique claire de l'utilisation de MAs pour déterminer les tendances.
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA60上多下空", overlay=true)
// 计算MA20/60/120
ma20 = ta.sma(close, 20)
ma60 = ta.sma(close, 60)
ma120 = ta.sma(close, 120)
// 判断MA的趋势
maUpTrend = ma20 > ma60 and ma60 > ma120
maDownTrend = ma20 < ma60 and ma60 < ma120
// 画竖直线标记MA趋势转折点
plotshape(maUpTrend and ta.crossover(ma20, ma60), style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(maDownTrend and ta.crossunder(ma20, ma60), style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)
// 画背景标记MA趋势
bgcolor(maUpTrend ? color.new(color.green, 90) : na)
bgcolor(maDownTrend ? color.new(color.red, 90) : na)
// 建立多头仓位的条件
longCondition = ta.crossover(close, ma60)
// 建立空头仓位的条件
shortCondition = ta.crossunder(close, ma60)
// 在穿过MA60时,根据条件建立相应的多头或空头仓位
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// 止盈止损规则
calculateReturns() =>
close / strategy.position_avg_price - 1
takeProfitCondition = calculateReturns() >= 3 // 仓位盈利达到300%
stopLossCondition = calculateReturns() <= -0.1 // 仓位亏损达到10%
if (takeProfitCondition)
strategy.close("Long", comment="Take Profit")
strategy.close("Short", comment="Take Profit")
if (stopLossCondition)
strategy.close("Long", comment="Stop Loss")
strategy.close("Short", comment="Stop Loss")
Plus de