Cycle Position TradingTitle: Cycle Position Trading Strategy v1.0
Description: Cycle Position Trading Strategy is a simple yet effective trading strategy based on a 200-day Simple Moving Average (SMA). Users can select between two modes, "Buy Uptrend" and "Buy Downtrend," to customize the strategy according to their trading preferences. The strategy allows users to set their own stop loss (SL) and take profit (TP) levels, providing more flexibility and control over their trades.
Features:
Choose between two trading modes: "Buy Uptrend" and "Buy Downtrend."
Customize your stop loss (SL) and take profit (TP) levels.
Clear visual representation of the 200-day Simple Moving Average (SMA) on the chart.
How to use:
Add the strategy to your chart by searching for "Cycle Position Trading Strategy" in the TradingView "Indicators & Strategies" section.
Configure the strategy settings according to your preferences:
Select the trading mode from the dropdown menu. "Buy Uptrend" will open long positions when the closing price is above the 200-day SMA. "Buy Downtrend" will open long positions when the closing price is below the 200-day SMA.
Set your desired stop loss (SL) and take profit (TP) levels. The default values are 0.9 (10% below the entry price) for the stop loss and 1.1 (10% above the entry price) for the take profit.
Monitor the chart for trade signals based on the chosen mode and settings. The strategy will enter and exit trades automatically based on the selected mode and the configured stop loss and take profit levels.
Analyze the performance of the strategy by checking the TradingView strategy performance summary or by viewing individual trades in the "Trades" list.
Disclaimer: This strategy is intended for educational and illustrative purposes only. Use it at your own risk. Past performance is not indicative of future results. Trading stocks, cryptocurrencies, or any other financial instrument involves significant risk and may result in the loss of capital.
Version: v1.0
Release date: 2023-03-25
Author: I11L
License: Mozilla Public License 2.0 (mozilla.org)
스크립트에서 "tp"에 대해 찾기
Divergence for Many [Dimkud - v5]Strategy is based on "Divergence for Many Indicators v4 ST" strategy by CannyTolany01
which is based on "Divergence for Many Indicator" indicator by LonesomeTheBlue
This strategy is searching for divergences on 18 indicators which you can select and optimise one by one.
Additionally you can connect any other External Indicator value. (just add this indicator the the chart and select option in settings)
To the original indicator/strategy I have added 9 additional indicators:
( Money Flow Index, Williams_Vix, Stochastic RSI , SMI Ergodic Oscillator, Volume Weighted MACD , Bull Bear Power, Balance of Power , Relative Volatility Index , Logistic Settings).
Converted strategy to v5 of Pine Script.
Added Static SL/TP in percents (%).
Added filters to filter enters:
1. Volume Weighted MACD - Multi-TimeFrame Filter
(It checks for histogram to falling or rising for a set periods of bars)
2. Money Flow Index - Multi-TimeFrame Filter
(It checks if MFI Oscillator is in the set diapason.
Also It checks if MFI is falling or rising for a set periods of bars )
3. ATR filter
(check changes in fast ATR to slow ATR )
Strategy shows good backtest results on many crypto tokens on 45m - 1h periods. (with parameters optimisation for every indicator)
To find best parameters - you can enable indicators one-by one, and optimise best parameters for each of them.
Then enable all indicators with successful results.
Optimise SL/TP.
Then try to enable and optimise filters (channels etc.)
The better is to optimise parameters separately for Short and Long trading. And run two separate bots (in settings enable only Long or only Short.)
Updates:
- Added visualisation for open trades (SL/TP)
- Added Volatility filter by ATR with many options for tests.
- Fixed some small bugs.
- Added second RSI filter (you can use two RSIs with different TF or settings)
- Updated ATR volatility and MFI filter. Removed non-effective options
- Added CCI filter
- Added option to Enable/Disable visualisation of TP/SL on chart
- Fixed one small quick bug. ("ATR filter short" was not working)
- Added Super Trend filter
- Added Momentum filter
- Added Volume Filter
- All "request.security" MultiTimeFrame calls changed to 100% non-repait function "f_security()"
Strategy Multiple Orders + Statistics Template - EducationalHello traders
It's been a while
We're back in a bear market so I have a bit more time to publish new Pine scripts for the TradingView community
 Special thanks  to @fikira for his Multiple Orders script () and to @carnagecain for allowing me to publish this script we worked together on
I got widely inspired by @fikira's script for that one
This script is for educational purposes only - I wanted to show how we can add multiple TPs/SL + a table with custom statistics
In this Strategy template, users can define multiple take-profit and multiple stop-loss levels.
Basically, we have 4 trades per trend and each trade has its own SL/TP
 Statistics 
Stats are split per trade direction (Long, Short) and then consolidated
I put custom stats in that table such as:
- Probability of Win
- Probability of Loss
- Avg Profit/Loss per Trade
- APPT: (Probability of Win * Average Gross Profit) - (Probability of Loss * Average Loss)
- Number of times each TP/SL has been hit
I'm catching up with all recent pinescript features as we speak - more educational scripts template to come soon
Best Regards
Dave
Cipher B divergencies for Crypto (Finandy support)Hello Traders!
In times of high volatility, it is important to follow a market-neutral strategy to protect your hard-earned assets. The simple script employs common buy/sell and/or divergencies signals from the VuManChu Cipher B indicator with fixed stop losses and takes profits. The signals are filtered by a local trend of a coin of interest and the global trend of Bitcoin. These trends-filtered signals demonstrated better performance on most of the back- and forward- tests for USDT cryptocurrency futures. The strategy is based on my real experience, it's a diamond I want to share with you.
In terms of visualization if the background is red and the price is below the yellow line then only a short position can be opened. Conversely, if the price is above the yellow line AND the background is green only a long position can be opened.
Inputs from VuManChu you can find on the top. Frankly, I do not know how they can help you to improve the performance of the strategy. My inputs of the script you can find in "Trend Settings" and "TP/SL Settings" at the bottom.
The checkbox "Only divergencies" lets to broadcast only more reliable buy/sell signals for a cost of rare deals.
The checkbox "Cancel all positions if price crosses local sma?" makes additional trailing stop loss. Usually, this function increases the win rate by "smoothing" the risk/reward ratio, as a usual stop loss does.
You can tune SL/TP based on backtesting.
To connect the script to Finandy just edit "name" and "secret" to connect your webhook (see the bottom of the script).
The rule of thumb for the strategy is "only divergencies" - ON, high reward/risk (TP/SL) ratio, 5 min timeframe on chart help with performance.
Finally, I am looking forward to feedback from you. If you have some cool features for my script in your mind, do not hesitate to leave them in the comments.
Good luck!
CalculatePercentageSlTpLibrary   "CalculatePercentageSlTp" 
This Library calculate the sl and tp amount in percentage
 sl_percentage(entry_price, sl_price) 
  this function calculates the sl value in percentage
  Parameters:
     entry_price : indicates the entry level
     sl_price : indicates the stop loss level
  Returns: stop loss in percentage
 tp_percentage(entry_price, tp_price) 
  this function calculates the tp value in percentage
  Parameters:
     entry_price : indicates the entry level
     tp_price : indicates the take profit level
  Returns: take profit in percentage
 sl_level(entry_price, sl_percentage) 
  this function calculates the sl level price
  Parameters:
     entry_price : indicates the entry level
     sl_percentage : indicates the stop loss percentage
  Returns: stop loss price in $
 tp_level(entry_price, tp_percentage) 
  this function calculates the tp level price
  Parameters:
     entry_price : indicates the entry level
     tp_percentage : indicates the take profit percentage
  Returns: take profit price in $
FX Profit CalculatorWith this indicator, you will be able to see how much you earn in forex in dollar terms. 
It asks you 3 things when adding the indicator.
 TP point
SL point
Position Entry point 
If you have selected the TP point above, the entry zone below it, and the SL point below it, the indicator will automatically understand that there is a BUY order and will make the calculations accordingly.
The same is true for the opposite.
When you use the indicator in any parity, you will have problems switching to other parities.
  
So either use it only in one parity, or update your targets from the indicator settings at every parity change.
You will get the same error if:
Your trading entry point should be between your TP and SL points. If you do not set it this way, the indicator will warn that please fix it.
 If you are in the trade, tick the settings and show the dollar-based profit of your position according to the instant closing price. 
  
The percentage variable works like this:
When you adjust for one parity, shifts occur in the chart when you switch to the other parity. When switching to non-circulating graphics at the same prices, the user is prompted to re-enter so that the graphic does not deteriorate.
  
BONUS : You can move these lines up and down with your mouse on the graphic :) 
Gap Absorption StrategyLike the nature, markets don't like the void, and this is something we can take advantage of by trading gaps on some markets.
This technique is well known, so I wanted to write a tiny script based on this strategy to get a bit more comfortable with it.
 IMPORTANT:  Default parameters wont give you good trades on every markets, you need to modify these parameters to see which proportions correspond to the stock you're trading.
This script triggers signals on predefined variation of a stock price after a gap, and allows its user to configure TP and SL prices corresponding to a specific percentage of this gap movement.
 Note:  We can observe that opening gaps are often the most interesting.
 Options 
 
  Trigger: the price variation you want to trigger on (in % of the price)
  Stop Loss : in % of the gap
  Take profit : in % of the gap
  A small table is displayed in the top right corner of the chart to give you TP/SL/Signal prices for each opportunity
  SL (red line) and TP (green line) are also displayed on the chart when a signal is triggered
  Information concerning the current opportunity is given at the bottom of the chart
 
 Note:  This script is based on the Gap-Size-Indicator that I published a few weeks ago.
 
Lot Size by doclribeiroThis script calculate which values should LOT, SL and TP be to trade the pair selected on TM
By default SL and TP are calculated using ATR: timeframe 1H for SL and timeframe 15min for TP.The user can also specify the SL and also the TP, or the amount of pipets to calculate SL or TP.
Kind Regrads
Miguel Campos
Zendog V3 backtest DCA bot 3commasMAJOR UPDATE:
- Update to Pinescript v5
- MAJOR refactor for the logic of how orders are placed. BO order is placed when the condition is first encountered and we are not in a deal.
The extra SO orders (if based on price movement) are all placed on the next candle after BO order, instead of each being placed one after another.
Take profit (if percentage) and Stop loss are placed on the first candle after BO order because if BO and TP are on the same candle TV does not execute properly.
These changes should improve strategy accuracy when multiple prices are hit by the same candle.
- NEW FEATURE: Support to Stop deal using an external indicator (i.e. stop long deal when RSI > 80)
- NEW FEATURE: Support to trigger Safety orders using an external indicator (i.e. trigger each additional SO when RSI < 10, regardless of price movement)
The price movement logic may be implemented in the indicator that plots start / end signals. The SO size is calculated using the configuration of steps.
- NEW FEATURE: Safety order command for 3commas bot. This is implemented using Add funds in the quote currency (for pair BTCUSDT the quote currency is USDT)
The SO size is calculated using the configuration of steps, for exact order size (and price) use the built-in Steps table.
- NEW FEATURE: Addition of extra columns to the steps table: Required price for TP, Required % change for TP, Required % change for BEP (Breakeven point)
- Update to steps table to remove prices when Safety orders are not based on % price change
- The code is opensource. I will not be able to sustain merges for the script, but feel free to use and develop your own version and ping me on discord to review them 
and maybe include in the original script
Bagheri IG Ether v2In this version, the winning ratio has been decreased, but the Risk to Reward Ratio (RRR) has been set to be better than the previous version. 
This is a technical trading strategy for Ethereum ( BINANCE:ETHUSDT ). We built and developed it on MetaEditor and optimized it with MetaTrader optimizer.
The main indicators are Donchian Channel, Oscillator of ROC , Bears Power, Balance of Power , and Simple Moving Average ( SMA ). Default values in the input panel are the best combination of these indicators, but you can change any of them and try it for better results.
Please notice that this strategy has been optimized on the 1-minute chart of Ethereum .
For each position, you can see the Take Profit (TP) and Stop Loss (SL) levels. Also, you can find the values of mentioned TP and SL in points from the input panel of the script.
Attention: The price of Ethereum has 2 decimal places.
Therefore, 3000 points for TP means 30 USDT for trading 1 BINANCE:ETHUSDT .
Bagheri IG EtherThis is a technical trading strategy for  Ethereum  ( BINANCE:ETHUSDT ). We built and developed it on MetaEditor and optimized it with MetaTrader optimizer.
The main indicators are Donchian Channel, Oscillator of ROC, Bears Power, Balance of Power, and Simple Moving Average (SMA). Default values in the input panel are the best combination of these indicators, but you can change any of them and try it for better results.
Please notice that this strategy has been optimized on the  1-minute chart  of Ethereum.
For each position, you can see the Take Profit (TP) and Stop Loss (SL) levels. Also, you can find the values of mentioned TP and SL in points from the input panel of the script.
 Attention:   The price of Ethereum has 2 decimal places.
Therefore, 3000 points for TP means 30 USDT for trading 1  BINANCE:ETHUSDT .
CCI 5 LEVELS BY MOADThe Commodity Channel Index ( CCI ) is a momentum oscillator used in technical analysis primarily to identify overbought and oversold levels by measuring an instrument's variations away from its statistical mean. Besides overbought/oversold levels, CCI is often used to find reversals as well as divergences. Originally, the indicator was designed to be used for identifying trends in commodities , however it is now used in a wide range of financial instruments. 
There are several steps involved in calculating the CCI . The following example is for a typical 14 Period CCI:
CCI = (Typical Price - 14 Period SMA of TP) / (.015 x Mean Deviation)
Typical Price (TP) = (High + Low + Close)/3
Constant = .015
The Constant is set at .015 for scaling purposes. By including the constant, the majority of CCI values will fall within the 100 to -100 range.
Mean Deviation:
1) Subtract the most recent 14 Period Simple Moving from each typical price (TP) for the Period.
2) Sum these numbers strictly using absolute values.
3) Divide the value generated in step 2 by the total number of Periods (14 in this case).
Overbought and Oversold conditions can be used in their more traditional sense to identify future reversals. Remember true overbought/oversold thresholds values can and often do vary between instruments.
During a Bullish Trend, price crossing above the overbought threshold may indicate strong confidence in the move and price will continue to rise.
During a Bearish Trend, price crossing below the oversold threshold may indicate strong confidence in the move and price will continue to fall.
The first option is a modified CCI indicator that uses the "Arnaud Legoux Moving Average" instead of the SMA , and the source uses the VWAP instead of the HLC3. Added to this version an option to calculate CCI with different types of moving averages:
Green dots mean they are overbought
Orange dots mean they are oversold
Added a "SuperTrend Background" based on the modified CCI indicator:
Bull event = CCI crossing over the 0 line
Bear event = CCI crossing below the 0 line
Added a signal as EMA (modified CCI , signal length)
The second option is a standard CCI indicator that shows a coloured histogram of important levels, giving a good visual of the CCI levels. Added to this version is an extra coloured level +/-200 and an option to use Traditional CCI calculations according to user @JustUncleL
LEVELS:
Aqua: Greater than 200.
Lavender: Greater than 100 and less than 200.
Dark Lavender: Greater than 0 and less than 100.
Dark Coral: Less than 0 and greater than -100.
Coral: Less than -100 and greater than -200.
Light Red: Less than -200.
Double CCIThe  Commodity Channel Index  (CCI) is a  momentum oscillator  used in technical analysis primarily to identify  overbought  and  oversold levels  by measuring an instrument's variations away from its statistical mean. Besides overbought/oversold levels, CCI is often used to find reversals as well as divergences. Originally, the indicator was designed to be used for identifying trends in commodities, however it is now used in a wide range of financial instruments.
There are several steps involved in calculating the CCI. The following example is for a typical 14 Period CCI:
 CCI = (Typical Price  -  14 Period SMA of TP) / (.015 x Mean Deviation) 
Typical Price (TP) = (High + Low + Close)/3
Constant = .015
The Constant is set at .015 for scaling purposes. By including the constant, the majority of CCI values will fall within the 100 to -100 range. 
Mean Deviation:
     1) Subtract the most recent 14 Period Simple Moving from each typical price (TP) for the Period.
     2) Sum these numbers strictly using absolute values.
     3) Divide the value generated in step 2 by the total number of Periods (14 in this case).
Overbought and Oversold conditions can be used in their more traditional sense to  identify future reversals . Remember true overbought/oversold thresholds values can and often do vary between instruments.
During a  Bullish Trend , price crossing above the overbought threshold may indicate strong confidence in the move and price will continue to rise.
During a  Bearish Trend , price crossing below the oversold threshold may indicate strong confidence in the move and price will continue to fall.
The first option is a  modified CCI indicator  that uses the "Arnaud Legoux Moving Average" instead of the SMA, and the source uses the VWAP instead of the HLC3. Added to this version an option to calculate CCI with different types of moving averages:
Green dots mean they are overbought
Orange dots mean they are oversold
Added a "SuperTrend Background" based on the modified CCI indicator:
Bull event = CCI crossing over the 0 line
Bear event = CCI crossing below the 0 line
Added a signal as EMA (modified CCI, signal length)
The second option is a  standard CCI indicator  that shows a coloured histogram of important levels, giving a good visual of the CCI levels. Added to this version is an extra coloured level +/-200 and an option to use Traditional CCI calculations according to user @JustUncleL
LEVELS:
 Aqua:  Greater than 200.
 Lavender:  Greater than 100 and less than 200.
 Dark Lavender:  Greater than 0 and less than 100.
 Dark Coral:  Less than 0 and greater than -100.
 Coral:  Less than -100 and greater than -200.
 Light Red:  Less than -200.
money managementthis indicator has been designed to make your calculations easier and faster.
you can use this indicator to set tp and sl prices based on your entry price, balance,risk and leverage.
it has been designed only for cryptocurrency market and it is not recommended to use it in other markets!
1- enter your balance in the setting of the indicator.
2- enter risk percentage of your balance.
3- enter your sl percentage.
4- enter your tp percentage.
5- set your leverage if you are trading in futures market.
6- and at last set your entry price.
your position size both in spot market and futures market and the exact price of tp and sl , will be shown top right of the screen.
caution: before using this indicator in real market, please make sure that you understand this indicator's behavior and test it. 
--------------------------------------------------------------------
این اندیکاتور برای تسریع محاسبات مدیریت سرمایه و سهولت رعایت آن طراحی شده است.
شما میتوانید با وارد کردن پارامترهاقیمت ورودی، سرمایه کل، ریسک و اهرم، قیمت حد سود و ضرر خود را محاسبه کنید.
همچنین اندازه حجم معاملات شما توسط این اندیکاتور محاسبه خواهد شد.
این اندیکاتور برای بازار کریپتوکارنسی طراحی شده است و استفاده از آن در سایر بازارها پیشنهاد نمیشود.
از بخش تنظیمات اندیکاتورمراحل زیر را انجام دهید:
1- میزان سرمایه خود را در قسمت بالانس وارد کنید
2- میزان ریسک سرمایه در هر معامله را مشخص کنید (به درصد)
3- میزان حد ضرر خود را مشخص کنید (به درصد)
4- میزان حد سود خود را مشخص کنید (به درصد)
5- عدد اهرم خود را وارد کنید
6- قیمت ورود به معامله را وارد کنید
توجه: قبل از استفاده این اندیکاتور در بازار لایو لطفا آن را تست کنید و از کارکرد صحیح آن با مدیریت سرمایه خود اطمینان حاصل فرمایید.
[fareid] Quick Backtest Framework█ OVERVIEW
This Framework allows Pine Coders to quickly code Study() based signal/strategy and validate its viability before proceed to code with more advance/complex customized rules for entry, exit, trailstop, risk management etc..
This is somewhat an upgraded version of my earlier  personal template  with different strategy used, cleaner code 
 and additional features. 
█ USE CASES
- You have an idea for trade signal and need a quick way to verify its potential before writing lengthy/complicated code
- You found a study script for trading signal in public library and want to validate it profitability with minimum effort before including it in your trading playbook
█ FEATURES
-  Alert:  Ready to use alert function based on signals from your custom indicator.
-  Visual Backtest:  Auto-plot entry, stop-loss and take profit for simple strategy performance analysis
-  Backtest Statistic:  Provide basic key metrics based on backtest strategy
-  BTE External Signal Protocol:  Ready to use code that will supply required state to  PineCoders Backtesting & Trading Engine  if you wish to have more advance and sophisticated backtesting engine
 Notes: All of the above features have On/Off toggle 
█ Description & How To Use 
This Framework consist of 5 Modules but you only need to edit the first 2 Modules:
Module1: Indicator
Module2: Framework Input Protocol
Module3: Alert 
Module4: Backtest 
Module5:   Backtest & Trading Engine 
 Tips: The source-code includes collapsible block by module for easy navigating  
 Module1:  Indicator:
-----------------------------------------------------------------------------------
Main Module. Place custom indicator input parameter/calculation/indicator plotting here
Sample Strategy: Double MACD Crossover 
MACD Signal: 1st MACD Cross above signal line indicate Buy Signal
             1st MACD Cross below signal line indicate Sell Signal
MACD Filter: 2nd MACD is above 0 line indicate Uptrend
             2nd MACD is below 0 line indicate Downtrend
 Module2:  Framework Input Protocol:
-----------------------------------------------------------------------------------
Use this module to connect main indicator/signal calculated in Module1 to the rest of the framework's module
4 variables needed to be defined here:
        1. Uptrend
        2. Dntrend
        3. BuySignal
        4. SellSignal
i'm not sure how to place a code snippet here to show you example so in the source code i already put a comment in Module2 on which part u need to edit. I hope its pretty simple to use.
 Module3:  Alert Module Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the alert module is ready to use without any further modification.
Input:
Enable Alert     --> Enable TV's alert and plot signal to chart
Alert Type       --> Set to take Buy only, Sell only or Both alert
 Module4:  Backtest Module Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the backtest module is ready to use without any further modification.
Input:
Backtest Stat    --> Enable Backtest Statistic Label
Backtest Visual  --> Enable Backtest visual simulation
Backtest Type    --> Set to take Buy only or Sell only or both
SL Type          --> 
                    ATR     : Set SL in ATR times Multiplier below entry price
                    Fixed   : Set SL in fixed point below entry point (in 'Dollar'). e.g. for Stocks -> 0.5 equals to 50cent while for EURUSD currency -> 0.005 equal to 50 pips
                    HiLo Bar: Set SL at highest/lowest wick of previous   bar plus/minus Fixed point. e.g. EURUSD HiLo=3 and Fixed Point = 0.0005, buy trade will place SL 5 Pips below lowest of previous 3 bar
SL ATR Multi     --> Set Lookback Period used for SL's ATR calculation
SL ATR Multi     --> Set ATR Multiplier for SL
SL Fixed         --> Set Fixed Level for SL
SL Bar           --> Set Number of previous bar to check for SL placement
TP RR Ratio      --> Set TP based on RR multiplier. e.g. 2 means TP level will be twice further from entry point compared to Entry-SL distance.
Notes: The point is for preliminary testing, so it only supports 1 trade at a time and no Trailing Stop
 Module5:    Backtest & Trading Engine Description:
-----------------------------------------------------------------------------------
As long as the variables in Module2 properly defined, the Pinecoders BTE module is ready to use without any further modification.
Input:
External Signal Protocol   --> Set ESP State to send to "Backtesting & Trading Engine  "
            Signal With Filter              --> Use this to send entry signal that already filtered by this study indicator (without stoploss level)
            Signal Without Filter           --> Use this to send raw entry signal that are NOT YET FILTERED by this study indicator (without stoploss level)
            Signal and Stop With Filter     --> Use this to send entry signal WITH StopLoss that already filtered by this study indicator (with stoploss level)
            Signal and Stop Without Filter  --> Use this to send raw entry signal WITH StopLoss that are NOT YET FILTERED by this study indicator (with stoploss level)
Notes: Backtesting & Trading Engine   already have built-in Filter, Entries and Stop Level. e.g. Unselect all their filter state if only want to use custom filter and make sure send Signal with Filter (with or without SL level)
█ DISCLAIMER:
 
This framework main objective is to create my personal indicator template so that i just have to modify the indicator module for preliminary testing in future.
The sample strategy included are for educational purpose only. Use at your own risk
credit: LucF/PineCoders for a lot of his scripts that i use as a guide to complete this
MACD With Trend Filter: Visual Backtest Module TemplateSample Strategy: MACD Crossover with trend filter options
MA Filter       : Price Close Above MA, Search for Buy, Price Close Below MA, Search for Sell
ADX Filter      : Take trade only when ADX is above certain treshold
MACD Signal  : MACD Cross above signal line while under 0 line indicate Buy Signal
                      MACD Cross below signal line while above 0 line indicate Sell Signal
-----------------------------
Using Alert Module:
Enable Alert     --> Enable TV's alert and plot signal to chart
Alert Type        --> Set to take Buy only, Sell only or Both alert
----------------------------
Using Backtest Module:
Enable Backtest  --> Enable Backtest simulation
Backtest Type     --> Set to take Buy only, Sell only or Both
SL Type               --> 
                    ATR        : Set SL in ATR times Multiplier below/above entry price
                    Fixed      : Set SL in fixed point below entry point (in 'Dollar'). e.g. for Stocks -> 0.5 equals to 50cent while for EURUSD currency -> 0.005 equal to 50 pips
                    HiLo Bar : Set SL at highest/lowest wick of previous   bar plus/minus Fixed point. e.g. EURUSD HiLo=3 and Fixed Point = 0.0005, buy trade will place SL 5 Pips below lowest of previous 3 bar
SL ATR Period  --> Set Lookback Period used for SL's ATR calculation
SL ATR Multi    --> Set ATR Multiplier for SL
SL Fixed          --> Set Fixed Level for SL (Use when SL Type is either Fixed or HiLo Bar)
SL Bar             --> Set Number of previous bar to check for SL placement
TP RR Ratio     --> Set TP based on RR multiplier. e.g. 2 means TP level will be twice further from entry point compared to Entry-SL distance.
Notes: The point is for preliminary testing, so it only supports 1 trade at a time and no Trailing Stop
----------------------------
Disclaimer: 
This script main objective is to create my personal indicator template so that i just have to modify the indicator module for preliminary testing in future.
Testing Alert Module so i can re-use it as template in future study/indicator
Testing Visual Backtest Module so i can re-use it as template in future study/indicator 
i believe using Strategy function is a better approach for this but the entry/exit level seems to be hit n miss (at least for me, still trying to figure what i did wrong) 
also, i rather code the strategy in other platform where i can use the more accurate tick data if i want to validate backtest statistics.
My study scripts was built only to test/visualize an idea to see its viability and if it can be used to optimize existing strategy.
credit: ADX code are originally from "ADX and DI" by @BeikabuOyaji although i re-wrote so i can have cleaner read and use RMA instead of SMA 
Stepped trailing strategy exampleThis is a stepped trailing exit example for  educational purpose .
 Short brief. 
There are 1 stop loss and 3 profit levels.
 
 When first tp is reached we move stop loss to break-even.
 When second tp is reached we move stop loss to first tp.
 When third tp is reached we exit by profit.
Position Size CalculatorThis is a script to make calculating position size easier. It calculates position size as a percentage of account balance and Risk/Reward based on input values of entry, exit, stoploss and shows the R/R box similar to tradingview's R/R tool. There is an option to toggle showing label and choosing of label text color. 
Have to enter the following inputs in order for it to work properly
 1. Account Balance : Account balance in either whatever is base currency of account
 2. Risk % : Percentage of account balance to lose if stop is hit.
 3. Entry
 4. Stoploss
 5. Target Price
Notes: 
- Target Price is required for calculating R/R but is not necessary to calculate position size. 
- Formula to calculate position size is : Balance * Risk % / SL %
- Formula to calculate R/R is : TP % / SL %
- SL % = ( Entry - SL ) / Entry * 100 
- TP % = (TP - Entry ) / Entry * 100
Thanks to u/Chonky_ for help with feedback.
Point and Figure (PnF) CCIThis is live and non-repainting Point and Figure Chart Commodity Channel Index - CCI tool. The script has it’s own P&F engine and not using integrated function of Trading View. 
Point and Figure method is over 150 years old. It consist of columns that represent filtered price movements. Time is not a factor on P&F chart but as you can see with this script P&F chart created on time chart. 
P&F chart provide several advantages, some of them are filtering insignificant price movements and noise, focusing on important price movements and making support/resistance levels much easier to identify. 
Commodity Channel Index – CCI was developed by Donalt Lambert. CCI can be used to identify overbought or oversold, a new trend or warn of extreme conditions. CCI measures the difference between a security's price change and its average price change. High positive readings indicate that prices are well above their average, which is a show of strength. Low negative readings indicate that prices are well below their average, which is a show of weakness. 
The Formula for the Commodity Channel Index ( CCI ) Is: 
CCI = (Typical Price – L-period SMA of TP) / (0.015 * Mean Deviation) 
Mean Deviation = (SumOf 1->L ( |TP – MA| )) / L 
L = Length 
TP = Typical Price 
If you are new to Point & Figure Chart then you better get some information about it before using this tool. There are very good web sites and books. Please PM me if you need help about resources. 
 Options in the Script 
 Box size  is one of the most important part of Point and Figure Charting. Chart price movement sensitivity is determined by the Point and Figure scale. Large box sizes see little movement across a specific price region, small box sizes see greater price movement on P&F chart. There are four different box scaling with this tool: Traditional, Percentage, Dynamic (ATR), or User-Defined 
4 different methods for Box size can be used in this tool. 
User Defined: The box size is set by user. A larger box size will result in more filtered price movements and fewer reversals. A smaller box size will result in less filtered price movements and more reversals. 
ATR: Box size is dynamically calculated by using ATR, default period is 20. 
 Percentage:  uses box sizes that are a fixed percentage of the stock's price. If percentage is 1 and stock’s price is $100 then box size will be $1 
 Traditional:  uses a predefined table of price ranges to determine what the box size should be. 
Price Range Box Size 
Under 0.25 0.0625 
0.25 to 1.00 0.125 
1.00 to 5.00 0.25 
5.00 to 20.00 0.50 
20.00 to 100 1.0 
100 to 200 2.0 
200 to 500 4.0 
500 to 1000 5.0 
1000 to 25000 50.0 
25000 and up 500.0 
Default value is “ATR”, you may use one of these scaling method that suits your trading strategy. 
If ATR or Percentage is chosen then there is rounding algorithm according to mintick value of the security. For example if mintick value is 0.001 and box size (ATR/Percentage) is 0.00124 then box size becomes 0.001. 
And also while using dynamic box size (ATR or Percentage), box size changes only when closing price changed. 
 Reversal  : It is the number of boxes required to change from a column of Xs to a column of Os or from a column of Os to a column of Xs. Default value is 3 (most used). For example if you choose reversal = 2 then you get the chart similar to Renko chart. 
 Source:  Closing price or High-Low prices can be chosen as data source for P&F charting. 
Upper Band : as default, Upper band is 100 
Lower Band : as default, Lower band is -100 
There are alerts when P&F CCI moves above Upper Band or moves below Lower Band. 
Bollinger MTFSo this is a Bollinger resistance and support map, I just convert it to v4 and add info for current upper and lower levels
The length is 60 (instead of regular 20) and we make it to be MTF 
Ok , so how this system work 
we choose TF and I normaly use 3x or 4X of the MTF (you can choose your own)
then we need to decide if we want to long or short 
if we go long then the buy point will be the lower value and TP will be TP in green -
If we go short then our entry value will be upper and TP (take profit) will be in red 
so one can put few tweeks and make this system to be more automatic , but I just show this as a easy concept for trade system 
the main issue in such system is properly to decide when to go short or when to go long 
that why you need to add other indicators in order to make this call and make this system effective 
DrawLibrary   "Draw" 
Draw patterns, lines, labels, shapes etc.
 pat_colors(bull, buLn, beLn, ltxt) 
  Parameters:
     bull (bool) 
     buLn (color) 
     beLn (color) 
     ltxt (color) 
 size(size) 
  Parameters:
     size (string) 
 label_style(style) 
  Parameters:
     style (string) 
 line_style(style) 
  Parameters:
     style (string) 
 font_size(size) 
  Parameters:
     size (string) 
 xabcd(xX, xY, aX, aY, bX, bY, cX, cY, dX, dY, iE, bull, bu, be) 
  Draw XABCD pattern
  Parameters:
     xX (int) 
     xY (float) 
     aX (int) 
     aY (float) 
     bX (int) 
     bY (float) 
     cX (int) 
     cY (float) 
     dX (int) 
     dY (float) 
     iE (float) 
     bull (bool) 
     bu (color) 
     be (color) 
 xabcd_inProgress(bull, type, tLimit, entry, stop, t1, t2, bcNt, bcFt, xaNt, xaFt, xX, xY, aY, bX, bY, cY, dX, dY, cBu, cBe, lTxt) 
  draw PRZ, entry, stop, targets, and projected reversal paths for XABCD pattern
  Parameters:
     bull (bool) 
     type (int) 
     tLimit (int) 
     entry (float) 
     stop (float) 
     t1 (float) 
     t2 (float) 
     bcNt (float) 
     bcFt (float) 
     xaNt (float) 
     xaFt (float) 
     xX (int) 
     xY (float) 
     aY (float) 
     bX (int) 
     bY (float) 
     cY (float) 
     dX (int) 
     dY (float) 
     cBu (color) 
     cBe (color) 
     lTxt (color) 
 xabcd_incInProgress(bull, type, tLimit, entry, xX, xY, aY, bX, bY, cX, cY, dY, cBu, cBe, lTxt) 
  Parameters:
     bull (bool) 
     type (int) 
     tLimit (int) 
     entry (float) 
     xX (int) 
     xY (float) 
     aY (float) 
     bX (int) 
     bY (float) 
     cX (int) 
     cY (float) 
     dY (float) 
     cBu (color) 
     cBe (color) 
     lTxt (color) 
 xabcd_inProgress2(bull, tLimit, entry, stop, t1, t2, xadl, bcdl, xcdl, xX, xY, bX, bY, dX, dY, cBu, cBe, lTxt) 
  draw PRZ, entry, stop, targets, and projected reversal paths for XABCD pattern
  Parameters:
     bull (bool) 
     tLimit (int) 
     entry (float) 
     stop (float) 
     t1 (float) 
     t2 (float) 
     xadl (float) 
     bcdl (float) 
     xcdl (float) 
     xX (int) 
     xY (float) 
     bX (int) 
     bY (float) 
     dX (int) 
     dY (float) 
     cBu (color) 
     cBe (color) 
     lTxt (color) 
 eHitLbl(x, e, dX, dY, bull, lOnly) 
  Draw entry hit label
  Parameters:
     x (int) 
     e (float) 
     dX (int) 
     dY (float) 
     bull (bool) 
     lOnly (bool) 
 tHitLbl(x, tgt, eX, eY, bull) 
  Draw target hit label
  Parameters:
     x (int) 
     tgt (float) 
     eX (int) 
     eY (float) 
     bull (bool) 
 sHitLbl(x, s, eX, eY, bull) 
  Draw stop hit label
  Parameters:
     x (int) 
     s (float) 
     eX (int) 
     eY (float) 
     bull (bool) 
 level(y, x, type, length, extend, padding, b_style, colr, txt_color, txt, txt_loc, txt_size) 
  Draw a level (box)
  Parameters:
     y (float) 
     x (int) 
     type (int) 
     length (int) 
     extend (string) 
     padding (float) 
     b_style (string) 
     colr (color) 
     txt_color (color) 
     txt (string) 
     txt_loc (string) 
     txt_size (string) 
 incTtTxt(tp, name, xbr, xbre, acr, acre, bcN, bcF, xaN, xaF, score, e) 
  Parameters:
     tp (int) 
     name (string) 
     xbr (float) 
     xbre (float) 
     acr (float) 
     acre (float) 
     bcN (float) 
     bcF (float) 
     xaN (float) 
     xaF (float) 
     score (float) 
     e (float)
Mean Reversion Trading V1Overview
This is a simple mean reversion strategy that combines RSI, Keltner Channels, and MACD Histograms to predict reversals. Current parameters were optimized for NASDAQ 15M and performance varies depending on asset. The strategy can be optimized for specific asset and timeframe. 
 How it works 
Long Entry (All must be true): 
 1. RSI < Lower Threshold
 2. Close < Lower KC Band 
 3. MACD Histogram > 0 and rising 
 4. No open trades
Short Entry (All must be true): 
 1. RSI > Upper Threshold
 2. Close > Upper KC Band
 3. MACD Histogram < 0 and falling
 4. No open trades
Long Exit: 
 1. Stop Loss: Average position size x ( 1 - SL percent) 
 2. Take Profit: Average position size x ( 1 + TP percent) 
 3. MACD Histogram crosses below zero
Short Exit: 
 1. Stop Loss: Average position size x ( 1 + SL percent) 
 2. Take Profit: Average position size x ( 1 - TP percent) 
 3. MACD Histogram crosses above zero
Settings and parameters are explained in the tooltips. 
 Important 
Initial capital is set as 100,000 by default and 100 percent equity is used for trades 
FVG_Liquidity_SignalFVGs: classic 3-bar gaps (bullish when low > high , bearish when high < low ). Zones are drawn and auto-pruned.
Liquidity sweep: price takes out the last swing low/high (pivot) and then reclaims it on the close.
Signals:
BUY when we get a bull sweep and the bar taps a recent bull FVG and closes back above its upper edge.
SELL is the mirror image.
SL/TP guides: SL at swept swing; TP = RR × risk (visual only).






















