
この戦略は,複数の技術指標に基づいた動的バランス取引システムである.これは,相対的に強い指標 ((RSI),ブリン帯 ((BB),指数移動平均 ((EMA),移動平均相似分散指標 ((MACD) など,複数の技術分析ツールを総合的に使用し,指標間の相互検証によって市場での買入機会を識別する.この戦略は,取引ごとに総資産の10%をデフォルトで投入するパーセントポジション管理を採用し,この保守的なポジション管理は,リスクを制御するのに役立ちます.
戦略の核心的な論理は,複数の指標の協調的な確認によって取引信号の信頼性を高めることです.具体的には:
購入シグナルには以下の条件の少なくとも2つが必要です.
売り込みシグナルは,次のいずれかがある場合で発生します.
この戦略は,複数の技術指標の組み合わせを用いて,比較的完全な取引システムを構築している.指標間でのクロス検証により,取引信号の信頼性が向上している.同時に,保守的なポジション管理を使用してリスクを制御している.いくつかの最適化が必要な側面があるが,全体的なフレームワークの設計は合理的で,実用的な応用価値がある.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ETH/USDT Multi-Indicator Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=250)
// Parametri za RSI
rsiPeriod = 14
rsiOversold = 30
rsiOverbought = 70
// Parametri za Bollinger Bands
bbLength = 20
bbStdDev = 2
// Parametri za EMA
emaShort = 50
emaLong = 200
// Parametri za MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// RSI izračun
rsi = ta.rsi(close, rsiPeriod)
// Bollinger Bands izračun
basis = ta.sma(close, bbLength)
upperBand = basis + bbStdDev * ta.stdev(close, bbLength)
lowerBand = basis - bbStdDev * ta.stdev(close, bbLength)
// EMA izračun
emaFast = ta.ema(close, emaShort)
emaSlow = ta.ema(close, emaLong)
// Pravilo 1: RSI prelazi iznad 30 nakon preprodatosti
rsiSignal = rsi < rsiOversold
// Pravilo 2: Cena dotakne donju Bollinger traku
bbSignal = close < lowerBand
// Pravilo 3: EMA crossover (zlatni krst)
emaSignal = emaFast > emaSlow
// Pravilo 4: MACD prelazak iznad signalne linije
macdSignal = macdLine > signalLine
// Kombinovani signal za kupovinu (bar dva uslova ispunjena)
buySignal = (rsiSignal and bbSignal) or (emaSignal and macdSignal)
// Pravilo za prodaju (RSI prekupljen ili cena iznad gornje Bollinger trake)
sellSignal = rsi > rsiOverbought or close > upperBand
// Vizualizacija signala
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategija: Otvaranje i zatvaranje pozicija
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// Bollinger Bands vizualizacija
plot(upperBand, color=color.new(color.blue, 50), title="Upper Band")
plot(lowerBand, color=color.new(color.blue, 50), title="Lower Band")
plot(basis, color=color.blue, title="Basis")
// EMA vizualizacija
plot(emaFast, color=color.orange, title="EMA Short")
plot(emaSlow, color=color.red, title="EMA Long")