PINE LIBRARY
waves

█ OVERVIEW
This library intended for use in Bar Replay provides functions to generate various wave forms (sine, cosine, triangle, square) based on time and customizable parameters. Useful for testing and in creating oscillators, indicators, or visual effects.
█ FUNCTIONS
• getSineWave()
• getCosineWave()
• getTriangleWave()
• getSquareWave()
█ USAGE EXAMPLE
█ NOTES
* barsPerSecond defaults to 10. Adjust this if not using 10x in Bar Replay.
* Phase shift is in degrees.
---
Library "waves"
getSineWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getSineWave`
> Calculates a sine wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the sine wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the sine wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the sine wave in radians. Default is 0.0.
Returns: (float) The calculated sine wave value.
getCosineWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getCosineWave`
> Calculates a cosine wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the cosine wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the cosine wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the cosine wave in radians. Default is 0.0.
Returns: (float) The calculated cosine wave value.
getTriangleWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getTriangleWave`
> Calculates a triangle wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the triangle wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the triangle wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the triangle wave in radians. Default is 0.0.
Returns: (float) The calculated triangle wave value.
getSquareWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, dutyCycle, phaseShift)
`getSquareWave`
> Calculates a square wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the square wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the square wave. Default is 0.0.
dutyCycle (float): (float) The duty cycle of the square wave (0.0 to 1.0). Default is 0.5 (50% duty cycle).
phaseShift (float): (float) The phase shift of the square wave in radians. Default is 0.0.
Returns: (float) The calculated square wave value.
This library intended for use in Bar Replay provides functions to generate various wave forms (sine, cosine, triangle, square) based on time and customizable parameters. Useful for testing and in creating oscillators, indicators, or visual effects.
█ FUNCTIONS
• getSineWave()
• getCosineWave()
• getTriangleWave()
• getSquareWave()
█ USAGE EXAMPLE
Pine Script®
//@version=6
indicator("Wave Example")
import kaigouthro/waves/1
plot(waves.getSineWave(cyclesPerMinute=15))
indicator("Wave Example")
import kaigouthro/waves/1
plot(waves.getSineWave(cyclesPerMinute=15))
█ NOTES
* barsPerSecond defaults to 10. Adjust this if not using 10x in Bar Replay.
* Phase shift is in degrees.
---
Library "waves"
getSineWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getSineWave`
> Calculates a sine wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the sine wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the sine wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the sine wave in radians. Default is 0.0.
Returns: (float) The calculated sine wave value.
getCosineWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getCosineWave`
> Calculates a cosine wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the cosine wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the cosine wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the cosine wave in radians. Default is 0.0.
Returns: (float) The calculated cosine wave value.
getTriangleWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, phaseShift)
`getTriangleWave`
> Calculates a triangle wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the triangle wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the triangle wave. Default is 0.0.
phaseShift (float): (float) The phase shift of the triangle wave in radians. Default is 0.0.
Returns: (float) The calculated triangle wave value.
getSquareWave(cyclesPerMinute, bar, barsPerSecond, amplitude, verticalShift, dutyCycle, phaseShift)
`getSquareWave`
> Calculates a square wave based on bar index, cycles per minute (BPM), and wave parameters.
Parameters:
cyclesPerMinute (float): (float) The desired number of cycles per minute (BPM). Default is 30.0.
bar (int): (int) The current bar index. Default is bar_index.
barsPerSecond (float): (float) The number of bars per second. Default is 10.0 for Bar Replay
amplitude (float): (float) The amplitude of the square wave. Default is 1.0.
verticalShift (float): (float) The vertical shift of the square wave. Default is 0.0.
dutyCycle (float): (float) The duty cycle of the square wave (0.0 to 1.0). Default is 0.5 (50% duty cycle).
phaseShift (float): (float) The phase shift of the square wave in radians. Default is 0.0.
Returns: (float) The calculated square wave value.
Biblioteca do Pine
No verdadeiro espirito do TradingView, o autor desse código Pine o publicou como uma biblioteca de código aberto, para que outros programadores Pine da nossa comunidade possam reusa-los. Parabéns ao autor! Você pode usar essa biblioteca privadamente ou em outras publicações de código aberto, mas a reutilização desse código em publicações é regida pelas Regras da Casa.
Aviso legal
As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.
Biblioteca do Pine
No verdadeiro espirito do TradingView, o autor desse código Pine o publicou como uma biblioteca de código aberto, para que outros programadores Pine da nossa comunidade possam reusa-los. Parabéns ao autor! Você pode usar essa biblioteca privadamente ou em outras publicações de código aberto, mas a reutilização desse código em publicações é regida pelas Regras da Casa.
Aviso legal
As informações e publicações não devem ser e não constituem conselhos ou recomendações financeiras, de investimento, de negociação ou de qualquer outro tipo, fornecidas ou endossadas pela TradingView. Leia mais em Termos de uso.