
Стратегия является системой отслеживания трендов, которая сочетает в себе случайные относительно слабые индикаторы ((Stochastic RSI) и движущиеся средние ((Moving Average)). Стратегия использует анализ перекрестных сигналов этих двух технических индикаторов для определения переломов в тенденциях рынка и, таким образом, для захвата потенциальных торговых возможностей.
Основная логика стратегии основана на двух основных системах показателей:
Эта стратегия, объединенная с случайными относительно сильными показателями и системой движущихся средних, создает относительно полную систему торговли, отслеживающей тенденции. Преимущество стратегии заключается в механизме перекрестной проверки нескольких показателей, который эффективно снижает помехи ложных сигналов. Но в то же время следует обратить внимание на контроль риска, особенно в условиях волатильности рынка.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Quantuan_Research
//@version=6
version=6
strategy("Quantuan Research - Alpha", overlay=true, pyramiding=200, default_qty_value=1)
// Define Stochastic RSI settings
lengthRSI = input(17, title="RSI Length")
lengthStoch = input(20, title="Stochastic Length")
src = input(close, title="Source")
rsi = ta.rsi(src, lengthRSI)
k = ta.stoch(rsi, rsi, rsi, lengthStoch)
d = ta.sma(k, 3)
// Define MA settings
fastMALength = input(10, title="Fast MA Length")
slowMALength = input(20, title="Slow MA Length")
fastMA = ta.sma(close, fastMALength)
slowMA = ta.sma(close, slowMALength)
// Define long and short conditions
longCondition = k < 17 and d < 23 and k > d
shortCondition = k > 99 and d > 90 and k < d
// Create long and short signals
if longCondition//@
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
// Add alerts for long and short signals
alertcondition(longCondition, title="Long Signal", message="Long signal generated")
alertcondition(shortCondition, title="Short Signal", message="Short signal generated")
// Plot Moving Averages with color based on trend
plot(fastMA, color = fastMA > slowMA ? color.new(color.rgb(0, 255, 170), 0) : color.new(color.rgb(255, 0, 0), 0), title = 'Fast MA')
plot(slowMA, color = color.new(color.rgb(255, 255, 0), 0), title = 'Slow MA')