En la carga de los recursos... Cargando...

Tendencia a largo plazo de los caimanes siguiendo la estrategia de negociación

El autor:¿ Qué pasa?
Las etiquetas:El número de personas afectadasLa SMA

img

Resumen general

Principios de estrategia

  1. Línea de la mandíbula: SMMA de 13 períodos, desplazado 8 barras hacia el futuro
  2. Línea de dientes: SMMA de 8 períodos, desplazado 5 bares hacia el futuro
  3. Línea de los labios: SMMA de 5 períodos, desplazado 3 compases hacia el futuro

Cuando la boca del indicador de cocodrilo se abre hacia arriba, es decir, la línea de mandíbula está en la parte inferior, la línea de dientes está en el medio y la línea de labios está en la parte superior, y el precio está por encima del indicador de cocodrilo, la estrategia abrirá una posición larga.

Cuando el precio se rompe por debajo de la línea de la mandíbula, la estrategia cerrará la posición larga. Esto asegura que no seguiremos manteniendo posiciones en un mercado bajista.

Ventajas estratégicas

  1. Baja frecuencia de negociación: la estrategia solo abre posiciones cuando se confirma una tendencia y cierra posiciones cuando la tendencia termina, lo que resulta en una frecuencia de negociación relativamente baja, lo que puede reducir efectivamente los costos de negociación.
  2. Amplia gama de aplicaciones: La estrategia se puede aplicar a varios mercados financieros, como forex, criptomonedas, etc., con una gran adaptabilidad y flexibilidad.
  3. No hay necesidad de optimización de parámetros: La estrategia sigue completamente las tendencias del mercado y no requiere optimización de parámetros, por lo que es simple y fácil de usar.

Riesgos estratégicos

  1. El riesgo de deslizamiento potencial: en casos de fluctuaciones severas del mercado o de liquidez insuficiente, es posible que las órdenes de negociación no se ejecuten al precio esperado, lo que genera un riesgo de deslizamiento.
  2. Falta de gestión del riesgo fijo: La estrategia no tiene configuraciones fijas de gestión del riesgo y el tamaño de la posición de cada operación debe ajustarse de acuerdo con la preferencia de riesgo de cada uno.
  3. Posibles oportunidades perdidas a corto plazo: Dado que la estrategia se centra en capturar tendencias a medio y largo plazo, puede perder algunas oportunidades comerciales a corto plazo.

Direcciones para la optimización de la estrategia

  1. Añadir un módulo de gestión de riesgos: Considere la posibilidad de añadir algunas medidas de gestión de riesgos, como el stop-loss, el ajuste dinámico de la posición, etc., para controlar mejor los riesgos.
  2. Optimice la configuración de parámetros: aunque la estrategia no requiere la optimización de parámetros, puede probar la prueba posterior de diferentes períodos de tiempo y objetivos comerciales para encontrar la combinación óptima de parámetros.

Resumen de las actividades


/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//_______ <licence>
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Skyrex

//_______ <version>
//@version=5

//_______ <declaration_statement>
strategy(title = "Alligator Long Term Trend Following Strategy [Skyrex.io]", 
         shorttitle = "Alligator Strategy [Skyrex.io]", 
         overlay = true, 
         format = format.inherit, 
         pyramiding = 1, 
         calc_on_order_fills = false, 
         calc_on_every_tick = true, 
         default_qty_type = strategy.percent_of_equity, 
         default_qty_value = 100, 
         initial_capital = 10000, 
         currency = currency.NONE,  
         commission_type = strategy.commission.percent, 
         commission_value = 0.1,
         slippage = 5)


//_______ <constant_declarations>
var color skyrexGreen = color.new(#2ECD99, 0)
var color skyrexGray = color.new(#F2F2F2, 0)
var color skyrexWhite = color.new(#FFFFFF, 0)

var color barcolor = na


//_______ <inputs>
// Trading bot settings
sourceUuid = input.string(title = "sourceUuid:", defval = "yourBotSourceUuid", group = "Trading Bot Settings")
secretToken = input.string(title = "secretToken:", defval = "yourBotSecretToken", group = "Trading Bot Settings")

// Trading Period Settings
lookBackPeriodStart = input(title = "Trade Start Date/Time", defval = timestamp('2023-01-01T00:00:00'), group = "Trading Period Settings")
lookBackPeriodStop = input(title = "Trade Stop Date/Time", defval = timestamp('2025-01-01T00:00:00'), group = "Trading Period Settings")

//_______ <function_declarations>
//@function       Used to calculate Simple moving average for Alligator
//@param src      Sourse for smma Calculations
//@param length   Number of bars to calculate smma
//@returns        The calculated smma value 
smma(src, length) =>
    smma =  0.0
    smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
    smma


//@function       Used to decide if current candle above the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_LowAboveAlligator(jaw, teeth, lips) =>
    result = low > jaw and low > lips and low > teeth 
    result


//@function       Used to decide if current candle below the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_HighBelowAlligator(jaw, teeth, lips) =>
    result = high < jaw and high < lips and high < teeth 
    result


//@function       Used to decide if Alligator's mouth is open
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value 
is_AlligatorHungry(jaw, teeth, lips) =>
    result = lips > jaw[5] and lips > teeth[2] and teeth > jaw[3]
    result


//_______ <calculations>
jaw = smma(hl2, 13)[8]
teeth = smma(hl2, 8)[5]
lips = smma(hl2, 5)[3]


jaw_o = smma(hl2, 13)
teeth_o = smma(hl2, 8)
lips_o = smma(hl2, 5)


//_______ <strategy_calls>
longCondition = is_LowAboveAlligator(jaw, teeth, lips) and is_AlligatorHungry(jaw_o, teeth_o, lips_o) 
if (longCondition)
    strategy.entry(id = "entry1", direction = strategy.long, alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "entry1",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')

if close < jaw
    strategy.close(id = "entry1", alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "close",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')



//_______ <visuals>
if strategy.opentrades > 0
    barcolor := skyrexGreen
else 
    barcolor := skyrexGray

barcolor(barcolor)
//_______ <alerts>

Relacionados

Más.