OPEN-SOURCE SCRIPT
업데이트됨 TestMA-STATE

Overview:
This Pine Script (version 6) is designed to generate trading events based on moving average (MA) behavior and dynamically calculated percentiles. It leverages a custom state machine library (version 7) from decrypt_capital to track and manage state transitions related to MA conditions, and it triggers alerts (and optionally, chart labels) when specific state transitions occur.
Key Components:
License & Metadata:
The script is distributed under the Mozilla Public License 2.0.
It carries copyright by decrypt_capital.
The title ("TestMA-STATE") and short title ("MA-STATE") are defined, and the script runs on an overlay with extended backtracking and drawing limits.
State Machine Integration:
The script imports the lib_statemachine_modified library (version 7) using the alias modSM.
A persistent state machine instance (MovingAverageDirection_SM) is created to manage various MA-related states.
Several state constants are defined to represent different market conditions, such as:
MA_SHORT_ABOVE_OVERBOUGHT: When the short MA low is above the overbought threshold.
MA_SHORT_CROSSUNDER_MID & MA_SHORT_CROSSUNDER_BIG: Conditions for bearish crossunders.
MA_SHORT_BELOW_OVERSOLD: When the short MA high is below the oversold threshold.
MA_SHORT_CROSSOVER_MID & MA_SHORT_CROSSOVER_BIG: Conditions for bullish crossovers.
Inputs & MA Calculation:
Users can choose the type of moving average (EMA, SMA, WMA, VWMA) and adjust lengths for short, mid, and big MAs.
Additional inputs include lookback length for percentile calculations and percentile thresholds for determining overbought and oversold boundaries.
The script computes:
Short MA Low and High: Based on the low and high series.
Mid MA and Big MA: Based on the average price (ohlc4).
Dynamic Percentile Boundaries:
Two functions (f_getPercentile() and f_getPercentileArr()) calculate dynamic percentile values from the MA data.
These functions determine the oversold and overbought boundaries used in the state transition conditions.
Timestamp & Alert Header Formatting:
A helper function (f_formatTimestamp()) formats timestamps into a human-readable form (e.g., "Tue 12 Mar 16:30").
This formatted time, along with ticker information and other details, is used to build an alert header.
State Transitions & Alerts:
The script calls the state machine’s step() method multiple times with conditions based on the relationship between MA values and the percentile boundaries.
For example:
A bullish condition is triggered when the short MA low moves above the overbought threshold.
A bearish condition is triggered when the short MA high falls below the oversold boundary.
Transitions are further refined by checking if the MA is rising or falling.
When specific state transitions occur (e.g., MA_SHORT_CROSSOVER_MID after MA_SHORT_BELOW_OVERSOLD), the script:
Checks that the transition is recent (using the barsSinceState() method).
Optionally creates a label on the chart.
Triggers an alert with a descriptive message.
Chart Plotting:
The script plots the calculated moving averages (short, mid, and optionally big) on the chart.
It also plots the dynamic percentile boundaries for visual reference.
Purpose & Usage:
Trading Signal Generation:
The primary goal is to monitor key MA conditions and trigger alerts when significant crossovers or crossunders occur. These events—such as bullish crossovers when the market recovers from oversold conditions or bearish crossunders when the market retracts from overbought conditions—can be used as trading signals.
Visualization:
Users have options to display the various moving averages and percentile boundaries directly on the chart, as well as optional labels that mark when an alert is generated.
Alerting:
When specific state transitions are detected, the script constructs and sends an alert message with a timestamp, ticker, and descriptive text, aiding traders in making timely decisions.
This Pine Script (version 6) is designed to generate trading events based on moving average (MA) behavior and dynamically calculated percentiles. It leverages a custom state machine library (version 7) from decrypt_capital to track and manage state transitions related to MA conditions, and it triggers alerts (and optionally, chart labels) when specific state transitions occur.
Key Components:
License & Metadata:
The script is distributed under the Mozilla Public License 2.0.
It carries copyright by decrypt_capital.
The title ("TestMA-STATE") and short title ("MA-STATE") are defined, and the script runs on an overlay with extended backtracking and drawing limits.
State Machine Integration:
The script imports the lib_statemachine_modified library (version 7) using the alias modSM.
A persistent state machine instance (MovingAverageDirection_SM) is created to manage various MA-related states.
Several state constants are defined to represent different market conditions, such as:
MA_SHORT_ABOVE_OVERBOUGHT: When the short MA low is above the overbought threshold.
MA_SHORT_CROSSUNDER_MID & MA_SHORT_CROSSUNDER_BIG: Conditions for bearish crossunders.
MA_SHORT_BELOW_OVERSOLD: When the short MA high is below the oversold threshold.
MA_SHORT_CROSSOVER_MID & MA_SHORT_CROSSOVER_BIG: Conditions for bullish crossovers.
Inputs & MA Calculation:
Users can choose the type of moving average (EMA, SMA, WMA, VWMA) and adjust lengths for short, mid, and big MAs.
Additional inputs include lookback length for percentile calculations and percentile thresholds for determining overbought and oversold boundaries.
The script computes:
Short MA Low and High: Based on the low and high series.
Mid MA and Big MA: Based on the average price (ohlc4).
Dynamic Percentile Boundaries:
Two functions (f_getPercentile() and f_getPercentileArr()) calculate dynamic percentile values from the MA data.
These functions determine the oversold and overbought boundaries used in the state transition conditions.
Timestamp & Alert Header Formatting:
A helper function (f_formatTimestamp()) formats timestamps into a human-readable form (e.g., "Tue 12 Mar 16:30").
This formatted time, along with ticker information and other details, is used to build an alert header.
State Transitions & Alerts:
The script calls the state machine’s step() method multiple times with conditions based on the relationship between MA values and the percentile boundaries.
For example:
A bullish condition is triggered when the short MA low moves above the overbought threshold.
A bearish condition is triggered when the short MA high falls below the oversold boundary.
Transitions are further refined by checking if the MA is rising or falling.
When specific state transitions occur (e.g., MA_SHORT_CROSSOVER_MID after MA_SHORT_BELOW_OVERSOLD), the script:
Checks that the transition is recent (using the barsSinceState() method).
Optionally creates a label on the chart.
Triggers an alert with a descriptive message.
Chart Plotting:
The script plots the calculated moving averages (short, mid, and optionally big) on the chart.
It also plots the dynamic percentile boundaries for visual reference.
Purpose & Usage:
Trading Signal Generation:
The primary goal is to monitor key MA conditions and trigger alerts when significant crossovers or crossunders occur. These events—such as bullish crossovers when the market recovers from oversold conditions or bearish crossunders when the market retracts from overbought conditions—can be used as trading signals.
Visualization:
Users have options to display the various moving averages and percentile boundaries directly on the chart, as well as optional labels that mark when an alert is generated.
Alerting:
When specific state transitions are detected, the script constructs and sends an alert message with a timestamp, ticker, and descriptive text, aiding traders in making timely decisions.
릴리즈 노트
Label Changes면책사항
이 정보와 게시물은 TradingView에서 제공하거나 보증하는 금융, 투자, 거래 또는 기타 유형의 조언이나 권고 사항을 의미하거나 구성하지 않습니다. 자세한 내용은 이용 약관을 참고하세요.
면책사항
이 정보와 게시물은 TradingView에서 제공하거나 보증하는 금융, 투자, 거래 또는 기타 유형의 조언이나 권고 사항을 의미하거나 구성하지 않습니다. 자세한 내용은 이용 약관을 참고하세요.