
Эта стратегия называется “пониженная волатильность направленная на покупку” и “стоп-стоп”. Она использует пересечение движущейся средней как сигнал к покупке, в сочетании с стоп-стоп для блокировки прибыли и применяется к валютам с низкой волатильностью.
Эта стратегия использует 3 различных цикла скользящих средних: 50 циклов, 100 циклов и 200 циклов. Логика ее покупки заключается в следующем: когда 50 циклов проходит 100 циклов, и когда 100 циклов проходит 200 циклов, делается дополнительный вход.
Этот сигнал означает, что рынок начинает прорыв из низкой зоны колебаний и вступает в состояние тренда. Быстрое повышение на 50 циклов представляет собой внезапное усиление внутренних сил в краткосрочной перспективе, которое начинает приводить среднюю длинную линию вверх; 100 циклов также начинают подниматься вверх, что означает включение средних сил и устойчивую тенденцию вверх.
После входа, стратегия использует метод остановки для блокирования прибыли. Цель остановки составляет 8% от цены входа, а линия остановки составляет 4% от цены входа. Установка остановки больше, чем остановка, способствует получению прибыли больше, чем убыток, обеспечивает общую прибыльность стратегии.
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Ответ:
Эта стратегия может быть оптимизирована в следующих аспектах:
В целом, стратегия работает с четкой логикой, может быть гибко применена для количественной торговли, чтобы получить низкий риск прибыли путем настройки цикла движущейся средней и стоп-стоп-убытков. Впоследствии может быть оптимизировано с точки зрения входных сигналов, стоп-моделей и т. Д., в сочетании с параметрами для поиска оптимального эффекта.
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='Low volatility Buy w/ TP & SL (by Coinrule)',title='Low volatility Buy w/ TP & SL', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//MA inputs and calculations
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_normal= sma(close, input(100))
//Entry
strategy.entry(id="long", long = true, when = movingaverage_slow > movingaverage_normal and movingaverage_fast > movingaverage_normal)
//Exit
longStopPrice = strategy.position_avg_price * (1 - 0.04)
longTakeProfit = strategy.position_avg_price * (1 + 0.08)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())
//PLOT
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=3)
plot(movingaverage_normal, color=color.blue, linewidth=2)