Stratégie de scalping basée sur la liquidité et la tendance du marché

Auteur:ChaoZhang est là., Date: 2024-01-30 15:36:33 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie prend en considération de manière exhaustive la liquidité du marché, les tendances et les indicateurs techniques pour mettre en œuvre des stratégies de négociation à court terme.

Principe de stratégie

  1. Principe de base: Cette stratégie tient compte principalement de la liquidité et de la tendance du marché.

  2. Indicateurs de liquidité du marché: Cette stratégie utilise principalement les IFM et les variations du volume des transactions comme indicateurs de liquidité du marché.

  3. Le jugement de tendance: Cette stratégie combine l'ADX, l'EMA et d'autres indicateurs pour déterminer la tendance. Lorsque l'ADX est supérieur à 30 et son EMA, cela signifie que la tendance est relativement forte.

  4. Conditions d'ouverture: lorsque la liquidité du marché est bonne et qu'une tendance apparaît en même temps, des signaux d'ouverture sont générés si d'autres conditions auxiliaires (telles que le jugement de position SAR, etc.) sont également remplies.

  5. Réglages de prise de profit et d'arrêt de perte: Cette stratégie fixe le bénéfice (10 points) et l'arrêt de perte (7,5 points) pour chaque transaction.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Utiliser la liquidité du marché pour déterminer le calendrier: en fonction des IFM et du volume des transactions pour déterminer la liquidité du marché, éviter d'ouvrir des positions lorsque la liquidité du marché est faible.

  2. Suivre les tendances pour les bénéfices: combiner l'EMA et d'autres indicateurs pour déterminer la direction de la tendance, aider à obtenir des bénéfices de tendance.

  3. Un bon contrôle des risques: fixer le profit et le stop loss pour contrôler efficacement la perte maximale par transaction.

  4. Fréquence de négociation relativement élevée: en tant que stratégie à court terme, la fréquence de négociation sera relativement élevée, adaptée à l'accumulation de bénéfices étape par étape.

  5. Grand espace pour l'optimisation des paramètres: par exemple, les paramètres MA, les paramètres stop loss et take profit peuvent être optimisés pour améliorer les performances de la stratégie.

Analyse des risques

Cette stratégie comporte également des risques:

  1. Risque de contrôle du glissement de trading réel: Le stop loss théorique et le take profit ne peuvent pas refléter pleinement les conditions de trading réelles.

  2. Risque de mauvaise appréciation de la tendance: Cette stratégie repose fortement sur plusieurs indicateurs pour déterminer la tendance, mais il existe toujours une possibilité d'échec.

  3. Risque de sur-trading: en tant que stratégie à court terme, des paramètres mal réglés peuvent entraîner une sur-trading.

  4. Risque d'anomalie du marché: dans les cas extrêmes de liquidité extrêmement faible du marché ou de changements de politique, cette stratégie peut ne pas fonctionner correctement.

En conséquence, nous pouvons réduire les risques liés aux aspects suivants:

  1. Réduire de manière appropriée la plage de stop-loss pour tenir compte des facteurs de glissement réels.

  2. Optimiser la logique de jugement des tendances et introduire plus d'indicateurs pour réduire la probabilité de défaillance.

  3. Ajoutez des limites de fréquence des positions ouvertes pour éviter le sur-trading.

  4. Adapter les paramètres de manière flexible en fonction des conditions du marché pour faire face à des situations anormales.

Direction de l'optimisation

Les orientations d'optimisation de cette stratégie comprennent:

  1. Introduire plus d'indicateurs pour optimiser le jugement de tendance et rendre les jugements plus précis.

  2. Optimiser les paramètres de cycle de MA pour trouver la meilleure combinaison de paramètres.

  3. Améliorer les stratégies d'arrêt des pertes et de prise de profit, telles que l'utilisation d'arrêt des pertes en mouvement, d'intervalle d'arrêt des pertes, etc.

  4. Ajoutez des restrictions sur le nombre de transactions afin d'éviter une fréquence de négociation excessivement élevée.

  5. Trouver de meilleurs indicateurs de liquidité du marché pour déterminer davantage le moment de l'ouverture des positions.

  6. Ajoutez des fonctions d'optimisation des paramètres pour optimiser automatiquement les paramètres afin de trouver des combinaisons optimales de paramètres.

Résumé

Cette stratégie prend en compte de manière exhaustive des facteurs tels que la liquidité du marché et la tendance. Elle capture des bénéfices à court terme. Par rapport aux stratégies de tendance traditionnelles, la plus grande innovation de cette stratégie est l'introduction d'indicateurs de liquidité du marché pour éviter d'ouvrir des positions lorsque la liquidité du marché est faible.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © trent777brown

//@version=5
strategy("scalping with market facilitation", overlay=true, margin_long=100, margin_short=100)


MFI0 = (high - low) / volume
MFI1 = (high[1] - low[1]) / volume[1]

MFIplus = MFI0 > MFI1
MFIminus = MFI0 < MFI1

//Current Trend-(Changed mean to trend)-revised
trendplus = hl2 > high[1]
trendzero = hl2 < high[1] and hl2 > low[1]  //addition of script
trendminus = hl2 < low[1]  //changed high to low

//Volume +/-
volplus = volume > volume[1]
volminus = volume < volume[1]

//Period Control by Buyers or Sellers is determined with reference to Price action of the period 
//divided into 3 sectors, sector 1 is the Top third, Sector 2 is the middle third, 
//and sector 3 is the Bottom third of the period. Control classifications are: Extremes(11, 33), Neutral(22), 
//Climbers(31,21,32) Open lower than Close, and Drifters(13,23,12)Close lower than Open

//value0 = low
//value1 = ((high - low)/3)
//value2 = ((high - low)/3)*2
//value3 = high

//o1 = (open >= (((high - low)/3) * 2) + low)
//c1 = (close >= (((high - low)/3) * 2) + low)
//o2 = (open <= o1) 
//c2 = (close <= c1)
//o3 = (open <= ((high - low)/3) + low)
//c3 = (close <= ((high - low)/3) + low)

//sector2 = if((high - low)/3) + low and sector2 <= (((high - low)/3)*2) + low

//sector3 = if((high - low)/3) + low and >= low


//Extremes-Full Control of Period by Buyers or Sellers 
//pg79 notes an 85% chance that the current trend will change in the next 1 to 5 bars
b11 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 * 2 + low  //Extreme Buyer Control:Chartruse
b33 = open <= (high - low) / 3 + low and close <= (high - low) / 3 + low  //Extreme Seller Control:Crimson
//Neutral pg80
b22 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Bracketed Price Control
//Climber-Open lower than Close pg81
b31 = open <= (high - low) / 3 + low and close >= (high - low) / 3 * 2 + low  //Strong Buyer Control:Dark Green
b21 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 * 2 + low  //Moderate Buyer Control:Green
b32 = open <= (high - low) / 3 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Buyer Control:Light Green
//Drifter-Close lower than Open pg81
b13 = open >= (high - low) / 3 * 2 + low and close <= (high - low) / 3 + low  //Strong Seller Control:Dark Red
b23 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close <= (high - low) / 3 + low  //Moderate Seller Control:Red
b12 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Seller Control:Light Red/Pink

 

//


psar= ta.sar(.09, .2, .2)

ema8= ta.ema(hlc3, 8)

ema13h= ta.ema(high, 13)
ema13l= ta.ema(low, 13)
ema13= ta.ema(close, 13)

ema55= ta.ema(close, 100)

[dip, dim, adx]= ta.dmi(5, 5)
adxema=ta.ema(adx, 3)
[macdl, sigl, histl]= ta.macd(close, 8, 13, 5)
obv= ta.obv
obvema= ta.ema(obv, 8)
obvema55= ta.ema(obv, 55)
mfigreen= MFIplus and volplus
adx_x_over= ta.crossover(adx, adxema) and adx >= 25
barssincemfi= ta.barssince(mfigreen)










longtrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


shorttrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


long= macdl > sigl and obv > obvema55 and ema8 > ema55   and psar < low and trendplus//and ema13l > ema55//and open > hull200 and close > hull200

short= macdl < sigl and obv < obvema55 and ema8 < ema55 and psar > high and trendminus//and ema13h < ema55//open < hull200 and close < hull200


//plot(hull200, color=color.red, linewidth=3)
plot(ema13h, color=color.gray, linewidth=3)
plot(ema13l, color=color.gray, linewidth=3)

plot(ema13, color=color.blue, linewidth=3)
//
plot(ema55, color=color.white, linewidth=3)
plot(psar, color=color.white, style=plot.style_circles)
plotshape(mfigreen, color=color.yellow, style=shape.flag, location=location.belowbar, size= size.tiny)
longCondition = long
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long, 1,  when= longtrig2)
    strategy.exit("exit long", "My Long Entry Id", profit= 100, loss= 75)
shortCondition = short
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short, 1,  when= shorttrig2)
    strategy.exit("exit short", "My Short Entry Id", profit= 100, loss= 75)


Plus de