VLDMI
VLDMI is a variable-period RSI: the ratio of a short ATR to a long one decides how far to shift the period away from 14, and the node reads whichever of its pre-built RSI handles is nearest. It creates thirteen handles at the defaults, outputs +1, -1 or 0 rather than a line, and — across every volatility regime tried — never selects the periods at either end of the list it built.
- Handles created
- 13
- Candidates ever used
- 9 of 11
- Signals per bar
- 2.3%
예시용 — 합성 데이터로, 실시간 호가가 아닙니다.
What VLDMI tells you
Most adaptive indicators change a weight. This one changes a period: it measures how a 10-bar ATR compares with a 28-bar one, turns that ratio into a whole number of steps, and reads the RSI of the period that many steps away from 14. Because MetaTrader cannot change an indicator's period after a handle exists, the Builder solves it by building every period the settings could ask for — eleven of them at the defaults — and switching between them bar by bar. What comes out is not a line but one of three integers, so the flow reads it with a comparison against zero. The interesting part is what the measurements say about the switching: how much it moves depends entirely on how fast volatility changes, and the extremes of the list it so carefully builds are never used.
- One node, thirteen handles — and the count is decided at runtime by the inputs
- The output is a one-bar pulse of +1 / -1 / 0, read with Compare against zero
- The adaptation gates the same rule; it never reverses the direction of a signal
- 1 Compare a 10-bar ATR with a 28-bar ATR and scale the difference by the step count
- 2 Round to a whole number of steps and pick the nearest pre-built RSI period
- 3 Report +1 if that RSI is oversold and falling fast, -1 if overbought and rising fast
공식 및 계산 세부 정보 표시
MetaTrader cannot change an indicator’s period once its handle exists. A variable-period RSI therefore cannot be one indicator — it has to be a shelf of them, with something choosing which to read.
short = ATR(10) long = ATR(28) <- 28 = base x 2
x = (1 - short / long) * steps <- steps = 5
period = 14 + round_half_to_even(x) <- not MathRound
read the nearest pre-built RSI handle to that period
At the defaults the shelf holds periods 9 to 19 — eleven iRSI handles — plus the two iATR. Thirteen handles from one node, and the count is not fixed in the code: it is computed in OnInit from the inputs, into a dynamically sized array. No other node in the palette does that.
Three of the thirteen are never read. Across five volatility regimes — from perfectly steady to a fresh regime every ten bars with a hundredfold range — the periods actually selected were 10 through 17, reaching 18 only in the two most violent cases:
| Volatility regime | Bars off the base period | Candidate periods used |
|---|---|---|
| Constant | 6.5% | 13, 14, 15 (3 of 11) |
| Changes every 200–500 bars | 18.7% | 10–17 (8 of 11) |
| Changes every 20 bars | 65.9% | 10–18 (9 of 11) |
| Changes every 10 bars | 63.6% | 10–18 (9 of 11) |
The target period landed outside the candidate range on 0.00% of bars in every regime, so the clamping the search performs never fires either. Both ATR windows overlap heavily, so the ratio simply does not swing far enough to reach the ends of the list the node builds for it.
How adaptive it is, is a fact about the market. The same settings gave 6.5% and 65.9% on the two extremes above. Any single number for this is a number about a data set.
It gates the same rule rather than replacing it. Run a fixed RSI(14) with identical thresholds and slope condition: the two disagree on 4.8% of signal bars in slow-changing volatility and 14.0% in the fastest regime, and across roughly 400,000 evaluations neither ever fired in the opposite direction to the other.
신호
VLDMI이 제공하는 백테스트 가능한 뚜렷한 신호 — 및 각 신호에 적합한 시장 상황.
Overbought and Still Rising
Builder로 구현 가능The Period Sits Still
Builder로 구현 가능Low Reading Without the Drop
고급 로직MT5 구현
MetaTrader 5가 실제로 계산하고 그리는 내용 — 이 페이지의 모든 규칙이 기준으로 삼는 사양입니다.
플랫폼 참고
가장 잘 작동하는 경우 / 주의해서 사용
어떤 지표도 보편적인 우위를 가지지 않습니다. VLDMI이 도움이 되는 곳 — 그리고 오해를 일으키는 곳.
가장 잘 작동하는 경우
- Instruments whose volatility genuinely shifts within the ATR windows, not between weeks
- M15 and above, where thirteen handles per node is a cost you only pay once
- Ranging conditions — every signal it produces is a fade
- Flows that give the position a defined lifetime, because the pulse has no exit of its own
주의해서 사용
- Assuming the period moves: with steady volatility it stays on the base 93.5% of the time
- Large step counts, which build handles for periods that are never selected
- Reading the output as a level or a strength — it is +1, -1 or 0 and nothing else
- Trending markets, where fading an overbought reading is the losing side by construction
VLDMI 전략 구축
신호를 진입 및 청산 규칙에 연결하고, 컴파일 가능한 MT5 EA를 내보내세요 — 코드 없이.
- One VLDMI node: base period 14, a ten-bar volatility window, five shift steps, 30 / 70 levels
- Signal greater than zero → Open Buy · SL 70 / TP 70
- Signal less than zero → Open Sell, same distances mirrored
- A Time Exit closing anything held twenty bars or more
- Shift 1, so the pulse is judged on a closed bar
VLDMI을 다른 지표와 결합
하나의 지표만으로는 충분하지 않습니다. 이 조합들이 VLDMI의 취약점을 보완합니다.
VLDMI + ATR
- ATR at 14
- Stop loss in ATR mode
- Signal greater than zero
The Stop Loss node has an ATR mode, so replacing the fixed distance needs no extra condition — swap the mode and set the multiplier.
Builder 열기 →VLDMI + ADX
- ADX below 25
- Signal greater than zero
- Buy
No single-flow template combines them. Add an ADX node with a Compare below 25 and join it to the VLDMI Compare with an And gate.
Builder 열기 →VLDMI + Bollinger Bands
- Bollinger Bands at 20
- Signal greater than zero
- Buy
Add a Bollinger Bands node with a Compare of price against the lower band, then join it to the VLDMI Compare with an And gate.
Builder 열기 →매개변수
자신의 통화쌍과 시간 프레임에서 검증할 초기값 — 보장된 설정이 아닙니다.
| 매개변수 | 기본값 | 권장 테스트 범위 | 기능 |
|---|---|---|---|
| Base RSI period | 14 | 2–1000 | The period the shift is measured from, and also what the long ATR is built from — the long ATR period is this value doubled, so raising the base widens the volatility comparison as well as the RSI. Measured with steady volatility, the chosen period is this value on 93.5% of bars. |
| Short ATR period | 10 | 2–1000 | The recent-volatility half of the ratio. What matters is the gap between this and the base doubled: the closer the two windows, the more they overlap and the smaller the ratio's excursions, so shortening this is the direct way to make the period move more often. |
| Shift steps | 5 | 0–50 | How many periods either side of the base are available, and therefore how many iRSI handles get built: the candidate list runs from max(2, base − steps) to max(2, base + steps). At 5 that is eleven handles; at 20 it is thirty-three and at 50 it is sixty-three. The measured selections never reached the ends of the list, so a large value here buys handles that are created, warmed and never read. |
| Oversold level | 30 | 0–100 | The RSI level below which a long is allowed. Note this is only half of the condition — the RSI also has to have fallen by more than the slope threshold over the lookback, so a market that drifts down to 29 and sits there produces nothing. |
| Overbought level | 70 | 0–100 | The mirror. Both levels are read on whichever RSI period was selected for that bar, which is worth remembering when comparing readings against a chart running a fixed period. |
| Minimum RSI change | 10 | 0–100 | How many RSI points the reading must have moved over the lookback, in the direction being faded. This is what makes the output a pulse rather than a state: it is true on the bars where the move is happening, not for as long as the reading stays extreme. |
| Slope lookback | 5 | 1–500 | How many bars back the change is measured over. The node reads lookback + 1 values from the selected RSI handle each evaluation, so raising this raises the copy size rather than the handle count. |
| Shift | 1 | 0–100 | Which bar the node reads. The template uses 1, so decisions are made on closed bars. The node always evaluates two consecutive bars — the one you point at and the one before it — so that a Cross node could be attached; with a Compare node, as in the template, the second evaluation is computed and discarded. |
| Timeframe | Current | Current / M1–MN1 | Which timeframe's bars all thirteen handles are built on. They all share it — there is no way to read the volatility ratio from one timeframe and the RSI from another. |
초기 프리셋
시장 예시
VLDMI이 작동하는 곳, 실패하는 곳, 그리고 필터가 결과를 어떻게 바꾸는지.
A drop faded near the low
Volatility rises, the chosen period shortens, the shorter RSI reaches oversold sooner than a fixed one would, and the pulse fires while the drop is still moving. The position is closed twenty bars later whether or not the reading has recovered.
The trend that kept going
The same signal in a directional market. Nothing in the node measures direction — rising volatility shortens the period and makes the fade fire earlier, which is exactly the wrong way round when the move is real.
Low but not falling
The RSI sits below thirty for a stretch without moving much. No signal is produced, because the rule needs the reading to be extreme and still moving; a slow grind into oversold is not what it fades.
FAQ
- Is VLDMI built into MetaTrader 5?
- No, and there is no single function to call. The Builder assembles it from standard parts: one iATR over the short period, one over twice the base period, and one iRSI for every candidate period the settings allow. At the defaults that is thirteen handles created by a single node, which is more than any other node in the palette.
- How does the period actually change?
- The node computes (1 − shortATR / longATR) × steps, rounds it to a whole number and adds it to the base period, then reads whichever pre-built RSI handle is closest to that. Because the short ATR is in the numerator, a burst of volatility makes the ratio larger than one, the expression negative, and the period shorter.
- How often does it really adapt?
- That depends on the market, not the indicator, and the range is wide. With volatility held constant the chosen period was the base 14 on 93.5% of bars. With volatility regimes 200–500 bars long it left the base on 18.7% of bars, and with regimes only 20 bars long — shorter than the ATR window itself — on 65.9%. Both ATR windows overlap heavily, so the ratio only swings when volatility changes faster than they can follow.
- Should I raise the step count to make it more adaptive?
- The measurements argue against it. At the default five steps the candidate list runs 9 to 19, and across every regime tested the periods actually selected were 10 to 17 — with the two most violent regimes reaching 18. Nine of the eleven handles were ever read, and the target period landed outside the list on 0.00% of bars. Raising the step count builds more handles at the ends of a list that the ratio does not reach; shortening the short ATR period widens the ratio's swing, which is the input that actually controls this.
- Is it better than a plain RSI?
- It is different on a minority of bars and never opposite. Against a fixed RSI(14) with the same thresholds and slope condition, the signals differ on 4.8% of signal bars in slow-changing volatility and 14.0% in the fastest regime, with the adaptive version mostly adding signals rather than removing them — and across roughly 400,000 evaluations neither ever fired against the other. Whether the added signals are worth having is a question about your instrument and your costs, not one a synthetic series can answer, so this page does not claim it.
- Why does the template close on time instead of on the indicator?
- Because the signal is a one-bar pulse and there is nothing to wait for. Measured after a signal, the RSI is out of the threshold zone in a median of 2 bars, so an exit that waits for the condition to clear would close almost immediately. Waiting for the reading to return to the midline takes a median of 19 bars — mean 23.2, 75th percentile 31 — so the Time Exit is set at 20 bars held. At that point 98.9% of cases have left the zone and 55.2% have crossed 50.
- Why is the stop the same distance as the target?
- Because the measured excursions are nearly the same size. Normalising by the ATR at entry, the worst adverse move over the twenty bars had a median of 1.93 × ATR and the best favourable move 1.79 × ATR. The 1 : 3 stop-to-target shape the trend templates on this site use would point the wrong way here: a target three ATRs away is reached 25.8% of the time while a stop three ATRs away is hit 29.1% of the time. The distances are a guard; time is the exit.
- Why does it not take every signal?
- The template holds one position at a time and holds it for twenty bars, and 60.7% of signals arrive within twenty bars of the previous one. That is a deliberate trade-off rather than an oversight: taking them all means stacking positions in the same direction during exactly the stretches where a fade is most likely to be wrong. If you want them, remove the Time Exit and raise the position limit — and re-test, because that is a materially different strategy.
- Can I build this without coding?
- Yes. The VLDMI template has one VLDMI node at the defaults feeding two Compare nodes against zero, which open a buy or a sell with 70 / 70 pip distances, plus a Time Exit closing anything held twenty bars. The base period, the ATR period, the step count, the levels, the slope threshold and its lookback, the stops and the exit length are all EA inputs.