Una estrategia para comprar criptomonedas regularmente


Fecha de creación: 2024-01-08 17:05:10 Última modificación: 2024-01-08 17:05:10
Copiar: 2 Número de Visitas: 613
1
Seguir
1617
Seguidores

Una estrategia para comprar criptomonedas regularmente

Descripción general

Una estrategia de tenencia sencilla es una estrategia de compra periódica de criptomonedas para aumentar el valor de los activos a través de la compra y posesión repetidas de criptomonedas. La estrategia consiste principalmente en tres componentes principales: la señal de compra periódica, la señal de tenencia y la señal de salida.

Principio de estrategia

La lógica básica de esta estrategia es la siguiente:

  1. Cuando se inicia, se envía una señal de compra para realizar la primera compra.

  2. Cada cierto número de tiradas, se envía una señal de compra para comprar más monedas Base en la moneda de la Cuota.

  3. Cuando el recuento de monedas alcanza el valor predeterminado, se envía la instrucción de salida y se liquida la posición.

  4. Cuando llegue el momento de salir, envíe una señal de salida, detenga la estrategia y liquide todas las posiciones.

La compra y posesión repetidas de criptomonedas pueden lograr el efecto de la mediación de costos y el aumento continuo de la posesión.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Las criptomonedas se pueden comprar regularmente, reduciendo el riesgo de tiempo de compra.

  2. La compra repetida puede reducir el costo promedio de posesión de las criptomonedas.

  3. El crecimiento de la cartera se obtiene aumentando continuamente la posición.

  4. Se puede personalizar el momento de compra y salida, para lograr un funcionamiento automatizado.

  5. Es fácil de manejar y fácil de aprender.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. El riesgo sistémico en el mercado de las criptomonedas, que puede provocar grandes fluctuaciones en los precios.

  2. La falta de tiempo para la salida puede causar que no se pueda detener la pérdida a tiempo.

  3. La mala gestión de los fondos también puede causar pérdidas insuperables.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. El intervalo de tiempo y el monto de las compras se ajustan dinámicamente según las condiciones del mercado.

  2. Se añade una señal de stop loss para cerrar la posición cuando el precio cae por debajo del soporte.

  3. La mejor manera de entrar y salir del mercado es combinando más factores para evaluar el mercado.

Resumir

La estrategia de tenencia sencilla logra el efecto de la media de costos y el valor agregado de la cartera mediante la compra y tenencia periódicas de criptomonedas. Si se domina el método de uso, es una estrategia de cuantificación relativamente simple. Al introducir más optimizaciones, se puede hacer que la estrategia sea más inteligente y se adapte a los cambios en el entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 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/
// © Merdoc390

//@version=5

// The idea with this script is to use 3commas DCA bot to keep buying crypto, but not 'close the deal' which sells the crypto. 

// Basic idea is to keep adding funds, which increases the buy. 
// When you cancel the sale, you keep the crypto, thus HODL.
// I use this to build my positions that I short sale on Coinbase.com, so I need to cancel the deal after several candles so I can 
// trade them. 

// 3commas HODL DCA Bot article:
// https://3commas.io/blog/3commas-hodl-dca-bot-strategy
// This article includes the bot setup on 3Commas:
// Basicially you start the trade, then add funds to the trade, buying more crypto, then eventually cancel the deal.
// When you create the bot, you set the take profit really high, like 999%. Since it is unlikey to hit the value, it will never sell


// Credit to Irakli Gun as inspriation
// https://3commas.io/blog/3commas-hodl-dca-bot-strategy

strategy(title='HODL Simple v1', shorttitle="HODL'er", 
 calc_on_every_tick=false, calc_on_order_fills=true, process_orders_on_close =true,
 format=format.price, precision=4, overlay=true, pyramiding=365, 
 currency=currency.USD, default_qty_value=10, default_qty_type=strategy.cash , initial_capital=3650, 
 commission_type=strategy.commission.percent, commission_value=0.1)


var startFirstDeal = true
var done = false
var dealCount = 0
var totalDealCount = 0 


i_closeCount = input.int(defval=7,title="Close at Candle Count:",tooltip="How many buy candles to convert to a buy, otherwise it will remain open until end of timeframe.",group="Trade Range")
Start_date   = input(defval=timestamp('2023-09-21 16:30'),title="Start Date/Time",group="Trade Range")
Finish_date  = input(defval=timestamp('2023-09-21 23:05'),title="End Date/Time",group="Trade Range")

i_startBotAndDealMessage     = input(defval="paste your message here",title="Message to start bot and deal", tooltip="Message for 'start bot and deal",                        group="3Commas",display=display.all) 
i_addFundsMessage            = input(defval="paste your message here",title="Message for deal add funds signal in the quote currency",  tooltip="Using the quote (such as USD), to purchase more.",group="3Commas",display=display.all)
i_cancelTheDealMessage       = input(defval="paste your message here",title="Message to cancel the deal",tooltip="If you paste only cancel the deal, the bot will wait until next candle to add funds.\nOption is to also paste the add funds message to also add a buy position.",       group="3Commas",display=display.all)
i_cancelAndStopMessage       = input(defval="paste your message here",title="Message to cancel all bot deals and stop the bot",tooltip="Paste 3c bot messagage for Cancel all and Stop Bot",     group="3Commas",display=display.all)

time_cond = true

// check exit first
if not startFirstDeal and not done and dealCount < i_closeCount 
    strategy.close("Long")
    alert(i_cancelAndStopMessage)
    // log.info("Time expired, stopping bot, Total Deal Count:{0}",totalDealCount)
    done := true
// check if add funds after first deal
else if time_cond and not startFirstDeal and dealCount < i_closeCount 
    strategy.entry("Long", strategy.long)
    alert(i_addFundsMessage)
    // log.info("Deal Count:{0}, totalDeals:{1}",dealCount,totalDealCount)
    dealCount := dealCount + 1
    totalDealCount := totalDealCount + 1

else if time_cond and startFirstDeal and dealCount <= i_closeCount 
    strategy.entry("Long", strategy.long)
    // log.info("Start deal message, startFirst")
    alert(i_startBotAndDealMessage)
    startFirstDeal := false

else if time_cond and dealCount >= i_closeCount 
    strategy.close("Long")
    alert(i_cancelTheDealMessage)
    // log.info("Over Trades limit of {1}, resetting. Canceling. DealCount: {0}", dealCount, i_closeCount)
    dealCount := 0
    startFirstDeal := true

else if time_cond
    log.error("case not covered")