Einfache Strategie des Inhabers

Schriftsteller:ChaoZhang, Datum: 2024-01-08 17:05:10
Tags:

img

Übersicht

Die Simple Holder-Strategie ist eine Strategie, die Kryptowährungen regelmäßig kauft und hält, um eine Vermögenswertsteigerung zu erzielen.

Strategieprinzip

Die Grundlogik der Strategie lautet:

  1. Senden Sie ein Kaufsignal, um den ersten Kauf zu tätigen.

  2. Senden Sie jedes Mal, wenn eine bestimmte Anzahl von Kerzen erhältlich ist, ein Kaufsignal, um mehr Basiswährung mit der Notenwährung zu kaufen.

  3. Wenn die Anzahl der Kerzen den vorgegebenen Wert erreicht, schicken Sie den Ausstiegsbefehl zum Schließen der Position.

  4. Wenn die Zeit für den Ausstieg erreicht ist, senden Sie ein Ausstiegssignal, um die Strategie zu stoppen und alle Positionen zu schließen.

Durch den wiederholten Kauf und Halten von Kryptowährungen können die Auswirkungen der Kostendurchschnittsrechnung und der kontinuierlichen Erhöhung der Positionen erreicht werden.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Kann regelmäßig Kryptowährungen kaufen, um das Zeitrisiko von Käufen zu reduzieren.

  2. Kann die durchschnittlichen Aufbewahrungskosten von Kryptowährungen durch wiederholten Kauf reduzieren.

  3. Kann durch kontinuierliche Erhöhung der Positionen Wachstumsgewinn aus dem Portfolio erzielen.

  4. Der anpassbare Kauf- und Ausstiegszeitplan ermöglicht die Automatisierung.

  5. Einfach zu bedienen und leicht zu meistern.

Risikoanalyse

Zu den Risiken dieser Strategie gehören:

  1. Systematisches Risiko des Kryptowährungsmarktes mit potenziell riesigen Kursschwankungen.

  2. Ein unangemessener Ausstiegszeitpunkt kann dazu führen, dass der Verlust nicht rechtzeitig gestoppt wird.

  3. Eine unzureichende Kapitalverwaltung kann auch dazu führen, dass Verluste nicht getragen werden können.

Optimierungsvorschläge

Die folgenden Aspekte der Strategie können optimiert werden:

  1. Dynamische Anpassung des Einkaufsbetrags und der Abstandszeiten an die Marktbedingungen.

  2. Hinzufügen von Stop-Loss-Signalen zum Schließen von Positionen, wenn der Preis unter die Unterstützungsstufe fällt.

  3. Mehr Faktoren berücksichtigen, um den optimalen Ein- und Ausstiegszeitpunkt zu bestimmen.

Zusammenfassung

Die Simple Holder-Strategie erzielt den Effekt der Kostendurchschnittsrechnung und des Portfoliogrowts durch regelmäßigen Kauf und Halten von Kryptowährungen.


/*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")



Mehr