OPEN-SOURCE SCRIPT
GMMA Decisive Below Signal MTF

Guppy Multiple Moving Average (GMMA) Decisive Below Signal MTF User Manual
Overview
This manual explains how to use the GMMA Decisive Below Signal MTF TradingView indicator, including its inputs, chart behavior, and signal logic. The script supports separate visibility controls for short and long GMMA groups, separate source settings for those groups, and a selectable timeframe for multi-timeframe GMMA calculations.
What the indicator does
The indicator plots a Guppy Multiple Moving Average structure using 12 EMAs split into two groups: six short-period EMAs and six long-period EMAs. It then displays a one-time bearish signal only when a candle body is completely below the full GMMA stack, with no body contact with any EMA, and only on the first bar where that state begins.
Inputs
| Setting | Purpose | Notes |
| -------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------- |
| GMMA Timeframe | Chooses the timeframe used for GMMA calculations | Uses input.timeframe() and feeds that into request.security().tradingview+1 |
| Short GMMA Source | Source used for the six short EMAs | Created with input.source().tradingviewyoutube |
| Long GMMA Source | Source used for the six long EMAs | Created with input.source().tradingviewyoutube |
| Show Short GMMA | Shows or hides the short EMA group | Boolean visibility control through input.bool() and plot(... ? value : na).tradingview |
| Show Long GMMA | Shows or hides the long EMA group | Boolean visibility control through input.bool() and plot(... ? value : na).tradingview |
| EMA1 to EMA12 Period | Controls the lengths of the EMAs | The default GMMA structure remains 3, 5, 8, 10, 12, 15 and 30, 35, 40, 45, 50, 60. |
Signal logic
The script calculates the upper edge of the candle body using math.max(open, close). It then calculates the lowest EMA value across all 12 GMMA lines using math.min(...), and the bearish condition becomes true only when the body top is strictly below that level, which prevents body contact with any EMA.
The plotted signal appears only on the first bar where the decisive bearish condition turns true. This behavior comes from feeding plotshape() a boolean series and combining the current condition with its prior-bar state using [1], so repeated signals are suppressed while the condition remains true.
Setup steps
Open TradingView and add a new custom indicator in the Pine Editor.
Paste the script and save it.
Add the indicator to the chart.
Open the indicator settings and choose the GMMA timeframe, short source, long source, and visibility checkboxes.
Review the chart for one-time SELL signals when a candle body decisively moves below the full GMMA stack.
Screen grabs to capture
Add the following screenshots before publishing the manual so users can visually follow the workflow.
Screen grab 1: Pine Editor with the script loaded
Capture the Pine Editor showing the script title, the timeframe input, the short and long source inputs, and the plotshape signal section. This screenshot helps users confirm they pasted the correct script.
Screen grab 2: Indicator settings panel
Capture the Inputs tab showing:
GMMA Timeframe
Short GMMA Source
Long GMMA Source
Show Short GMMA
Show Long GMMA
EMA periods
This screenshot helps users understand how to configure the script inputs.
Screen grab 3: Chart with both GMMA groups visible
Capture a chart where the six short EMAs are visible in green and the six long EMAs are visible in red. This screenshot demonstrates the two-group GMMA structure.
Screen grab 4: Chart showing the first decisive bearish SELL signal
Capture a chart section where the candle body is clearly below the entire GMMA stack and the SELL marker appears above the bar only once. This screenshot documents the exact signal behavior controlled by plotshape() and the first-occurrence condition.
Screen grab 5: Visibility controls in action
Capture one chart with only short GMMA enabled and another with only long GMMA enabled. This screenshot pair documents how the checkboxes affect display without changing the underlying signal logic.
Notes and cautions
input.source() supports source selection such as open, high, low, close, and composite price series, but source behavior in multi-timeframe workflows should be tested carefully because the script also uses request.security() to pull values from another timeframe.
TradingView documentation notes that requesting lower-timeframe data from a higher-timeframe chart is generally not recommended, so users should prefer equal or higher GMMA timeframes for more stable behavior.
Recommended upload package
For a clean user manual upload, include:
This markdown manual as the main document.
Five PNG screenshots named in sequence, for example 01-pine-editor.png through 05-signal-example.png.
The Pine Script file saved separately as plain text for quick reuse.
Overview
This manual explains how to use the GMMA Decisive Below Signal MTF TradingView indicator, including its inputs, chart behavior, and signal logic. The script supports separate visibility controls for short and long GMMA groups, separate source settings for those groups, and a selectable timeframe for multi-timeframe GMMA calculations.
What the indicator does
The indicator plots a Guppy Multiple Moving Average structure using 12 EMAs split into two groups: six short-period EMAs and six long-period EMAs. It then displays a one-time bearish signal only when a candle body is completely below the full GMMA stack, with no body contact with any EMA, and only on the first bar where that state begins.
Inputs
| Setting | Purpose | Notes |
| -------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------- |
| GMMA Timeframe | Chooses the timeframe used for GMMA calculations | Uses input.timeframe() and feeds that into request.security().tradingview+1 |
| Short GMMA Source | Source used for the six short EMAs | Created with input.source().tradingviewyoutube |
| Long GMMA Source | Source used for the six long EMAs | Created with input.source().tradingviewyoutube |
| Show Short GMMA | Shows or hides the short EMA group | Boolean visibility control through input.bool() and plot(... ? value : na).tradingview |
| Show Long GMMA | Shows or hides the long EMA group | Boolean visibility control through input.bool() and plot(... ? value : na).tradingview |
| EMA1 to EMA12 Period | Controls the lengths of the EMAs | The default GMMA structure remains 3, 5, 8, 10, 12, 15 and 30, 35, 40, 45, 50, 60. |
Signal logic
The script calculates the upper edge of the candle body using math.max(open, close). It then calculates the lowest EMA value across all 12 GMMA lines using math.min(...), and the bearish condition becomes true only when the body top is strictly below that level, which prevents body contact with any EMA.
The plotted signal appears only on the first bar where the decisive bearish condition turns true. This behavior comes from feeding plotshape() a boolean series and combining the current condition with its prior-bar state using [1], so repeated signals are suppressed while the condition remains true.
Setup steps
Open TradingView and add a new custom indicator in the Pine Editor.
Paste the script and save it.
Add the indicator to the chart.
Open the indicator settings and choose the GMMA timeframe, short source, long source, and visibility checkboxes.
Review the chart for one-time SELL signals when a candle body decisively moves below the full GMMA stack.
Screen grabs to capture
Add the following screenshots before publishing the manual so users can visually follow the workflow.
Screen grab 1: Pine Editor with the script loaded
Capture the Pine Editor showing the script title, the timeframe input, the short and long source inputs, and the plotshape signal section. This screenshot helps users confirm they pasted the correct script.
Screen grab 2: Indicator settings panel
Capture the Inputs tab showing:
GMMA Timeframe
Short GMMA Source
Long GMMA Source
Show Short GMMA
Show Long GMMA
EMA periods
This screenshot helps users understand how to configure the script inputs.
Screen grab 3: Chart with both GMMA groups visible
Capture a chart where the six short EMAs are visible in green and the six long EMAs are visible in red. This screenshot demonstrates the two-group GMMA structure.
Screen grab 4: Chart showing the first decisive bearish SELL signal
Capture a chart section where the candle body is clearly below the entire GMMA stack and the SELL marker appears above the bar only once. This screenshot documents the exact signal behavior controlled by plotshape() and the first-occurrence condition.
Screen grab 5: Visibility controls in action
Capture one chart with only short GMMA enabled and another with only long GMMA enabled. This screenshot pair documents how the checkboxes affect display without changing the underlying signal logic.
Notes and cautions
input.source() supports source selection such as open, high, low, close, and composite price series, but source behavior in multi-timeframe workflows should be tested carefully because the script also uses request.security() to pull values from another timeframe.
TradingView documentation notes that requesting lower-timeframe data from a higher-timeframe chart is generally not recommended, so users should prefer equal or higher GMMA timeframes for more stable behavior.
Recommended upload package
For a clean user manual upload, include:
This markdown manual as the main document.
Five PNG screenshots named in sequence, for example 01-pine-editor.png through 05-signal-example.png.
The Pine Script file saved separately as plain text for quick reuse.
開源腳本
秉持TradingView一貫精神,這個腳本的創作者將其設為開源,以便交易者檢視並驗證其功能。向作者致敬!您可以免費使用此腳本,但請注意,重新發佈代碼需遵守我們的社群規範。
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。
開源腳本
秉持TradingView一貫精神,這個腳本的創作者將其設為開源,以便交易者檢視並驗證其功能。向作者致敬!您可以免費使用此腳本,但請注意,重新發佈代碼需遵守我們的社群規範。
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。