This strategy identifies price reversals around pivot point areas to generate signals for trend trading. It buys on pullbacks in uptrend and sells on bounces in downtrend, aiming to ride significant moves.
Calculate pivot points using high/low of previous n bars.
When price breaks above upper pivot point then drops, buy signal is generated.
When price breaks below lower pivot point then rebounds, sell signal is generated.
Pivot point break judges trend reversal, and reversal confirmation forms trade signals.
Set stop loss to control risks.
High probability of significant moves when reversal occurs around pivot areas.
Breakout confirmation filters out false breakouts effectively.
Easy to adjust parameters for different products.
Reasonable stop loss controls single trade loss.
Simple and intuitive logic, relatively easy to implement for live trading.
Need to properly determine pivot parameters to avoid missing opportunities.
Unable to distinguish normal oscillations and trend reversals.
No limit on number of consecutive trades, risks amplified losses.
No take profit defined, unable to lock in profits.
Test different pivot parameters on different products.
Add indicators to judge the authenticity of breakouts.
Define take profit or trailing stop to lock in profits.
Assess pivot point strength to avoid premature reverse entries.
Limit maximum number of consecutive reversal trades.
Optimize capital management for better position sizing.
This strategy identifies trading opportunities from pivot area reversals with a simple and reasonable framework. It has large room for custom optimization and improvements. Some expansions on indicator applications can enrich entry filters. Profit taking and risk control mechanisms are also needed to improve stability. Overall, this strategy has good potential for enhancements.
/*backtest start: 2023-09-12 00:00:00 end: 2023-09-19 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("KVFX Pivot Reversal Strategy", overlay=true) leftBars = input(4) rightBars = input(2) swh = ta.pivothigh(leftBars, rightBars) swl = ta.pivotlow(leftBars, rightBars) swh_cond = not na(swh) hprice = 0.0 hprice := swh_cond ? swh : hprice[1] le = false le := swh_cond ? true : (le[1] and high > hprice ? false : le[1]) if (le) strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick) swl_cond = not na(swl) lprice = 0.0 lprice := swl_cond ? swl : lprice[1] se = false se := swl_cond ? true : (se[1] and low < lprice ? false : se[1]) if (se) strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)