[blackcat] L1 MartinGale estrategia para el scalping

El autor:No más de 300, Fecha: 2023-10-09 07:06:32
Las etiquetas:

La estrategia MartinGale es una estrategia de gestión de fondos popular utilizada en el comercio. Se utiliza generalmente para buscar una recuperación de los operadores mediante el aumento del tamaño de la posición después de cada pérdida. Por lo tanto, MartinGale no se refiere a una estrategia en particular, sino a una clase general de estrategias de repuesto, de repuesto.

En la estrategia de Martin Gale, los operadores duplican el tamaño de la posición después de cada operación perdedora. El objetivo de hacer esto es esperar que finalmente se produzca una operación rentable para recuperar los daños anteriores y obtener ganancias.

La idea detrás de la estrategia de Martin Gale es aprovechar la ley de la media. Al aumentar el tamaño de la posición después de cada pérdida, la estrategia asume que eventualmente se producirá una operación rentable que no solo compensará las pérdidas anteriores, sino que también generará ganancias. Esto puede ser especialmente atractivo para los operadores que buscan recuperarse rápidamente de las pérdidas.

Sin embargo, hay que tener en cuenta que la estrategia de Martin Gale presenta un riesgo importante. La estrategia puede causar grandes pérdidas si el operador experimenta una fase de pérdidas continuas o no tiene suficientes fondos. La estrategia depende de la suposición de que las operaciones rentables ocurren en un cierto período de tiempo, lo que es peligroso porque no se puede garantizar que se produzcan operaciones rentables en un determinado período de tiempo. Los operadores que consideran implementar la estrategia Martin Gale deben evaluar cuidadosamente su capacidad de asumir riesgos y tener una comprensión completa de los posibles inconvenientes. Es importante establecer un plan de gestión de riesgos fiable para mitigar las posibles pérdidas. Además, los operadores deben ser conscientes de que la estrategia puede no ser aplicable a todas las situaciones del mercado y que puede necesitar ajustes en función de las fluctuaciones del mercado.

En resumen, la estrategia de Martin Gale es una estrategia de gestión de fondos que implica aumentar el tamaño de la posición después de cada pérdida para tratar de recuperarse de la fase de pérdida. Aunque puede ofrecer un potencial de recuperación rápida, también existen riesgos importantes que los operadores deben considerar cuidadosamente antes de implementar este método de negociación.

A pesar de no estar de acuerdo con esta idea de transacción, algunos de los usuarios de mensajes privados también hablaron sobre el tema y escribieron un simple marco de 38 líneas, el corto Martin Gale.

La estrategia del sombrero de Martin Gale es una estrategia de trading que genera ganancias a través de operaciones frecuentes. Utiliza el cruce de las medias móviles para generar señales de entrada y salida. La estrategia está implementada en el lenguaje de escritura Pine de TradingView.

La estrategia define primero las variables de entrada, como los niveles de stop-loss y stop-loss, y el modo de negociación ("multi-head, empty-head o bidireccional"). Luego, establece una regla que permite entrar solo cuando el modo de negociación está configurado para un multi-head de stop-loss.

La lógica estratégica utiliza la definición de señales de cruce y señales de cruce de una simple media móvil (SMA); calcula la SMA corta (SMA3) y la SMA larga (SMA8), y las traza en un gráfico. Las variables crossoverSignal y crossunderSignal se utilizan para rastrear la ocurrencia de eventos de cruce y cruce, mientras que las variables crossoverState y crossunderState determinan el estado de las condiciones de cruce y cruce.

La estrategia se ejecuta basándose en el tamaño de la posición actual. Si la posición es cero (sin posición), la estrategia examina el cruce y el cruce. Si el cruce ocurre y el patrón permite muchas entradas, se entra en una posición multicapital. El precio de entrada, el precio de stop loss, el precio de stop cap y el precio de stop loss se calculan en función del precio de cierre actual y el valor del SMA8. Si hay varias posiciones y el precio de cierre actual alcanza el precio del stop-loss o el precio del stop-loss, y se produce un evento cruzado, se liquidan las posiciones múltiples. Los precios de entrada, el precio del stop-loss, el precio del stop-loss y el precio del stop-loss se restablecerán a cero.

Del mismo modo, si hay una posición vacía y el precio de cierre actual alcanza el precio de stop-loss o stop-loss, y se produce un evento de cruce, se estabiliza la posición vacía y se restablece la variable de precio.

La estrategia también utiliza la función plotshape para trazar entradas y salidas en el gráfico. Muestra que un triángulo de punta arriba indica una entrada de compra, un triángulo de punta abajo indica una salida de compra, un triángulo de punta abajo indica una entrada de venta y un triángulo de punta arriba indica una salida de venta.

En general, la estrategia del raspador Martin Gale tiene como objetivo capturar pequeñas ganancias al aprovechar el cruce de las medias móviles a corto plazo. Se gestiona el riesgo a través de los niveles de stop-loss y stop-loss y se permite que diferentes modelos de negociación se adapten a diferentes condiciones del mercado.


//@version=5
 strategy('[blackcat] L1 MartinGale Scalping Strategy', overlay=true, pyramiding = 5)
 
 // Define input variables
// martingaleMultiplier = input(2, title="加倍倍数")
 takeProfit = input(1.03, title='Take Profit')
 stopLoss = input(0.95, title='Stop Loss')
 inputTradingMode = input.string(defval='Long', options=['Long', 'Short', 'BiDir'], title='Trading Mode')
 
 //The purpose of this rule is to forbid short entries, only long etries will be placed. The rule affects the following function: 'entry'.
strategy.risk.allow_entry_in(inputTradingMode == 'Long' ? strategy.direction.long : inputTradingMode == 'Short' ? strategy.direction.short : strategy.direction.all)

// Define strategy logic 
entryPrice = 0.0
stopPrice = 0.0
takeProfitPrice = 0.0
stopLossPrice = 0.0

// Define SMA crossover and crossunder signals
sma3 = ta.sma(close, 3)
sma8 = ta.sma(close, 8)
plot(sma3, color=color.yellow)
plot(sma8, color=color.fuchsia)
crossoverSignal = ta.crossover(sma3, sma8)
crossunderSignal = ta.crossunder(sma3, sma8)
crossoverState = sma3 > sma8
crossunderState = sma3 < sma8

if strategy.position_size == 0
    if crossoverState
       strategy.entry('Buy',strategy.long)
       entryPrice := close
       stopPrice := close - stopLoss * sma8[1]
       takeProfitPrice := close + takeProfit * sma8[1]
       stopLossPrice := stopPrice
       stopLossPrice
    if crossunderState
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size > 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossunderState
        strategy.close('Buy')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Buy', strategy.long)
        entryPrice := close
        stopPrice := close - stopLoss *  sma8[1]
        takeProfitPrice := close + takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

if strategy.position_size < 0
    if (close > takeProfitPrice or close < stopLossPrice) and crossoverState
        strategy.close('Sell')
        entryPrice := 0.0
        stopPrice := 0.0
        takeProfitPrice := 0.0
        stopLossPrice := 0.0
        stopLossPrice
    else
        strategy.entry('Sell', strategy.short)
        entryPrice := close
        stopPrice := close + stopLoss *  sma8[1]
        takeProfitPrice := close - takeProfit *  sma8[1]
        stopLossPrice := stopPrice
        stopLossPrice

// Plot entry and exit points
plotshape(strategy.position_size > 0 and crossoverSignal, 'Buy Entry', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)
plotshape(strategy.position_size > 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Buy Exit', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and crossunderSignal, 'Sell Entry', shape.triangledown, location.abovebar, color.new(color.red, 0), size=size.small)
plotshape(strategy.position_size < 0 and (close >= takeProfitPrice or close <= stopLossPrice), 'Sell Exit', shape.triangleup, location.belowbar, color.new(color.green, 0), size=size.small)

Más.