
Strategi ini adalah sistem perdagangan analisis teknikal yang menggabungkan Gaussian Channel dan Stochastic RSI. Gaussian Channel membentuk saluran naik dan turun melalui penggandaan purata bergerak indeks (EMA) dan perbezaan piawai, menyediakan sokongan dinamik dan titik rintangan untuk turun naik harga.
Logik teras strategi adalah berdasarkan elemen utama berikut:
Strategi ini, dengan menggabungkan saluran Gaussian dan RSI rawak, membina sistem perdagangan yang mempunyai kemampuan untuk mengesan trend dan menangkap kembali. Strategi ini direka dengan mempertimbangkan pelbagai dimensi analisis teknikal, mempunyai asas teori yang baik dan kebolehlakuan praktikal. Dengan pengoptimuman parameter yang munasabah dan pengurusan risiko, strategi ini dijangka dapat mencapai prestasi yang stabil dalam pelbagai jenis persekitaran pasaran.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 3h
basePeriod: 3h
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/
// © fgkkaraca
//@version=5
strategy("Alienseeker GC and RSI Strategy", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=200, process_orders_on_close=true)
// Gaussian Channel Inputs
lengthGC = input.int(20, "Gaussian Channel Length", minval=1)
multiplier = input.float(2.0, "Standard Deviation Multiplier", minval=0.1)
// Calculate Gaussian Channel
basis = ta.ema(close, lengthGC)
deviation = multiplier * ta.stdev(close, lengthGC)
upperChannel = basis + deviation
lowerChannel = basis - deviation
// Plot Gaussian Channel
plot(basis, "Basis", color=color.blue)
plot(upperChannel, "Upper Channel", color=color.green)
plot(lowerChannel, "Lower Channel", color=color.red)
// Stochastic RSI Inputs
rsiLength = input.int(14, "RSI Length", minval=1)
stochLength = input.int(14, "Stochastic Length", minval=1)
smoothK = input.int(3, "Smooth K", minval=1)
smoothD = input.int(3, "Smooth D", minval=1)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Calculate Stochastic RSI
lowestRSI = ta.lowest(rsi, stochLength)
highestRSI = ta.highest(rsi, stochLength)
stochRSI = (rsi - lowestRSI) / (highestRSI - lowestRSI) * 100
k = ta.sma(stochRSI, smoothK)
d = ta.sma(k, smoothD)
// Trading Conditions
stochUp = k > d
priceAboveUpper = ta.crossover(close, upperChannel)
priceBelowUpper = ta.crossunder(close, lowerChannel)
// Date Range Filter
startDate = input(timestamp("2018-01-01"), "Start Date")
endDate = input(timestamp("2069-01-01"), "End Date")
timeInRange = true
// Strategy Execution
if timeInRange
strategy.entry("Long", strategy.long, when=priceBelowUpper and stochUp)
strategy.close("Long", when=priceAboveUpper )