Стратегия простого держателя - это стратегия, которая периодически покупает криптовалюты и удерживает их для достижения повышения стоимости активов.
Основная логика стратегии заключается в следующем:
Отправьте сигнал покупки в начале, чтобы совершить первую покупку.
Посылать сигнал покупки каждое определенное количество свечей для покупки большей базовой валюты с использованием валюты котировки.
Когда количество свечей достигнет заданного значения, отправьте приказ на закрытие позиции.
Когда наступит время выхода, отправьте сигнал, чтобы остановить стратегию и закрыть все позиции.
Благодаря повторной покупке и хранению криптовалют можно достичь эффектов средней стоимости и непрерывного увеличения позиций.
Преимущества этой стратегии:
Может периодически покупать криптовалюты, чтобы уменьшить риски покупки.
Может снизить среднюю стоимость хранения криптовалют путем повторной покупки.
Может получить рост прибыли портфеля путем непрерывного увеличения позиций.
Настраиваемое время покупки и выхода позволяет автоматизировать.
Легко управлять и легко овладеть.
Риски этой стратегии включают:
Систематический риск на рынке криптовалют с потенциально огромными колебаниями цен.
Неправильное время выхода может не остановить потерю своевременно.
Недостаточное управление капиталом также может привести к неспособности нести убытки.
Следующие аспекты стратегии могут быть оптимизированы:
Динамически корректировать сумму покупки и интервалы в соответствии с рыночными условиями.
Добавить сигналы стоп-лосса для закрытия позиций, когда цена опускается ниже уровня поддержки.
Включите больше факторов для определения оптимального времени входа и выхода.
Стратегия Simple Holder достигает эффекта средней стоимости и роста портфеля через периодическую покупку и хранение криптовалют. Это относительно простая количественная стратегия после освоения использования.
/*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")