OPEN-SOURCE SCRIPT

Formation Analysis Table

This code creates a pattern analysis table written in TradingView's Pine Script v5 language. The code analyzes specific candlestick patterns and displays the presence or absence of these patterns in a table. It also provides a brief description of each pattern.

Sections of the Code and Explanations:
1. Defining the Indicator
pinescript
Copy Code
//version=5
indicator("Formation Analysis Table", overlay=true)
version=5: Specifies that the code will work in Pine Script v5.
indicator: Specifies that this code is an indicator. The overlay=true parameter allows the table to be displayed above the price chart.
2. User Settings
pinescript
Copy the code
font_size = input.int(12, title="Font Size", minval=8, maxval=24)
position_option = input.string("Top Right", title="Table Position", options=["Top Right", "Top Left", "Bottom Right", "Bottom Left"])
font_size: Allows the user to choose the font size.
position_option: Provides the option to position the table in one of the four corners of the screen.
The table position is determined as follows:

pinescript
Copy the code
var table_position = position.top_right
if (position_option == "Top Right")
table_position := position.top_right
else if (position_option == "Top Left")
table_position := position.top_left
else if (position_option == "Bottom Right")
table_position := position.bottom_right
else if (position_option == "Bottom Left")
table_position := position.bottom_left
3. Creating the Table
pinescript
Copy the code
var table t1 = table.new(table_position, 3, 21, frame_color=color.white, border_width=1, border_color=color.white)
table.new: Creates a new table.
3: Specifies the number of columns (Formation, Status, Description).
21: Specifies the number of rows (20 patterns + title).

frame_color and border_color: Color of the chart frame.

4. Pattern Detection Functions
A function is defined for each pattern. For example:

Bullish Engulfing:
pinescript
Copy the code
bullish_engulfing() =>
close[1] < open[1] and close > open and close > open[1] and open < close[1]
Conditions for this pattern:

Previous candle must be a bearish candle (close[1] < open[1]).
Current candle must be a bullish candle (close > open).
Current candle must "engulf" the entire previous candle (close > open[1] and open < close[1]).
Bearish Engulfing Candle:
pinescript
Copy the code
bearish_engulfing() =>
close[1] > open[1] and close < open and close < open[1] and open > close[1]
Similarly, the conditions for the bearish engulfing candle are defined.

Similar logical checks are made for other formations (Doji, Hammer, Morning Star, etc.).

5. Table Headers
A header is added to the first row of the table:

pinescript
Copy the code
if (bar_index == 0)
table.cell(t1, 0, 0, text="Formation", bgcolor=color.blue, text_color=color.white, text_size=size.normal)
table.cell(t1, 1, 0, text="Status", bgcolor=color.blue, text_color=color.white, text_size=size.normal)
table.cell(t1, 2, 0, text="Description", bgcolor=color.blue, text_color=color.white, text_size=size.normal)
The "Formation", "Status", and "Description" headers are added to the table.

6. Formations, Statuses, and Descriptions
Formations, statuses, and descriptions are stored in separate arrays.
pinescript
Copy the code
formations = array.new_string(20)
array.set(formations, 0, "Bullish Engulfing")
Statuses are determined by whether each formation is detected:
pinescript
Copy the code
statuses = array.new_string(20)
array.set(statuses, 0, bullish_engulfing() ? "Detected" : "Not Detected")
If the formation is detected, "Detected" is written; otherwise, "Not Detected".

The descriptions tell what each pattern means:
pinescript
Copy the code
descriptions = array.new_string(20)
array.set(descriptions, 0, "Potential bullish trend.")
7. Filling the Table Cells
The table is filled for each pattern:

pinescript
Copy the code
for i = 0 to array.size(formations) - 1
table.cell(t1, 0, i + 1, text=array.get(formations, i), bgcolor=color.blue, text_color=color.white, text_size=text_size)
table.cell(t1, 1, i + 1, text=array.get(statuses, i), bgcolor=color.gray, text_color=color.white, text_size=text_size)
table.cell(t1, 2, i + 1, text=array.get(descriptions, i), bgcolor=color.white, text_color=color.black, text_size=text_size)
The name, status and description of each formation are written in the table with the appropriate color.
Output:
When this code is run, a table is displayed above the price chart:

Formation: Which formations are being analyzed.
Status: Which formations have been detected.
Description: What the formation means.
The table visualizes formation analysis in a user-friendly and dynamic way.
Candlestick analysiseducational

Mã nguồn mở

Theo tinh thần TradingView thực sự, tác giả của tập lệnh này đã xuất bản dưới dạng nguồn mở để các nhà giao dịch có thể hiểu và xác minh. Chúc mừng tác giả! Bạn có thể sử dụng miễn phí. Tuy nhiên, bạn cần sử dụng lại mã này theo Quy tắc nội bộ. Bạn có thể yêu thích nó để sử dụng nó trên biểu đồ.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?

Thông báo miễn trừ trách nhiệm