TASC 2022.10 RS VA EMA
"TASC 2022.10 RS VA EMA" by PineCodersTASC, MPL-2.0. Ported to FloScript by FloSignals; modifications under MPL-2.0. Original: TASC 2022.10 RS VA EMA (v1.0), read 2026-10-12T15:53:40.186Z; source language v5.
Licence: Mozilla Public License 2.0 (MPL-2.0) — full text. The source is published with it, modifications included, under the same licence.
TASC 2022.10 RS VA EMA by PineCodersTASC, ported from Pine v5. Overlay indicator with 1 plot and 4 inputs.
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PineCodersTASC
// TASC Issue: October 2022 - Vol. 40, Issue 11
// Article: Relative Strength Moving Averages
// Part 2: The Relative Strength Volume-Adjusted
// Exponential Moving Average (RS VA EMA)
// Article By: Vitali Apirine
// Language: Pine-compatible v5
// Provided By: PineCoders, for tradingview.com
// ------------------------------------------------------------------------------------------------
// Original author: PineCodersTASC
// Original title: TASC 2022.10 RS VA EMA
// Licence: MPL-2.0 (the header above is the original notice, kept verbatim)
// Pine version: 5
// Fetched: 2026-10-12
// Ported to FloScript by FloSignals; modifications under MPL-2.0.
// Converter: @flosignals/floscript 0.1.0, strict mode, score 100/100
// ------------------------------------------------------------------------------------------------
//@floscript=1
//@version=5
indicator('TASC 2022.10 RS VA EMA', overlay=true)
float src = input.source(close, 'Source:')
int periods = input.int(10, 'EMA Length:', minval=1)
int pds = input.int(10, 'VS Length:', minval=1)
float mltp = input.int(10, 'VS Multiplier:', minval=0)
rsvaema(float source = close, simple int emaPeriod = 50, simple int vsPeriod = 50, float multiplier = 10.0) =>
var float mltp1 = 2.0 / (emaPeriod + 1.0)
var float coef1 = 2.0 / (vsPeriod + 1.0)
var float coef2 = 1.0 - coef1
float pv = source > source[1] ? volume : 0.0
float nv = source < source[1] ? volume : 0.0
float apv = na
apv := coef1 * pv + coef2 * nz(apv[1])
float anv = na
anv := coef1 * nv + coef2 * nz(anv[1])
float vs = math.abs(apv - anv) / (apv + anv)
float rate = mltp1 * (1.0 + nz(vs, 0.00001) * multiplier)
float rsma = na
rsma := rate * source + (1.0 - rate) * nz(rsma[1], source)
rsma
float rsvaema = rsvaema(src, periods, pds, mltp)
plot(rsvaema, title='RS VA EMA', color=#B21BD8, linewidth=2)
This file is under the Mozilla Public License 2.0; it is a port of the original by PineCodersTASC, with the original licence header kept and the changes made for FloScript noted in the file.
- v2
Library refresh 2026-10-14
- v1
Library refresh 2026-10-12
Disclaimer. Scripts are written and published by members, or ported by FloSignals from open-source originals, and are their authors' own work and opinion. FloSignals does not review them for correctness and nothing in a script is financial advice or a recommendation to buy or sell anything — read the Risk Disclaimer. Posting here is under the Community Rules; a script that is not the poster's to post can be reported as the Copyright & Takedowns page says.

Comments (0)
No comments yet. Members can leave one.