Estrategia de promedio del costo en dólares

El autor:¿ Qué pasa?, Fecha: 2023-09-15 16:52:06
Las etiquetas:

Esta estrategia se llama la Estrategia de promedio de costos en dólares. Su objetivo es acumular un tamaño de posición objetivo a través de compras periódicas de cantidad fija, lo que permite tenencias a largo plazo.

Cómo funciona:

  1. Establezca una cantidad y una frecuencia de compra fijas.
  2. Realizar compras periódicas del activo a intervalos fijos de acuerdo con el importe establecido.
  3. Vender cuando el tamaño de la posición acumulada alcance un umbral.
  4. Repetir para continuar acumulando posiciones periódicamente.

Flujo de trabajo típico:

  1. Comprar una cantidad fija de activos periódicamente (por ejemplo, $200 cada mes).
  2. Vender todo cuando el tamaño de la posición acumulada exceda un umbral (por ejemplo, 200 acciones).
  3. Reinicie las compras periódicas para continuar acumulando posiciones.

Ventajas de esta estrategia:

  1. Costo promedio más bajo por las tenencias a largo plazo.
  2. Baja los riesgos de extracción, evita comprar en los puntos altos.
  3. Fácil de ejecutar de manera constante sin un seguimiento frecuente del mercado.

Riesgos de esta estrategia:

  1. Requiere largos períodos de retención, no puede adaptarse a las fluctuaciones de precios a corto plazo.
  2. Puede enfrentar pérdidas durante tendencias bajistas prolongadas.
  3. El momento de salida subóptimo puede perder el mejor punto de venta.

En resumen, la estrategia de mediación de costos en dólares acumula activos a través de compras por lotes, amigables para los inversores a largo plazo.


/*backtest
start: 2022-09-08 00:00:00
end: 2023-09-14 00:00:00
period: 1d
basePeriod: 1h
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/
// © tanoshimooo

//@version=5
strategy ("DCA", initial_capital=44700, overlay=true)

// To start script at a given date
tz = 0 //timezone
timeadj = time + tz * 60 * 60 * 1000 //adjust the time (unix)
t1 = timeadj >= timestamp(2003, 03, 01, 0, 0) ? 1 : 0 //get the starting time

// Variables
var float lastRef = na
if barstate.isfirst
    lastRef := close
var float cash = 50000 // available money
var float sell_contracts = na
var bool first_trade_done = false

// Parameters
var float sell_min = 200 //200 sell more than sell_min or sell all
var float buy_dollars = 200

var int bi = 90

// LONGS
// if bar_index < bi
strategy.order("Long", strategy.long, int(buy_dollars/close))
cash := cash - int(buy_dollars/close)*close
// label.new(bar_index, na, na, xloc.bar_index, yloc.abovebar, color.blue, label.style_triangleup, color.blue, size.tiny)

//plot(cash)

// SHORTS
// if longExit  
//     if (strategy.position_size*sf*close > sell_min) and (strategy.position_size*sf >= 1)
//         strategy.order ("Long", strategy.short, strategy.position_size*sf)
//         cash := cash + strategy.position_size*sf*close
//     else 
//         strategy.order ("Long", strategy.short, strategy.position_size)
//         cash := cash + strategy.position_size*close
//     lastRef := close
//     label.new(bar_index, na, na, xloc.bar_index, yloc.belowbar, color.red, label.style_triangledown, color.red, size.tiny)

if bar_index == last_bar_index - 2 // bi
    strategy.order ("Long", strategy.short, strategy.position_size)

Más.