
Esta estrategia tiene en cuenta la fluidez del mercado, las tendencias y los indicadores técnicos, entre otras dimensiones. La estrategia permite operar en línea corta. La estrategia puede seguir la tendencia y aprovechar la fluidez del mercado para abrir posiciones y obtener ganancias en línea corta.
Principio básico: Esta estrategia considera principalmente las dos dimensiones de la liquidez del mercado y la tendencia. La operación de línea corta se realiza cuando la liquidez del mercado es buena y hay una tendencia.
Indicadores de liquidez del mercado: esta estrategia utiliza principalmente MFI y el cambio en el volumen de transacciones como indicadores de liquidez del mercado. Cuando los MFI aumentan y el volumen de transacciones aumenta, consideramos que la liquidez del mercado es mejor y adecuada para abrir posiciones.
Determinación de tendencias: esta estrategia combina varios indicadores para determinar la tendencia, como el ADX, el EMA, etc. Cuando el ADX es superior a 30 y su EMA, la tendencia es fuerte. Al mismo tiempo, si el EMA ocurre de forma rápida y lenta, como un cruce de oro, también se puede verificar la tendencia.
Condiciones para abrir una posición: cuando el mercado es fluido y hay una tendencia al mismo tiempo, se genera una señal de apertura de posición si se cumplen otras condiciones auxiliares (como el juicio de la posición SAR, etc.).
Establecimiento de stop-loss: Esta estrategia establece un stop-loss fijo (de 10 puntos) y un stop-loss (de 7.5 puntos) para cada operación.
La estrategia tiene las siguientes ventajas:
Aprovechar el momento de la liquidez del mercado: juzgar la liquidez del mercado en función de la MFI y el volumen de transacciones, evitar abrir posiciones cuando la liquidez del mercado es baja.
Seguimiento de la tendencia para obtener ganancias: en combinación con indicadores como EMA para determinar la dirección de la tendencia, ayuda a obtener ganancias de la tendencia.
Control de riesgo en el lugar: Se establece un stop loss fijo para controlar eficazmente la pérdida máxima de una sola operación.
Frecuencia de operaciones más alta: como una estrategia de línea corta, la frecuencia de operaciones será más alta, adecuada para acumular ganancias gradualmente.
El espacio para la optimización de los parámetros es más grande: los parámetros MA, la configuración de parada de pérdidas, etc. pueden optimizarse para mejorar la eficacia de la estrategia.
La estrategia también tiene sus riesgos:
Riesgo de control del deslizamiento del disco: el parón de pérdidas teóricas no refleja completamente la situación del disco real, y el deslizamiento en el disco real puede ser más grande.
Riesgo de fracaso en la determinación de tendencias: Esta estrategia depende de más indicadores para determinar tendencias, pero aún existe la posibilidad de fracaso.
Riesgo de exceso de operaciones: como una estrategia de corto plazo, si los parámetros se establecen incorrectamente, puede causar exceso de operaciones.
Riesgo de situaciones anormales en el mercado: la estrategia puede no funcionar correctamente en situaciones extremas, como la falta de liquidez en el mercado o cambios en la política.
En consecuencia, podemos reducir el riesgo de las siguientes maneras:
La flexibilización adecuada del margen de pérdidas, teniendo en cuenta el factor de deslizamiento del disco físico.
Optimizar la lógica de juicio de tendencias, introducir más indicadores y reducir la probabilidad de fracaso.
Se añade un límite de frecuencia para evitar el exceso de operaciones.
Adaptar los parámetros de manera flexible en función de las condiciones del mercado para responder a situaciones excepcionales.
Las orientaciones para la optimización de esta estrategia son:
La introducción de más indicadores optimiza el juicio de tendencias, lo que hace que el juicio sea más preciso. Por ejemplo, la introducción del indicador MACD.
Optimización de los parámetros de ciclo de la MA para encontrar la combinación óptima de parámetros.
Mejorar las estrategias de parada de pérdidas, por ejemplo, mediante el uso de paradas móviles, paradas intermitentes y otras formas.
Añadir un límite al número de transacciones para evitar transacciones de alta frecuencia. Por ejemplo, un máximo de 3 posiciones al día.
Buscar mejores indicadores de liquidez en el mercado para determinar el momento de abrir una posición. Indicadores como la introducción de flujos netos.
Añadir la función de optimización de parámetros para lograr la optimización automática de parámetros para encontrar la combinación óptima de parámetros.
Esta estrategia tiene en cuenta las múltiples dimensiones, como la liquidez y la tendencia del mercado, para capturar los beneficios en líneas cortas. En comparación con las estrategias de tendencia tradicionales, la mayor innovación de esta estrategia es la introducción de indicadores de liquidez en el mercado, para evitar la interrupción de la apertura de posiciones cuando la liquidez del mercado es baja. En consecuencia, esta estrategia también existe un cierto riesgo de control de riesgo en el terreno y el riesgo de fracaso en el juicio de tendencias.
/*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)