OPEN-SOURCE SCRIPT

Advanced Buy/Sell Signals with Sessions 2025 Kravchenko

업데이트됨
Наданий вами скрипт — це торгова стратегія, реалізована в Pine Script, яка використовується для створення сигналів купівлі та продажу на основі комбінації різних технічних індикаторів. Ось розбивка компонентів: ### Ключові компоненти: 1. **RSI (індекс відносної сили)**: використовується для визначення умов перекупленості або перепроданості на ринку. - **Умова**: стратегія шукає RSI нижче 30 (перепроданість) для сигналів купівлі та RSI вище 70 (перекупленість) для сигналів продажу. 2.

릴리즈 노트
//version=5
indicator("Advanced Buy/Sell Signals with Sessions", overlay=true)

// Input parameters
lengthRSI = input.int(14, title="RSI Length")
lengthBB = input.int(20, title="Bollinger Bands Length")
multBB = input.float(2.0, title="Bollinger Bands Multiplier")
volMultiplier = input.float(1.5, title="Volume Multiplier")
lengthEMA = input.int(50, title="EMA Length")
lengthEMA72 = input.int(72, title="EMA 72 Length")
lengthEMA89 = input.int(89, title="EMA 89 Length")
lengthATR = input.int(14, title="ATR Length")
upperTF = input.timeframe("D", title="Higher Timeframe")
sensitivity = input.float(1.0, title="Signal Sensitivity (Higher = Stricter)", minval=0.5, maxval=2.0)
arrowSize = input.string("Normal", title="Arrow Size", options=["Small", "Normal", "Large"])

// Calculate RSI
rsi = ta.rsi(close, lengthRSI)

// Calculate Bollinger Bands
basis = ta.sma(close, lengthBB)
upperBB = basis + multBB * ta.stdev(close, lengthBB)
lowerBB = basis - multBB * ta.stdev(close, lengthBB)

// Calculate volume threshold
volAvg = ta.sma(volume, lengthBB)
volHigh = volAvg * volMultiplier

// Calculate EMA and ATR
ema = ta.ema(close, lengthEMA)
ema72 = ta.ema(close, lengthEMA72)
ema89 = ta.ema(close, lengthEMA89)
atr = ta.atr(lengthATR)

// Higher timeframe EMA
htfEma = request.security(syminfo.tickerid, upperTF, ta.ema(close, lengthEMA))

// Smart Money Concepts: Order Blocks
isBullishOrderBlock = (high == ta.highest(high, lengthBB)) and close > open
isBearishOrderBlock = (low == ta.lowest(low, lengthBB)) and close < open

bullishOrderBlockLevel = ta.valuewhen(isBullishOrderBlock, close, 0)
bearishOrderBlockLevel = ta.valuewhen(isBearishOrderBlock, close, 0)
orderBlockLevel = isBearishOrderBlock ? bearishOrderBlockLevel : bullishOrderBlockLevel

// Session filters
var bool inSession = na
inSession := time("0200-1000:1234567") or time("0800-1000:1234567") or time("1000-1500:1234567") or time("1430-2300:1234567")

// Additional Filters: MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Entry conditions with all filters and sensitivity adjustments
longCondition = (rsi < 30 * sensitivity and close < lowerBB and volume > volHigh and close > ema and close > htfEma and close > ema72 and close > ema89 and macdLine > signalLine and inSession and close > orderBlockLevel)
shortCondition = (rsi > 70 / sensitivity and close > upperBB and volume > volHigh and close < ema and close < htfEma and close < ema72 and close < ema89 and macdLine < signalLine and inSession and close < orderBlockLevel)

// Map arrow size
arrowSizeMap = arrowSize == "Small" ? size.small : arrowSize == "Normal" ? size.normal : size.large

// Plot entry signals
if (longCondition)
label.new(bar_index, low, "▲", style=label.style_label_up, color=color.green, textcolor=color.white, size=arrowSizeMap)
if (shortCondition)
label.new(bar_index, high, "▼", style=label.style_label_down, color=color.red, textcolor=color.white, size=arrowSizeMap)
Breadth IndicatorsCentered OscillatorsMoving Averages

오픈 소스 스크립트

진정한 TradingView 정신에 따라, 이 스크립트의 저자는 트레이더들이 이해하고 검증할 수 있도록 오픈 소스로 공개했습니다. 저자에게 박수를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 출판물에서 이 코드를 재사용하는 것은 하우스 룰에 의해 관리됩니다. 님은 즐겨찾기로 이 스크립트를 차트에서 쓸 수 있습니다.

차트에 이 스크립트를 사용하시겠습니까?

면책사항