Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=5
- indicator(title='Sine Wave with Fear and Greed Indicators and Solfeggio Frequencies', overlay=false)
- // Input parameters for sine waves and MA
- base_wave_height = input(100, title='Base Wave Height')
- base_wave_frequency = input(1, title='Base Wave Frequency (Cycles)')
- harmonic_height = input(30, title='Harmonic Wave Height')
- harmonic_frequency = input(2, title='Harmonic Frequency (Cycles)')
- ma_length = input(10, title='MA Length for Ribbon')
- // Solfeggio frequencies and their corresponding wave heights
- solfeggio_heights = array.new_float(7, 20) // You can adjust these heights as needed
- solfeggio_frequencies = array.new_float(7)
- array.set(solfeggio_frequencies, 0, 396)
- array.set(solfeggio_frequencies, 1, 417)
- array.set(solfeggio_frequencies, 2, 528)
- array.set(solfeggio_frequencies, 3, 639)
- array.set(solfeggio_frequencies, 4, 741)
- array.set(solfeggio_frequencies, 5, 852)
- array.set(solfeggio_frequencies, 6, 963)
- // Function to generate sine wave
- f_sine_wave(height, frequency) =>
- freq = 2 * math.pi * frequency
- height * math.sin(freq * (bar_index / 100)) // Control frequency scaling over time
- // Main sine wave
- main_wave = f_sine_wave(base_wave_height, base_wave_frequency)
- // Inner harmonic sine waves (representing fear and greed)
- inner_harmonic1 = f_sine_wave(harmonic_height, harmonic_frequency)
- inner_harmonic2 = f_sine_wave(harmonic_height * 0.5, harmonic_frequency * 1.5) // More subtle harmonic
- // Calculate Solfeggio frequencies
- solfeggio_waves = array.new_float(7)
- for i = 0 to 6
- freq = array.get(solfeggio_frequencies, i) / 100 // Scale down frequency for visualization
- wave = f_sine_wave(array.get(solfeggio_heights, i), freq)
- array.set(solfeggio_waves, i, wave)
- // Create an MA ribbon based on the main wave and harmonics
- ma_ribbon = ta.sma(main_wave + inner_harmonic1 + inner_harmonic2, ma_length)
- // Plotting the main waves and harmonics
- plot(main_wave, title='Main Sine Wave', color=color.blue)
- plot(inner_harmonic1, title='First Harmonic Wave (Greed)', color=color.green)
- plot(inner_harmonic2, title='Second Harmonic Wave (Fear)', color=color.red)
- // Plotting each Solfeggio frequency wave with fixed titles
- plot(array.get(solfeggio_waves, 0), title='Solfeggio Wave 396 Hz', color=color.new(color.purple, 0))
- plot(array.get(solfeggio_waves, 1), title='Solfeggio Wave 417 Hz', color=color.new(color.purple, 10))
- plot(array.get(solfeggio_waves, 2), title='Solfeggio Wave 528 Hz', color=color.new(color.purple, 20))
- plot(array.get(solfeggio_waves, 3), title='Solfeggio Wave 639 Hz', color=color.new(color.purple, 30))
- plot(array.get(solfeggio_waves, 4), title='Solfeggio Wave 741 Hz', color=color.new(color.purple, 40))
- plot(array.get(solfeggio_waves, 5), title='Solfeggio Wave 852 Hz', color=color.new(color.purple, 50))
- plot(array.get(solfeggio_waves, 6), title='Solfeggio Wave 963 Hz', color=color.new(color.purple, 60))
- plot(ma_ribbon, title='MA Ribbon', color=color.orange, linewidth=2)
- // Highlight areas of fear and greed
- bgcolor(inner_harmonic1 > main_wave ? color.new(color.green, 90) : na, title='Greed Area')
- bgcolor(inner_harmonic2 < main_wave ? color.new(color.red, 90) : na, title='Fear Area')
- // Alerts for significant wave conditions
- greed_condition = ta.crossover(inner_harmonic1, main_wave) // Corrected usage for crossover
- fear_condition = ta.crossunder(inner_harmonic2, main_wave) // Corrected usage for crossunder
- alertcondition(greed_condition, title='Greed Alert', message='Degree of Greed Detected!')
- alertcondition(fear_condition, title='Fear Alert', message='Degree of Fear Detected!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement