PINE LIBRARY

VolumeSpreadAnalysis

Updated
Library "VolumeSpreadAnalysis"
A library for Volume Spread Analysis (VSA).

spread(_barIndex)
  Calculates the spread of a bar.
  Parameters:
    _barIndex (int): (int) The index of the bar.
  Returns: (float) The spread of the bar.

volume(_barIndex)
  Retrieves the volume of a bar.
  Parameters:
    _barIndex (int): (int) The index of the bar.
  Returns: (float) The volume of the bar.

body(_barIndex)
  Calculates the body of a bar.
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (float) The body size of the bar.

wickUpper(_barIndex)
  Calculates the upper wick of a bar (upper shadow).
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (float) The upper wick size of the bar.

wickLower(_barIndex)
  Calculates the lower wick of a bar (lower shadow).
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (float) The lower wick size of the bar.

calcForecastedSMA(_source, _length, _forecastedLevel)
  Calculates the forecasted Simple Moving Average (SMA).
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the SMA.
    _forecastedLevel (float): (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted SMA value.

calcForecastedEMA(_source, _length, _forecastedLevel)
  Calculates the forecasted Exponential Moving Average (EMA).
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the EMA.
    _forecastedLevel (float): (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted EMA value.

calcForecastedRMA(_source, _length, _forecastedLevel)
  Calculates the forecasted Relative Moving Average (RMA).
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the RMA.
    _forecastedLevel (float): (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted RMA value.

calcForecastedWMA(_source, _length, _forecastedLevel)
  Calculates the forecasted Weighted Moving Average (WMA).
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the WMA.
    _forecastedLevel (float): (float) The forecasted level to include in the calculation.
  Returns: (float) The forecasted WMA value.

calcElapsedTimePercent()
  Calculates the elapsed time percent of the current bar.
  Returns: (float) The elapsed time percent.

calcForecastedSpread(multiplierAtMidpoints, multiplierAtPeaks)
  Calculates the forecasted spread using elapsed time and dynamic multipliers, handling spread's non-linear nature.
  Parameters:
    multiplierAtMidpoints (float): (float) The multiplier value at midpoints.
    multiplierAtPeaks (float): (float) The multiplier value at peaks.
  Returns: (float) The forecasted spread value.

calcForecastedVolume()
  Calculates the forecasted volume using elapsed time, satisfying volume's linear nature.
  Returns: (float) The forecasted volume value.

calcForecastedMA(_source, _length, _forecastedSource, _type)
  Calculates the forecasted Moving Average (MA) based on the specified type.
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the MA.
    _forecastedSource (float): (float) The forecasted level to include in the calculation.
    _type (simple string): (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
  Returns: (float) The forecasted MA value.

calcMA(_source, _length, _type)
  Calculates the Moving Average (MA) based on the specified type.
  Parameters:
    _source (float): (series float) Source data for calculation.
    _length (simple int): (int) The length of the MA.
    _type (simple string): (string) The type of the MA ("SMA", "EMA", "SMMA (RMA)", "WMA").
  Returns: (float) The MA value.

bullBar(_barIndex)
  Determines if the bar is bullish.
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (bool) True if the bar is bullish, otherwise false.

bearBar(_barIndex)
  Determines if the bar is bearish.
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (bool) True if the bar is bearish, otherwise false.

breakout(_barIndex)
  Determines if there is a breakout above the previous bar.
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (bool) True if there is a breakout, otherwise false.

breakdown(_barIndex)
  Determines if there is a breakdown below the previous bar.
  Parameters:
    _barIndex (simple int): (int) The index of the bar.
  Returns: (bool) True if there is a breakdown, otherwise false.

rejectionWickUpper(_rejectionWick)
  Determines if the upper wick is a rejection wick.
  Parameters:
    _rejectionWick (simple float): (float) The rejection wick percentage.
  Returns: (bool) True if the upper wick is a rejection wick, otherwise false.

rejectionWickLower(_rejectionWick)
  Determines if the lower wick is a rejection wick.
  Parameters:
    _rejectionWick (simple float): (float) The rejection wick percentage.
  Returns: (bool) True if the lower wick is a rejection wick, otherwise false.

setupDataVolume(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
  Sets up data for volume levels.
  Parameters:
    _data (map<string, float>): (map<string, float>) The map to store the levels.
    _mult_Low (simple float): (float) The multiplier for low level.
    _mult_High (simple float): (float) The multiplier for high level.
    _mult_Ultra (simple float): (float) The multiplier for ultra level.
    _maLengthVolume (simple int): (int) The length for MA.
    _maTypeVolume (simple string): (string) The type for MA.
  Returns: (void) Nothing.

setupDataSpread(_data, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
  Sets up data for spread levels.
  Parameters:
    _data (map<string, float>): (map<string, float>) The map to store the levels.
    _mult_Low (simple float): (float) The multiplier for low level.
    _mult_High (simple float): (float) The multiplier for high level.
    _mult_Ultra (simple float): (float) The multiplier for ultra level.
    _maLengthSpread (simple int): (int) The length for MA.
    _maTypeSpread (simple string): (string) The type for MA.
  Returns: (void) Nothing.

setupDataForecastVolume(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _predictedLevelVolume, _maTypeVolume)
  Sets up data for volume and spread levels for forecast.
  Parameters:
    _dataForecast (map<string, float>)
    _mult_Low (simple float): (float) The multiplier for low level.
    _mult_High (simple float): (float) The multiplier for high level.
    _mult_Ultra (simple float): (float) The multiplier for ultra level.
    _maLengthVolume (simple int): (int) The length for MA.
    _predictedLevelVolume (float): (float) The predicted level for MA.
    _maTypeVolume (simple string): (string) The type for MA.
  Returns: (void) Nothing.

setupDataForecastSpread(_dataForecast, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _predictedLevelSpread, _maTypeSpread)
  Sets up data for spread levels for forecast.
  Parameters:
    _dataForecast (map<string, float>)
    _mult_Low (simple float): (float) The multiplier for low level.
    _mult_High (simple float): (float) The multiplier for high level.
    _mult_Ultra (simple float): (float) The multiplier for ultra level.
    _maLengthSpread (simple int): (int) The length for MA.
    _predictedLevelSpread (float): (float) The predicted level for MA.
    _maTypeSpread (simple string): (string) The type for MA.
  Returns: (void) Nothing.

isVolumeLow(_data, _barIndex)
  Determines if the volume is low.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume levels.
    _barIndex (int)
  Returns: (bool) True if the volume is low, otherwise false.

isVolumeNormal(_data, _barIndex)
  Determines if the volume is normal.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume levels.
    _barIndex (int)
  Returns: (bool) True if the volume is normal, otherwise false.

isVolumeHigh(_data, _barIndex)
  Determines if the volume is high.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume levels.
    _barIndex (int)
  Returns: (bool) True if the volume is high, otherwise false.

isVolumeUltra(_data, _barIndex)
  Determines if the volume is ultra.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume levels.
    _barIndex (int)
  Returns: (bool) True if the volume is ultra, otherwise false.

isSpreadLow(_data, _barIndex)
  Determines if the spread is low.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
    _barIndex (int)
  Returns: (bool) True if the spread is low, otherwise false.

isSpreadNormal(_data, _barIndex)
  Determines if the spread is normal.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
    _barIndex (int)
  Returns: (bool) True if the spread is normal, otherwise false.

isSpreadHigh(_data, _barIndex)
  Determines if the spread is high.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
    _barIndex (int)
  Returns: (bool) True if the spread is high, otherwise false.

isSpreadUltra(_data, _barIndex)
  Determines if the spread is ultra.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
    _barIndex (int)
  Returns: (bool) True if the spread is ultra, otherwise false.

isVolumeText(_data)
  Determines text string representing the volume area level.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume levels.
  Returns: (string) Text string of Low, Normal, High, or Ultra.

isSpreadText(_data)
  Determines text string representing the spread area level.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
  Returns: (string) Text string of Low, Normal, High, or Ultra.

calcBarColor(_value, _level)
  Calculates the color based level.
  Parameters:
    _value (float): (float) The value to check.
    _level (float): (float) The value level for comparison.
  Returns: (color) The color for the bar.

bullPinBar(_maxBodyPercent, _minWickPercent)
  Determines if the bar is a bull pin bar.
  Parameters:
    _maxBodyPercent (simple float): (float) The maximum body percentage.
    _minWickPercent (simple float): (float) The minimum wick percentage.
  Returns: (bool) True if the bar is a bull pin bar, otherwise false.

bearPinBar(_maxBodyPercent, _minWickPercent)
  Determines if the bar is a bear pin bar.
  Parameters:
    _maxBodyPercent (simple float): (float) The maximum body percentage.
    _minWickPercent (simple float): (float) The minimum wick percentage.
  Returns: (bool) True if the bar is a bear pin bar, otherwise false.

dojiBar(_maxBodyPercent)
  Determines if the bar is a doji.
  Parameters:
    _maxBodyPercent (simple float): (float) The maximum body percentage.
  Returns: (bool) True if the bar is a doji, otherwise false.

spinningTopBar(_minWicksPercent, _emaLength)
  Determines if the bar is a spinning top.
  Parameters:
    _minWicksPercent (simple float): (float) The minimum wicks percentage.
    _emaLength (simple int): (int) The length for EMA calculation.
  Returns: (bool) True if the bar is a spinning top, otherwise false.

highWaveBar(_minBodyPercent, _minWickPercent, _bars)
  Determines if the bar is a high wave bar.
  Parameters:
    _minBodyPercent (simple float): (float) The minimum body percentage.
    _minWickPercent (simple float): (float) The minimum wick percentage.
    _bars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if the bar is a high wave bar, otherwise false.

consolidationBar(_data, _spread, _bars)
  Determines if the bars are in consolidation.
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with spread levels.
    _spread (simple float): (float) The spread percentage for comparison.
    _bars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if the bars are in consolidation, otherwise false.

S_DownThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
  Determines if there is a sign of strength (DownThrust).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _bullPinBarMaxBody (simple float): (float) The maximum body percentage for bull pin bar.
    _bullPinBarMinWick (simple float): (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (DownThrust), otherwise false.

S_SellingClimax(_data, _rejectionWick)
  Determines if there is a sign of strength (Selling Climax).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _rejectionWick (simple float): (float) The rejection wick percentage.
  Returns: (bool) True if there is a sign of strength (Selling Climax), otherwise false.

S_NoEffortBearishResult()
  Determines if there is a sign of strength (No Effort Bearish Result).
  Returns: (bool) True if there is a sign of strength (No Effort Bearish Result), otherwise false.

S_BearishEffortNoResult()
  Determines if there is a sign of strength (Bearish Effort No Result).
  Returns: (bool) True if there is a sign of strength (Bearish Effort No Result), otherwise false.

S_InverseDownThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
  Determines if there is a sign of strength (Inverse DownThrust).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _bearPinBarMaxBody (simple float): (float) The maximum body percentage for bear pin bar.
    _bearPinBarMinWick (simple float): (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of strength (Inverse DownThrust), otherwise false.

S_FailedSellingClimax()
  Determines if there is a sign of strength (Failed Selling Climax).
  Returns: (bool) True if there is a sign of strength (Failed Selling Climax), otherwise false.

S_BullOutsideReversal(_data)
  Determines if there is a sign of strength (Bull Outside Reversal).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of strength (Bull Outside Reversal), otherwise false.

S_EndOfFallingMarket(_data)
  Determines if there is a sign of strength (End of Falling Market).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of strength (End of Falling Market), otherwise false.

S_PseudoDownThrust(_bullPinBarMaxBody, _bullPinBarMinWick)
  Determines if there is a sign of strength (Pseudo DownThrust).
  Parameters:
    _bullPinBarMaxBody (simple float): (float) The maximum body percentage for bull pin bar.
    _bullPinBarMinWick (simple float): (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (Pseudo DownThrust), otherwise false.

S_NoSupply(_bullPinBarMaxBody, _bullPinBarMinWick)
  Determines if there is a sign of strength (No Supply).
  Parameters:
    _bullPinBarMaxBody (simple float): (float) The maximum body percentage for bull pin bar.
    _bullPinBarMinWick (simple float): (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of strength (No Supply), otherwise false.

W_UpThrust(_data, _bearPinBarMaxBody, _bearPinBarMinWick)
  Determines if there is a sign of weakness (UpThrust).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _bearPinBarMaxBody (simple float): (float) The maximum body percentage for bear pin bar.
    _bearPinBarMinWick (simple float): (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (UpThrust), otherwise false.

W_BuyingClimax(_data, _rejectionWick)
  Determines if there is a sign of weakness (Buying Climax).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _rejectionWick (simple float): (float) The rejection wick percentage.
  Returns: (bool) True if there is a sign of weakness (Buying Climax), otherwise false.

W_NoEffortBullishResult()
  Determines if there is a sign of weakness (No Effort Bullish Result).
  Returns: (bool) True if there is a sign of weakness (No Effort Bullish Result), otherwise false.

W_BullishEffortNoResult()
  Determines if there is a sign of weakness (Bullish Effort No Result).
  Returns: (bool) True if there is a sign of weakness (Bullish Effort No Result), otherwise false.

W_InverseUpThrust(_data, _bullPinBarMaxBody, _bullPinBarMinWick)
  Determines if there is a sign of weakness (Inverse UpThrust).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _bullPinBarMaxBody (simple float): (float) The maximum body percentage for bull pin bar.
    _bullPinBarMinWick (simple float): (float) The minimum wick percentage for bull pin bar.
  Returns: (bool) True if there is a sign of weakness (Inverse UpThrust), otherwise false.

W_FailedBuyingClimax()
  Determines if there is a sign of weakness (Failed Buying Climax).
  Returns: (bool) True if there is a sign of weakness (Failed Buying Climax), otherwise false.

W_BearOutsideReversal(_data)
  Determines if there is a sign of weakness (Bear Outside Reversal).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of weakness (Bear Outside Reversal), otherwise false.

W_EndOfRisingMarket(_data)
  Determines if there is a sign of weakness (End of Rising Market).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
  Returns: (bool) True if there is a sign of weakness (End of Rising Market), otherwise false.

W_PseudoUpThrust(_bearPinBarMaxBody, _bearPinBarMinWick)
  Determines if there is a sign of weakness (Pseudo UpThrust).
  Parameters:
    _bearPinBarMaxBody (simple float): (float) The maximum body percentage for bear pin bar.
    _bearPinBarMinWick (simple float): (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (Pseudo UpThrust), otherwise false.

W_NoDemand(_bearPinBarMaxBody, _bearPinBarMinWick)
  Determines if there is a sign of weakness (No Demand).
  Parameters:
    _bearPinBarMaxBody (simple float): (float) The maximum body percentage for bear pin bar.
    _bearPinBarMinWick (simple float): (float) The minimum wick percentage for bear pin bar.
  Returns: (bool) True if there is a sign of weakness (No Demand), otherwise false.

N_QuietDoji(_dojiBarMaxBody)
  Determines if there is a neutral signal (Quiet Doji).
  Parameters:
    _dojiBarMaxBody (simple float): (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Quiet Doji), otherwise false.

N_BalancedDoji(_data, _dojiBarMaxBody)
  Determines if there is a neutral signal (Balanced Doji).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _dojiBarMaxBody (simple float): (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Balanced Doji), otherwise false.

N_StrongDoji(_dojiBarMaxBody)
  Determines if there is a neutral signal (Strong Doji).
  Parameters:
    _dojiBarMaxBody (simple float): (float) The maximum body percentage for doji bar.
  Returns: (bool) True if there is a neutral signal (Strong Doji), otherwise false.

N_QuietSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
  Determines if there is a neutral signal (Quiet Spinning Top).
  Parameters:
    _spinningTopBarMinWicks (simple float): (float) The minimum wicks percentage for spinning top bar.
    _spinningTopBarEmaLength (simple int): (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Quiet Spinning Top), otherwise false.

N_BalancedSpinningTop(_data, _spinningTopBarMinWicks, _spinningTopBarEmaLength)
  Determines if there is a neutral signal (Balanced Spinning Top).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _spinningTopBarMinWicks (simple float): (float) The minimum wicks percentage for spinning top bar.
    _spinningTopBarEmaLength (simple int): (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Balanced Spinning Top), otherwise false.

N_StrongSpinningTop(_spinningTopBarMinWicks, _spinningTopBarEmaLength)
  Determines if there is a neutral signal (Strong Spinning Top).
  Parameters:
    _spinningTopBarMinWicks (simple float): (float) The minimum wicks percentage for spinning top bar.
    _spinningTopBarEmaLength (simple int): (int) The length for EMA calculation.
  Returns: (bool) True if there is a neutral signal (Strong Spinning Top), otherwise false.

N_QuietHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
  Determines if there is a neutral signal (Quiet High Wave).
  Parameters:
    _highWaveBarMinBody (simple float): (float) The minimum body percentage for high wave bar.
    _highWaveBarMinWick (simple float): (float) The minimum wick percentage for high wave bar.
    _highWaveBarBars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Quiet High Wave), otherwise false.

N_BalancedHighWave(_data, _highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
  Determines if there is a neutral signal (Balanced High Wave).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _highWaveBarMinBody (simple float): (float) The minimum body percentage for high wave bar.
    _highWaveBarMinWick (simple float): (float) The minimum wick percentage for high wave bar.
    _highWaveBarBars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Balanced High Wave), otherwise false.

N_StrongHighWave(_highWaveBarMinBody, _highWaveBarMinWick, _highWaveBarBars)
  Determines if there is a neutral signal (Strong High Wave).
  Parameters:
    _highWaveBarMinBody (simple float): (float) The minimum body percentage for high wave bar.
    _highWaveBarMinWick (simple float): (float) The minimum wick percentage for high wave bar.
    _highWaveBarBars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Strong High Wave), otherwise false.

N_Consolidation(_data, _consolidationBarSpread, _consolidationBarBars)
  Determines if there is a neutral signal (Consolidation).
  Parameters:
    _data (map<string, float>): (map<string, float>) The data map with volume and spread levels.
    _consolidationBarSpread (simple float): (float) The spread percentage for consolidation bar.
    _consolidationBarBars (simple int): (int) The number of bars for comparison.
  Returns: (bool) True if there is a neutral signal (Consolidation), otherwise false.
Release Notes
v2
- Corrected logic for N_QuietHighWave() to ensure a larger spread than the prior candle(s) unlike other 'Quiet' VSA functions, due to the requirements of 'High Wave Bar'.
- All function parameter descriptions now include their default values where applicable. Parameters with default values are optional.
- Updated order of parameters for setupDataForecastVolume() and setupDataForecastSpread() to allow for use of use of default parameters, as seen below.

setupDataForecastVolume(_dataForecast, _predictedLevelVolume, _mult_Low, _mult_High, _mult_Ultra, _maLengthVolume, _maTypeVolume)
  Sets up data for volume levels for forecast.
  Parameters:
    _dataForecast (map<string, float>)
    _predictedLevelVolume (float): (float) The predicted level for MA.
    _mult_Low (simple float): (float) The multiplier for low level. Default is 0.5.
    _mult_High (simple float): (float) The multiplier for high level. Default is 1.5.
    _mult_Ultra (simple float): (float) The multiplier for ultra level. Default is 3.0.
    _maLengthVolume (simple int): (int) The length for MA. Default is 5.
    _maTypeVolume (simple string): (string) The type for MA. Default is SMA.
  Returns: (void) Nothing.

setupDataForecastSpread(_dataForecast, _predictedLevelSpread, _mult_Low, _mult_High, _mult_Ultra, _maLengthSpread, _maTypeSpread)
  Sets up data for spread levels for forecast.
  Parameters:
    _dataForecast (map<string, float>)
    _predictedLevelSpread (float): (float) The predicted level for MA.
    _mult_Low (simple float): (float) The multiplier for low level. Default is 0.5.
    _mult_High (simple float): (float) The multiplier for high level. Default is 1.5.
    _mult_Ultra (simple float): (float) The multiplier for ultra level. Default is 3.0.
    _maLengthSpread (simple int): (int) The length for MA. Default is 20.
    _maTypeSpread (simple string): (string) The type for MA. Default is SMA.
  Returns: (void) Nothing.


█ Initializations

Functions containing "map<string, float> _data" require the following initialization in indicator's main code:


Functions containing "map<string, float> _dataForecast" require the following initialization in indicator's main code:
pricespreadtechindicatorvolumeanalysisvolumepriceanalysisvolumespreadanalysisvpaVSAwyckoff

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.


tanhef.com/

Scripts and content from TanHef are solely for information and education. Past performance does not guarantee of future results.
Also on:

Disclaimer