Strategies
多指标动态趋势预测交易系统-Multi-Indicator-Dynamic-Trend-Prediction-Trading-System
ChaoZhang · PineScript · Trend Following · 2025-02-18 15:22:24
Trigger
Filter
Sizing
—
Risk control
Exit
—
Context terms
No English write-up in the source (no author description).
Source code (56 lines)
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Intraday Leading Indicator Strategy", overlay=true)
// Inputs for the indicators
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought")
rsiOversold = input.int(30, title="RSI Oversold")
stochK = input.int(14, title="Stochastic %K Length")
stochD = input.int(3, title="Stochastic %D Smoothing")
stochOverbought = input.int(80, title="Stochastic Overbought")
stochOversold = input.int(20, title="Stochastic Oversold")
pivotTimeframe = input.timeframe("D", title="Pivot Points Timeframe")
// RSI Calculation
rsi = ta.rsi(close, rsiLength)
// Stochastic Calculation
k = ta.stoch(close, high, low, stochK)
d = ta.sma(k, stochD)
// Pivot Points Calculation
pivotHigh = request.security(syminfo.tickerid, pivotTimeframe, ta.pivothigh(high, 3, 3))
pivotLow = request.security(syminfo.tickerid, pivotTimeframe, ta.pivotlow(low, 3, 3))
// Entry Conditions
longCondition = rsi < rsiOversold and k < stochOversold and close > nz(pivotLow)
shortCondition = rsi > rsiOverbought and k > stochOverbought and close < nz(pivotHigh)
// Exit Conditions
exitLong = rsi > 50 or k > 50
exitShort = rsi < 50 or k < 50
// Execute Trades
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// Plot Pivot Levels
plot(pivotHigh, title="Pivot High", color=color.red, linewidth=1, style=plot.style_line)
plot(pivotLow, title="Pivot Low", color=color.green, linewidth=1, style=plot.style_line)