Эта стратегия использует комбинацию скользящих средних с различными периодами для установления тенденций и использует производные приближения с конечной разницей для прогнозирования возможных переворотов.
Стратегия использует одновременно 20-, 40- и 80-периодные простые скользящие средние. Когда цена закрытия выше этих 3 скользящих средних, она определяется как восходящий тренд; когда цена закрытия ниже этих 3 скользящих средних, она определяется как нисходящий тренд. Тенденция подтверждается только тогда, когда самая низкая цена выше или самая высокая цена ниже этих 3 скользящих средних.
Для прогнозирования возможных точек переворота стратегия использует приближение производных конечных различий первой производной 40-периодной простой скользящей средней.
Специфическими правилами торговли являются:
Когда быстрая линия находится выше средней линии, а средняя линия - выше медленной линии, а первая производная > 0, перейти на длинную;
Когда быстрая линия находится ниже средней линии, а средняя линия ниже медленной линии, а первая производная <0, перейти на короткую;
Закрыть длинную позицию, когда первая производная <= 0;
Закрыть короткую позицию, когда первая производная >= 0.
Преимущества этой стратегии включают:
Использование нескольких скользящих сред для определения тенденций делает суждение о тенденциях более надежным;
Прогнозирование точек перехода с помощью производных инструментов позволяет своевременно остановить потерю и уменьшить вывод;
Логика проста и понятна, подходит для начинающих;
Только торговать с обратным движением после тренда избегает ловушки и имеет более высокий уровень выигрыша.
Эта стратегия также сопряжена с некоторыми рисками:
Комбинация скользящих средних может давать неправильные сигналы на рынках с диапазоном;
Сигналы отмены деривативов могут отставать и не могут полностью избежать потерь;
Неправильное установление стоп-лосса может увеличить убытки.
Чтобы решить эти риски, мы можем оптимизировать параметры скользящих средних, корректировать стоп-лосс, комбинировать с другими показателями для улучшения стратегии.
Стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать периоды скользящей средней, чтобы они лучше соответствовали различным рыночным условиям;
Попробуйте различные типы скользящих средних, например, EMA;
Использовать индикаторы волатильности для установки динамических остановок;
Сочетать другие индикаторы для подтверждения, чтобы избежать ложных сигналов.
Эта движущаяся средняя комбинация стратегии тренда использует несколько движущихся средних для определения направления тренда и производных для прогнозирования переворотов, которые могут эффективно контролировать риски и подходят для среднесрочной торговли. Стратегия проста и легко оптимизируется, что делает ее идеальной для начинающих изучать и практиковать следующие стратегии. Дальнейшие оптимизации могут сделать параметры более адаптивными к различным продуктам для лучших результатов.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Big 3",overlay=true, default_qty_type=strategy.percent_of_equity) // enter on Arrows // take profit on touch with 80 SMA, gray, or at discretion fast = sma(close,20) mid = sma(close,40) slow = sma(close,80) plot(fast,linewidth=1) plot(mid,linewidth=2) plot(slow,linewidth=4) isUptrend = close > fast and close > mid and close > slow isDowntrend = close < fast and close < mid and close < slow confirmed = (low > fast and low > mid and low > slow) or (high < fast and high < mid and high < slow) deriv = 3 * mid[0] - 4 * mid[1] + mid[2] stableUptrend = (fast > mid) and (mid > slow) and (deriv > 0) stableDowntrend = (fast < mid) and (mid < slow) and (deriv < 0) barcolor(isUptrend ? green : isDowntrend ? red : gray) plotshape(not confirmed[1] and confirmed and isUptrend ? close : na,style=shape.arrowup,location=location.belowbar,color=green) plotshape(not confirmed[1] and confirmed and isDowntrend ? close : na,style=shape.arrowdown,location=location.abovebar,color=red) stop = na //stop = input(1000, "Stop") strategy.entry("long", strategy.long, when=(stableUptrend), stop=stop) strategy.close("long", when=(deriv <= 0)) strategy.entry("short", strategy.short, when=(stableDowntrend), stop=stop) strategy.close("short", when=(deriv >= 0))