Эта стратегия сочетает в себе двойной скользящий средний кроссовер и индикатор RSI для определения направления тренда и ситуаций с перекуплением / перепродажей. Он длится, когда условия покупки выполняются, и закрывает позиции, когда условия продажи запускаются. Цель состоит в том, чтобы использовать скользящий средний кроссовер для определения направления тренда, используя индикатор RSI, чтобы избежать неправильной покупки на вершинах и продажи на дне, тем самым генерируя лучшую прибыль.
Когда быстрый 9-периодный скользящий средний пересекает медленный 50-периодный скользящий средний, он сигнализирует о восходящем тренде в более короткие сроки, перекрывающихся с восходящим трендом в более длительные сроки, что является типичным бычьим сигналом. Между тем, если RSI больше предыдущего периода на 5 пунктов и меньше 70, это означает, что актив приближается, но еще не в перекупленной зоне, что делает его хорошим моментом для длинного хода.
Когда быстрая скользящая средняя за 9 периодов пересекает медленную скользящую среднюю за 50 периодов, это сигнализирует о начале медвежьего рынка, и существующие длинные позиции должны быть закрыты.
Эта стратегия использует двойной скользящий средний кроссовер для определения направления и RSI, чтобы избежать погони за вершинами и дном. Она может эффективно управлять средне- и долгосрочными тенденциями для стабильной прибыли. Но следует следить за отстающим характером сигналов кроссовера и настройкой параметров RSI. Также необходимо соотнести цену с объемом. При постоянном тестировании и оптимизации эта стратегия обещает еще лучшие результаты.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 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/ // © joshuajcoop01 //@version=5 strategy("Bitpanda Coinrule Template", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=30, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // RSI length = input(14) vrsi = ta.rsi(close, length) // Moving Averages for Buy Condition buyFastEMA = ta.ema(close, 9) buySlowEMA = ta.ema(close, 50) buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA) increase = 5 if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod) strategy.entry("Long", strategy.long) // Moving Averages for Sell Condition sellFastEMA = ta.ema(close, 9) sellSlowEMA = ta.ema(close, 50) plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue) plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green) condition = ta.crossover(sellSlowEMA, sellFastEMA) //sellCondition1 = request.security(syminfo.tickerid, "60", condition) strategy.close('Long', when = condition and timePeriod)