function weekly_monthly_peaks_and_troughs(close, volume) { // Calculate the weekly and monthly close prices var weekly_close = close.resample("W").last(); var monthly_close = close.resample("M").last();
// Initialize the peak and trough arrays var weekly_peaks = []; var weekly_troughs = []; var monthly_peaks = []; var monthly_troughs = [];
// Loop through the data and find the weekly and monthly peaks and troughs for (var i = 0; i < weekly_close.length; i++) { // Find the weekly peak if (i == 0 || weekly_close > weekly_close[i - 1]) { weekly_peaks.push(weekly_close); }
// Find the weekly trough if (i == 0 || weekly_close < weekly_close[i - 1]) { weekly_troughs.push(weekly_close); }
// Find the monthly peak if (i == 0 || monthly_close > monthly_close[i - 1]) { monthly_peaks.push(monthly_close); }
// Find the monthly trough if (i == 0 || monthly_close < monthly_close[i - 1]) { monthly_troughs.push(monthly_close); } }
// Return the peak and trough arrays return { weekly_peaks: weekly_peaks, weekly_troughs: weekly_troughs, monthly_peaks: monthly_peaks, monthly_troughs: monthly_troughs, }; }
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.