Stratégie de négociation basée sur l'indice de facilitation du marché

Auteur:ChaoZhang est là., Date: 2023-09-19 15:56:29
Les étiquettes:

Résumé

Cette stratégie utilise l'indice de facilitation du marché (IFM) pour juger de l'état de tendance du marché et de la possibilité d'un renversement de tendance.

La logique de la stratégie

  1. Calcul des IFM, formule: (plus élevé - plus bas) / Volume * 10000

  2. Fixer des seuils d'achat et de vente, par exemple acheter lorsque l'IFM est supérieur à 1 et vendre lorsque l'IFM est inférieur à 0,8

  3. Aller long lorsque la IFM dépasse le seuil d'achat, aller court lorsqu'elle dépasse le seuil de vente

  4. Barres de code couleur basées sur des signaux pour la représentation visuelle

  5. Possibilité d'inverser les directions du signal

Analyse des avantages

  1. Une forte capacité à évaluer les tendances du marché et l'efficacité des mouvements de prix

  2. Configuration simple des paramètres, détermination facile des seuils

  3. Signaux commerciaux clairs, faciles à interpréter et à exécuter

  4. Les couleurs des barres visuelles affichent intuitivement les conditions du marché

  5. Flexibilité pour aller long ou court selon les besoins

Analyse des risques

  1. Impossible de déterminer la force de la tendance, risque d'un bénéfice insuffisant

  2. Ne peut pas faire la différence entre les fluctuations normales et les inversations réelles

  3. Prédisposé à de faux signaux d'événements soudains

  4. A un certain retard, peut manquer les meilleurs points d'entrée

  5. Aucun mécanisme de stop loss, incapable de contrôler une seule perte

Directions d'optimisation

  1. Testez les différentes valeurs seuil des paramètres

  2. Ajouter des indicateurs de volume-prix pour confirmation

  3. Incorporer des moyennes mobiles pour déterminer la direction de la tendance

  4. Établissez des stratégies de stop loss pour la maîtrise des risques

  5. Définir des règles de dimensionnement des positions afin de les adapter aux marchés

  6. Performance des essais sur les marchés en direct sur différents instruments et délais

Résumé

Cette stratégie utilise les IFM pour juger des conditions de tendance du marché et fournir des signaux commerciaux simples. Des améliorations supplémentaires dans l'optimisation des paramètres, le stop loss, etc. sont nécessaires pour un contrôle strict des risques.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/09/2018
// The Market Facilitation Index is an indicator that relates price range to 
// volume and measures the efficency of price movement. Use the indicator to 
// determine if the market is trending. If the Market Facilitation Index increased, 
// then the market is facilitating trade and is more efficient, implying that the 
// market is trending. If the Market Facilitation Index decreased, then the market 
// is becoming less efficient, which may indicate a trading range is developing that 
// may be a trend reversal.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Market Facilitation Index (MFI) Backtest", shorttitle="MFI")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xmyVol = volume
xmyhigh = high
xmylow = low
nRes = (xmyhigh - xmylow) / xmyVol * 10000
pos = iff(nRes > BuyZone, 1,
       iff(nRes < SellZone, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )        
plot(nRes, color=green, title="MFI", style = histogram)

Plus de