Эта стратегия отслеживает двойные тенденции акций путем расчета классических ключевых точек и использования индикатора RSI для определения текущего направления тренда.
Стратегия в основном следует следующим шагам для достижения двойного отслеживания тенденций:
Вычислить классические опорные точки, включая опорные, S1, R1, S2, R2 и т.д.
Используйте индикатор RSI для определения направления ценового тренда.
Судите о направлении суточного тренда. Если цена закрытия больше, чем R2 предыдущего дня, это сильная тенденция. Если цена закрытия меньше, чем S2 предыдущего дня, это слабая тенденция.
Принимайте сегодняшние торговые решения, основываясь на направлении ежедневного тренда, комбинируя Pivot Points и индикатор RSI.
Если суточный тренд силен (близкий > R2), ищите точки обратной покупки в разделе Pivot или покупайте ниже S1.
Если суточный тренд слабый (близкий < S2), ищите точки обратной продажи выше Pivot или продажи выше R1.
Для сильного тренда стоп-лосс - это S1 предыдущего дня. Для слабого тренда стоп-лосс - R1 предыдущего дня.
Стратегия оценивает среднесрочный долгосрочный тренд с помощью ключевых точек и использует RSI и т. Д. Для определения краткосрочного тренда и пунктов входа.
Основными преимуществами этой стратегии являются:
Способность отслеживать как среднесрочные, так и краткосрочные тенденции, гибко адаптируясь к изменениям рынка.
Пивовые точки обладают некоторой способностью оценивать тенденции и могут эффективно определять среднесрочную и долгосрочную тенденцию.
RSI и т.д. могут оценивать краткосрочные уровни перекупленности/перепроданности, что помогает определить конкретные точки входа.
Правила стратегии ясны и просты, легко понять.
Контроль рисков осуществляется с четкими точками остановки потерь.
Основными рисками этой стратегии являются:
Пivot Points могут не предсказывать средне-долгосрочную тенденцию. Это может быть улучшено путем корректировки параметров или сочетания с другими показателями.
RSI и т. д. могут давать ложные сигналы.
Точки остановки могут быть слишком произвольными, не способными полностью избежать поражения остановки.
Стратегия может быть более масштабной, требует психологической подготовки и достаточной поддержки капитала.
Существует риск чрезмерной торговли. Условия открытия могут быть скорректированы, чтобы избежать чрезмерной торговли.
Стратегия может быть оптимизирована в следующих областях:
Попробуйте различные комбинации параметров, такие как корректировка параметров RSI, оптимизация вычислений Pivot Point и т. Д., Чтобы найти оптимальные параметры.
Добавьте или объедините другие индикаторы, такие как KDJ, MACD и т. Д., Чтобы сделать сигналы более точными и надежными.
Оптимизировать стратегии стоп-лосса, например, отслеживание стоп-лосса, выход стоп-лосса и т.д., чтобы уменьшить риск возникновения стоп-лосса.
Оптимизировать размещение позиций, чтобы ограничить влияние потерь одной позиции.
Оптимизируйте условия входа, чтобы избежать чрезмерной торговли.
Испытать эффективность на различных продуктах и регулировать параметры.
Добавьте автоматические стратегии получения прибыли, чтобы зафиксировать прибыль.
Эта стратегия оценивает среднесрочный долгосрочный тренд с помощью ключевых точек и использует RSI и т. Д., Чтобы помочь определить краткосрочный тренд и точки входа, достигнув двойного отслеживания тренда цен. Общая логика ясна и разумна, хорошо работает для среднесрочной торговли. Но существует некоторый риск ложных сигналов, что требует дальнейшей оптимизации параметров, строгого контроля стоп-лосса для снижения рисков и надлежащего контроля размеров позиций для управления возможными более крупными снижениями.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="swing trade", shorttitle="vinay_swing", overlay=true) pf = input(false,title="Show Filtered Pivots") sd = input(true, title="Show Daily Pivots?") //moving average len = input(50, minval=1, title="Length") src = input(close, title="Source") out = ema(src, len) //RSI INPUT length = input( 7 ) overSold = input( 20 ) overBought = input( 80 ) price = close vrsi = rsi(price, length) // Classic Pivot pivot = (high + low + close ) / 3.0 // Filter Cr bull= pivot > (pivot + pivot[1]) / 2 + .0025 bear= pivot < (pivot + pivot[1]) / 2 - .0025 // Classic Pivots r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low) s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot) r2 = pf ? na : pivot + (high - low) s2 = pf ? na : pivot - (high - low) BC = (high + low) / 2.0 TC = (pivot - BC) + pivot //Pivot Average Calculation smaP = sma(pivot, 3) //Daily Pivots dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) dtime_pivotAvg = request.security(syminfo.tickerid, 'D', smaP[1]) dtime_r1 = request.security(syminfo.tickerid, 'D', r1[1]) dtime_s1 = request.security(syminfo.tickerid, 'D', s1[1]) dtime_r2 = request.security(syminfo.tickerid, 'D', r2[1]) dtime_s2 = request.security(syminfo.tickerid, 'D', s2[1]) dtime_BC = request.security(syminfo.tickerid, 'D', BC[1]) dtime_TC = request.security(syminfo.tickerid, 'D', TC[1]) offs_daily = 0 plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=circles, color=fuchsia,linewidth=1) plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=circles, color=#DC143C,linewidth=1) plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=circles, color=lime,linewidth=1) plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=circles, color=maroon,linewidth=1) plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=circles, color=#228B22,linewidth=1) plot(sd and dtime_BC ? dtime_BC : na, title="Daily BC",style=circles, color=black,linewidth=1) plot(sd and dtime_TC ? dtime_TC : na, title="Daily TC",style=circles, color=black,linewidth=1) bull1= (close > dtime_r2) bull2= (low < dtime_pivot) or (low < dtime_s1) bull3= dtime_pivot > dtime_pivot[1] bullishenglufing=bull2 and bull3 bullishenglufing1=bull1 and (close > out) and (crossover(vrsi, overBought)) longCondition = bull1[1] and ((low < dtime_TC) or (low < dtime_BC) or (low < dtime_s1)) bear1= (close < dtime_s2) bear2= (high > dtime_pivot) or (high < dtime_r1) bear3= dtime_pivot < dtime_pivot[1] bearishenglufing=bear2 and bear3 bearishenglufing1=bear1 and (close < out) and (crossunder(vrsi, overSold)) shortCondition = bear1[1] and ((high > dtime_BC) or (high > dtime_TC) or (high > dtime_r1)) plotshape(bullishenglufing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny) plotshape(bearishenglufing, style = shape.triangledown, location = location.abovebar, color = red, size = size.tiny) if (longCondition) strategy.entry("My Long Entry Id", strategy.long) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)