RedK Strength of Movement v5
"RedK Strength of Movement" by RedKTrader, MPL-2.0. Ported to FloScript by FloSignals; modifications under MPL-2.0. Original: RedK Strength of Movement (v6.0), read 2026-10-12T16:18:54.088Z; source language v4.
Licence: Mozilla Public License 2.0 (MPL-2.0) — full text. The source is published with it, modifications included, under the same licence.
RedK Strength of Movement by RedKTrader, ported from Pine v4. Pane indicator with 4 plots, 3 levels and 5 inputs.
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RedKTrader // ------------------------------------------------------------------------------------------------ // Original author: RedKTrader // Original title: RedK Strength of Movement // Licence: MPL-2.0 (the header above is the original notice, kept verbatim) // Pine version: 4 // 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 // Converted by the FloScript converter from a Pine-compatible v4 source. indicator(title="RedK Strength of Movement v5", shorttitle="RedK_SoM_v5", overlay=false, timeframe="", precision=0) price = input(title="Source", defval=close) n = input.int(title="Range", defval=3, minval=2, maxval=5) calc_hl = "High / Low" calc_se = "Start / End" calc = input.string(title="SoM Calculation", options=[calc_se, calc_hl], defval=calc_se) length = input.int(title="Avg Length", defval=10, minval=1) smooth = input.int(title="Smoothing", defval=3, minval=1) // a is the n-bar average change of price - used as a proxy for the "strength of movement" // note that in an "n" number of bars, there's actually (n-1) number of "change ranges" // v4.0 optional algos for calculation .. start/end = takes start price - end price -- this is simpler // high/low = takes highest - lowest of range -- this exposes "breakout attempts" // calculate average "directional" change per period move_se = price - price[n - 1] move_hl = (ta.highest(price, n) - ta.lowest(price, n)) * math.sign(move_se) //need to make this "directional" avgmove = calc == calc_se ? move_se / (n - 1) : move_hl / (n - 1) aa = nz(avgmove / price[n - 1]) // v2: for technical accuracy, convert price change from absolute value to a ratio b = ta.wma(aa, length) // take the (weighted) average of the change ratio for a length of bars // scale the result as a +100/-100 oscillator // v2: updated with adjustment of highest/lowest values to avoid the "confusing visual" s = ta.stoch(b, math.max(b, 0), math.min(b, 0), length) * 2 - 100 ss = ta.wma(s, smooth) // final smoothing col_somraw = color.new(color.silver, 80) col_trendup = #2962ff col_trenddn = #e91e63 col_zeroline = #ffee0044 //yellow with some transparency, which can't be set in hline() //plots hline(0, "Zero Line", color=col_zeroline, linestyle=hline.style_solid) hline(100, "Upper Border", color=color.green, linestyle=hline.style_dotted) hline(-100, "Lower Border", color=color.red, linestyle=hline.style_dotted) plot(s, title="K_SoM Raw", color=col_somraw, linewidth=1) plot(ss, title="K_SoM", color=ss >= 0 ? col_trendup : col_trenddn, linewidth=3) maxup = s == 100 ? 100 : na maxdn = s == -100 ? -100 : na plot(maxup, "Max Strength", style=plot.style_circles, color=col_trendup, linewidth=3) plot(maxdn, "Max Weakness", style=plot.style_circles, color=col_trenddn, linewidth=3)
This file is under the Mozilla Public License 2.0; it is a port of the original by RedKTrader, 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.