EWCore Docs (Help & Reference)EWCore Docs — On-Chart Help & Reference (companion to EWCore)
EWCore Docs is the documentation companion to the EWCore Elliott Wave indicator. It is one of three scripts published together: EWCore itself, the EWCoreEvaluators library that EWCore imports, and this reference panel. It must be used alongside EWCore — on its own it has nothing to document.
This script performs no price calculation . It draws a single text panel on the chart that carries EWCore's feature list, its full settings manual, and a short Elliott Wave vocabulary primer, so that a user working with EWCore can look something up without leaving the chart.
Why this exists
EWCore is a large indicator with an extensive settings dialog and a long list of named features, and its settings interact: a threshold in the detection stage changes what the scoring stage ever gets to see. Tooltips explain one setting at a time and cannot show that structure. A trader who wants to understand why a count looks the way it does needs the settings laid out in the same order the engine applies them, reachable while the chart is open. That is what this panel does, and it is why the reference lives in a script rather than on a page somewhere else.
How to use it — everything is in the Settings dialog
Add the script to a chart, then open its settings. There are no chart interactions; every input only selects which text is shown.
Group "EWCore Docs — Navigation" — always active:
Show Panel — turns the panel on and off.
Content — the main switch, choosing between the sections below.
Panel Position — anchor points from top left through centre to bottom right.
Panel Text Size — Small, Normal or Large.
Group "Feature List" — active when Content is set to Feature List:
Feature Group — pages through EWCore's features in blocks, from detection and rules through chains, labels and targets to the newer extension and calibration features. Each entry gets a short plain-English description.
Group "Settings Manual" — active when Content is set to Settings Manual. The controls, used in sequence:
Manual Category — the stages of the engine, in the order it applies them:
Detection & Verification — Pivot Detection (ATR-adaptive), Higher-Degree Detection, Pattern Detection, Sub-Wave Verification, Window Discriminator
Context & Anchoring — Count Anchoring, Display Window
Scoring — Scoring Module, Hard-Rule Tolerance, Parent-Timeframe Context Gate, Performance Safety
Visualization — Wave Labels, Historical Chain, Sequel Chain, Gap Raw Count, Pattern Explanation, Lines & Zones, Frame Count, Forward Projection, Fibonacci Target Zones, Table Settings
↳ Section — picks one section within the chosen category. Note that the dialog shows one "↳ Section" row per category; only the row belonging to your current Manual Category is active, the others are greyed out.
Setting # within section — pages through the settings of that section one at a time. Each page shows the setting's exact title, its default value, and its full explanation, reproduced word for word from EWCore's own tooltip.
Group "Elliott Wave Primer" — active when Content is set to Elliott Wave Primer:
Primer Topic — basic structure, the impulse hard rules, corrective pattern types, the degree scale, extensions, alternation, and diagonals. These are the terms the other two sections assume you already know.
What is not covered
Purely cosmetic settings — colors, line styles, label and text sizes — are left out of the manual on purpose. They are self-explanatory in EWCore's own dialog and are described collectively under the Theming feature instead.
What this script does NOT do
It does not plot, measure, or evaluate anything on the chart it is added to, and it produces no signals. It has no input that affects any calculation, because there is no calculation — every input only changes which piece of reference text is displayed. Panel width and height are not adjustable; both follow the fixed line wrapping of the text and the amount of content currently shown. If you are looking for the Elliott Wave counting and labelling itself, that is EWCore, not this script.
This script is a documentation tool. It is not financial advice, and not a technical analysis tool in itself. Indicator

TUF_LOGICTUF_LOGIC: Three-Value Logic for Pine Script v6
The TUF_LOGIC library implements a robust three-valued logic system (trilean logic) for Pine Script v6, providing a formal framework for reasoning about uncertain or incomplete information in financial markets. By extending beyond binary True/False states to include an explicit "Uncertain" state, this library enables more nuanced algorithmic decision-making, particularly valuable in environments characterized by imperfect information.
Core Architecture
TUF_LOGIC offers two complementary interfaces for working with trilean values:
Enum-Based API (Recommended): Leverages Pine Script v6's enum capabilities with Trilean.True , Trilean.Uncertain , and Trilean.False for improved type safety and performance.
Integer-Based API (Legacy Support): Maintains compatibility with existing code using integer values 1 (True), 0 (Uncertain), and -1 (False).
Fundamental Operations
The library provides type conversion methods for seamless interaction between integer representation and enum types ( to_trilean() , to_int() ), along with validation functions to maintain trilean invariants.
Logical Operators
TUF_LOGIC extends traditional boolean operators to the trilean domain with NOT , AND , OR , XOR , and EQUALITY functions that properly handle the Uncertain state according to the principles of three-valued logic.
The library implements three different implication operators providing flexibility for different logical requirements: IMP_K (Kleene's approach), IMP_L (Łukasiewicz's approach), and IMP_RM3 (Relevant implication under RM3 logic).
Inspired by Tarski-Łukasiewicz's modal logic formulations, TUF_LOGIC includes modal operators: MA (Modal Assertion) evaluates whether a state is possibly true; LA (Logical Assertion) determines if a state is necessarily true; and IA (Indeterminacy Assertion) identifies explicitly uncertain states.
The UNANIMOUS operator evaluates trilean values for complete agreement, returning the consensus value if one exists or Uncertain otherwise. This function is available for both pairs of values and arrays of trilean values.
Practical Applications
TUF_LOGIC excels in financial market scenarios where decision-making must account for uncertainty. It enables technical indicator consensus by combining signals with different confidence levels, supports multi-timeframe analysis by reconciling potentially contradictory signals, enhances risk management by explicitly modeling uncertainty, and handles partial information systems where some data sources may be unreliable.
By providing a mathematically sound framework for reasoning about uncertainty, TUF_LOGIC elevates trading system design beyond simplistic binary logic, allowing for more sophisticated decision-making that better reflects real-world market complexity.
Library "TUF_LOGIC"
Three-Value Logic (TUF: True, Uncertain, False) implementation for Pine Script.
This library provides a comprehensive set of logical operations supporting trilean logic systems,
including Kleene, Łukasiewicz, and RM3 implications. Compatible with Pine v6 enums.
method validate(self)
Ensures a valid trilean integer value by clamping to the appropriate range .
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to validate.
Returns: An integer value guaranteed to be within the valid trilean range.
method to_trilean(self)
Converts an integer value to a Trilean enum value.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer to convert (typically -1, 0, or 1).
Returns: A Trilean enum value: True (1), Uncertain (0), or False (-1).
method to_int(self)
Converts a Trilean enum value to its corresponding integer representation.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to convert.
Returns: Integer value: 1 (True), 0 (Uncertain), or -1 (False).
method NOT(self)
Negates a trilean integer value (NOT operation).
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to negate.
Returns: Negated integer value: 1 -> -1, 0 -> 0, -1 -> 1.
method NOT(self)
Negates a Trilean enum value (NOT operation).
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to negate.
Returns: Negated Trilean: True -> False, Uncertain -> Uncertain, False -> True.
method AND(self, comparator)
Logical AND operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the AND operation (minimum value).
method AND(self, comparator)
Logical AND operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the AND operation.
method OR(self, comparator)
Logical OR operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the OR operation (maximum value).
method OR(self, comparator)
Logical OR operation for Trilean enum values following three-valued logic.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the OR operation.
method EQUALITY(self, comparator)
Logical EQUALITY operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer representation (1/-1) indicating if values are equal.
method EQUALITY(self, comparator)
Logical EQUALITY operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean.True if both values are equal, Trilean.False otherwise.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value to compare with.
Returns: Integer result of the XOR operation.
method XOR(self, comparator)
Logical XOR (Exclusive OR) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value to compare with.
Returns: Trilean result of the XOR operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Kleene's implication operation.
method IMP_K(self, comparator)
Material implication using Kleene's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Kleene's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of Łukasiewicz's implication operation.
method IMP_L(self, comparator)
Logical implication using Łukasiewicz's logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of Łukasiewicz's implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The antecedent integer value.
comparator (int) : The consequent integer value.
Returns: Integer result of the RM3 implication operation.
method IMP_RM3(self, comparator)
Logical implication using RM3 logic for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The antecedent Trilean enum value.
comparator (series Trilean) : The consequent Trilean enum value.
Returns: Trilean result of the RM3 implication operation.
method MA(self)
Modal Assertion (MA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1 or 0, -1 if the value is -1.
method MA(self)
Modal Assertion (MA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True or Uncertain, Trilean.False if value is False.
method LA(self)
Logical Assertion (LA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 1, -1 otherwise.
method LA(self)
Logical Assertion (LA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is True, Trilean.False otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The integer value to evaluate.
Returns: 1 if the value is 0, -1 otherwise.
method IA(self)
Indeterminacy Assertion (IA) operation for Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The Trilean enum value to evaluate.
Returns: Trilean.True if value is Uncertain, Trilean.False otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two trilean integer values.
Namespace types: series int, simple int, input int, const int
Parameters:
self (int) : The first integer value.
comparator (int) : The second integer value.
Returns: Integer value of self if both values are equal, 0 (Uncertain) otherwise.
method UNANIMOUS(self, comparator)
Evaluates the unanimity between two Trilean enum values.
Namespace types: series Trilean
Parameters:
self (series Trilean) : The first Trilean enum value.
comparator (series Trilean) : The second Trilean enum value.
Returns: Value of self if both values are equal, Trilean.Uncertain otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of trilean integer values.
Namespace types: array
Parameters:
self (array) : The array of integer values.
Returns: First value if all values are identical, 0 (Uncertain) otherwise.
method UNANIMOUS(self)
Evaluates the unanimity among an array of Trilean enum values.
Namespace types: array
Parameters:
self (array) : The array of Trilean enum values.
Returns: First value if all values are identical, Trilean.Uncertain otherwise. Library

Indicator

Entry helperHello traders,
This is a script I use daily as a scalper and it helps me a lot, maybe it can help you, this is why I am sharing it!
PART 1 - DESCRIPTION
This program is specifically designed to help scalpers but can be used for all types of trading but won't be as useful.
This script is what I call an entry helper as it calculates dynamically the position size, stop loss and take profit levels and more.
When scalping and placing market entry orders, the price can move significantely while you are calculating your position size according to your stop loss, capital, risk and especially close price that changes very quickly, this results in a risk that is not ideally controlled and personally was a source of frustration and stress. I wanted to enter my quantity and stop loss values as fast as possible and make the process easier.
This script automates the calculation of the position size, stop loss and take profit levels according the the users input and prints the data visibly on the screen so it is easy to copy by the trader. It allows the trader to be confident that his risk is as controlled as possible.
The script is easy to use and set up, this guide will help you if you have any difficulies or questions.
PART 2 - HOW TO USE THE SCRIPT
- SET THE CAPITAL SETTINGS
1 - Set your capital value in $
- SET THE TRADE SETTINGS
2 - Set your trade side (BUY or SELL)
3 - Set you desired risk in % of your capital
- ENTRY SETTINGS
4 - Set your entry from 2 different options
|MARKET| (default option)
This option will place the entry level at the last available price
|LIMIT|
This option allows you to input a fixed price level for the entry
- STOP LOSS SETTINGS
5 - Select your stop loss placement from 4 different options
|EXTREMA STOP LOSS| (default option)
This option will place the stop loss at the highest/lowest (extrema) price level within the last N candles
|ATR EXTREMA|
This option uses the same price level as the EXTREMA STOP LOSS but will add/soustract the last ATR value (calculated on the N last candles) multiplied by a coefficient that you input
|TICKS EXTREMA|
This option uses the same price level as the EXTREMA STOP LOSS but will add/soustract a number of ticks that you input
|PRICE LEVEL|
This option allows you to input a fixed price level for the stop loss
- TAKE PROFIT SETTINGS
6 - Select your take profit from 3 different options
|NONE| (default option)
This option will not display any take profit level, I have added this option as I don't have take profit targets
|RR|
This option uses a risk to reward ratio (reward/risk) that you input, it will automatically calculate the take profit level that corresponds
|PRICE LEVEL|
This option allows you to input a fixed price level for the take profit
- QUANTITY AND FEE SETTINGS
7 - Set the quantity settings, it represents the quantity in a lot (usually 100 000 in forex, 100 in stocks 1 for crypto currencies)
8 - Set the fee per quantity (turning lot)
- VISUAL SETTINGS
9 - Show or remove the tab
- TAB SETTINGS
10 - Select the data that you want to display in the tab (the tab will adapt automatically)
NOTES:
The vertical dashed line shows what candle has been used for the calculation of the stop loss, it allows you to visualize what candle the script has selected in case of an EXTREMA stop loss option.
I hope this helps you out! Any suggestions are welcome and I hope that the guide is clear enough.
Happy trading! Indicator

Indicator

Strategy

Strategy

CC - Consolidated Interval Display (CID)Ever wish you didn't have to rapidly flip between 6 different intervals to get the full picture?
Yeah, me too. Do you also wish that you kind of understood how the shift / unshift function works for arrays?
Yeah, I did too. Both of those birds are taken care of with one stone!
The Consolidated Interval Display uses the new Array structure and security to display data for 5m, 15m, 45m, 1h, 4h and 1d intervals SIMUTANEOUSLY! Regardless of which interval you're looking at you can get the full picture of numerical data without flipping around to get it.
This is my first script trying to use arrays. It basically shows the following for the given ticker:
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 5 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 15 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 45 minute level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 1 hour level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 4 hour level.
ATR14, RSI7, RSI14, SMA50, SMA200 and VWAP at the 1 day level.
To make it more or less busy, I've allowed you to toggle off any of the levels you wish. I've also chosen to leave this as open source, as it's nothing too experimental, and I hope that it can gain some traction as an Array example that the public can use! If you don't like the different values that are shown, use this source code example as a spring-board to put values that you do care about onto the labels.
If this code has helped you at all please drop me a like or some constructive criticism if you do not think it's worth a like.
Good luck and happy trading friends.
If this gets traction, I will post something similar for a combination of SPY, VIX, GOLD, QQQ, IWM and TLT. Indicator

Indicator

Strategy

Indicator

Indicator
