
Эта стратегия использует биткойн для коротких торгов в выходные дни, используя 10-кратный ливер. Основная идея стратегии заключается в том, чтобы записывать цены на закрытие в пятницу, а затем сравнивать в субботу и воскресенье взлеты и падения цены на закрытие в тот же день и на закрытие в пятницу. Если вы превышаете обесценение, делайте больше или делайте меньше, чтобы сгладить позиции в понедельник.
Эта стратегия сначала фиксирует цены на закрытие в пятницу, а затем рассчитывает количество дней с пятницы до текущей даты. В субботу и воскресенье, если цена закрытия в этот день выросла более чем на 4,5% по сравнению с ценой закрытия в пятницу, она закрывается; если цена закрытия в этот день упала более чем на 4,5% по сравнению с ценой закрытия в пятницу, она делает больше.
В частности, стратегия заключается в том, чтобы получить цену закрытия в пятницу, а затем сравнить текущую цену закрытия с ценой закрытия в пятницу. Если текущая цена закрытия выросла более чем на 4,5% по сравнению с ценой закрытия в пятницу, тоstrategy.shortЕсли текущая цена закрытия снизилась более чем на 4,5% по сравнению с ценой закрытия в пятницу, то она будет принята.strategy.longСделайте больше.leverageПараметры устанавливаются в 10-кратном размере. Если прибыль достигает 10% от первоначального капитала, тоstrategy.close_all()Все позиции на равных позициях.strategy.close_all()Уравните все позиции.
В зависимости от риска можно рассмотреть следующие меры оптимизации:
Эта стратегия может быть оптимизирована в следующих аспектах:
Добавление других показателей, оптимизация выбора входных точек. Можно использовать в сочетании с движущейся средней линией, RSI и другими показателями, чтобы фильтровать время входа в игру, повысить точность входа в игру.
Оптимизация стратегии остановки убытков, блокирование прибыли и контроль риска путем перемещения остановок убытков, разделения остановок и т. Д.
Регулирование размера левера, снижение риска. Можно настроить динамическое регулирование левера, снижение левера при отводе.
Добавление разнообразных сделок. Можно добавить другие распространенные криптовалюты, используя их особенности торговли в выходные дни, для многообразных арбитражных сделок.
Оптимизация параметров с помощью алгоритмов машинного обучения. Можно собирать большое количество исторических данных, автоматически оптимизировать параметры с помощью алгоритмов машинного обучения и осуществлять динамическую корректировку параметров.
Эта стратегия является типичной краткосрочной торговой стратегией, которая использует увеличение объема торговли в выходные дни. Стратегия использует увеличение объема торговли в выходные дни, чтобы оценить тенденцию, сделать больше или сделать меньше в субботу. Стратегия имеет преимущества, такие как увеличение доходов, контроль риска, но также содержит определенный риск. Следующий шаг может быть оптимизирован с точки зрения входа, остановки убытков, управления леверандом, расширения разновидности и т. Д., Что делает стратегию более стабильной и интеллектуальной.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Copyright Boris Kozak
strategy("XBT Weekend Trade Strategy", overlay=false)
leverage = input(10,"Leverage")
profitTakingPercentThreshold = input(0.10,"Profit Taking Percent Threshold")
//****Code used for setting up backtesting.****///
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(12, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2025, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na
bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
//****END Code used for setting up backtesting.****///
//*** Main entry point is here***//
// Figure out how many days since the Friday close
days_since_friday = if dayofweek == 6
0
else
if dayofweek == 7
1
else
if dayofweek == 1
2
else
if dayofweek == 2
3
else
if dayofweek == 3
4
else
if dayofweek == 4
5
else
6
// Grab the Friday close price
fridaycloseprice = request.security(syminfo.tickerid,'D',close[days_since_friday])
plot(fridaycloseprice)
strategy.initial_capital = 50000
// Only perform backtesting during the window specified
if testPeriod()
// If we've reached out profit threshold, exit all positions
if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold)
strategy.close_all()
// Only execute this trade on saturday and sunday (UTC)
if (dayofweek == 7.0 or dayofweek == 1.0)
// Begin - Empty position (no active trades)
if (strategy.position_size == 0)
// If current close price > threshold, go short
if ((close>fridaycloseprice*1.045))
strategy.entry("Short Entry", strategy.short, leverage)
else
// If current close price < threshold, go long
if (close<(fridaycloseprice*0.955))
strategy.entry("Long Entry",strategy.long, leverage)
// Begin - we already have a position
if (abs(strategy.position_size) > 0)
// We are short
if (strategy.position_size < 0)
if ((close>strategy.position_avg_price*1.045))
// Add to the position
strategy.entry("Adding to Short Entry", strategy.short, leverage)
else
strategy.entry("Long Entry",strategy.long,leverage)
// On Monday, if we have any open positions, close them
if (dayofweek==2.0)
strategy.close_all()