Cyato Grid Basic Buy & Sell [BACKTEST]

cyatophilum Updated   
Private indicator

This Grid bot strategy creates buy orders when the price goes down one level or more, and sell order when the price goes up one level or more.
To avoid useless trades, the lastest traded level is disabled until another level is crossed.

To create the grid, one upper level and one lower level is calculated. Those 2 levels are either given by the user using "MANUAL" mode or automatically calculated by an AI. The space between these two levels are then divided equally into several steps, creating the grid. The number of steps is chosen by the user, from 3 to 20.


This is the Backtest version meaning this is the one you should use with the Strategy Tester (more below).

Select either "MANUAL" or "AI" mode.
When using "MANUAL", you have to configure an upper level and a lower level.
When using "AI", the upper and lower level are automatically calculated from last 7 days high/low plus a 3% deviation. You can configure the timeframe and the deviation.

Select the grid quantity, from 3 to 20.

Example with 3:

Example with 10:

Example with 20:

You can choose between "Once Per Bar Close" or "Once Per Bar" alert type.
"Once Per Bar Close" will wait candle close to confirm a trade.
"Once Per Bar" will trigger a trade if the price crossed a step anytime inside a candle. Note that the backtest will still use bar close price in its calculation.


The strategy will buy 1 contract when a BUY signal appears and sell 1 contract when a SELL signal appears.
Here 1 contract = 1 BTC

The strategy can buy up to 20 contracts. Pyramiding is enabled.

The Backtest info panel is here to show how many trades are open in the backtest.

I know very well that a backtest has no value if several trades are left open. That is why I coded a feature to close all open trades at once on the last candle. This feature can be turned on and off.

To get this indicator, use the link in my signature below, thanks!
Release Notes:
Core behavior fixes
Release Notes:
AI mode updated:
The up/lower step is now calculated using high/lowest of 100 bars of higher data, plus a percent increased range.
Release Notes:
AI strategy behavior improvements:
When the grid moves, the last traded level was reset when it should not.
Release Notes:
You can turn it on/off

Make the strategy close all orders if price breaks below step 0 which is one step below step 1
Release Notes:
You can now choose between a LONG or a SHORT strategy

Release Notes:
Updated info panel
Release Notes:
New input setting to change the order size.
Release Notes:
Added strategy alerts text inputs!

How to create Strategy Alerts:
Write your alert messages for EXIT, LONG and SHORT orders in the settings (Backtest section).
Then click add alert, and in the alert message, write the following:
Release Notes:
The highest step was misbehaving sometimes.
Release Notes:
Bugfixes with the AI mode.
Release Notes:
Updated Backtest Period settings: we can now select hours and minutes.
Release Notes:
Max number of grid steps increased to 30, but steps above 24th will not be printed on chart due to graphic limitations.
Release Notes:
Configuration panel udpated: smaller and better placement.

Added new alert system!
To use it:
1. Write your alert messages in the indicator settings (alert section at the bottom)
2. CLick "Create Alert" as usual, but choose "alert() function calls only"

That's all! You will receive alerts for every event.
Release Notes:
Max grid quantity increased to 100

Max grid quantity plotted on chart increased to 59
That means grid steps above 59th will not be plotted (due to graphic limitations)

AI mode improved. An option was added to use the old AI mode if needed.
Release Notes:
Fixed multiple entries bug while letting the indicator run with recalculate on every tick setting on
Release Notes:
Bugfix: deals not closing in the backtest when using "recalculate on every" tick in real time.
Release Notes:
Updated inputs, added tooltips
Updated info panel
Release Notes:
Order Size
Added an option to choose from "Fixed", "% of Equity", or "Contracts".
Release Notes:
Added new Backtest Results panel!
You can disable it by going in the style tab -> tables, or by clicking the indicator setting "Backtest Results Table".
Release Notes:
Backtest orders realtime behavior fix bug: several closing orders on the same candle
Release Notes:
Updated backtesting behavior:
- each step is now closed with its corresponding previous step, instead of "First In, First Out".
- order size is now set in the regular backtest properties tab.
Release Notes:
fix backtest period option
Release Notes:
Alerts will no longer stop triggering if they are outside of the backtest period.
Release Notes:
Fix backtest bug (multiple orders on same bar)
Release Notes:
Release Notes:
Release Notes:
Updated config panel
Release Notes:
Added Grid step size to the backtest panel
Added Break Even line
Release Notes:
Fix for real time backtesting
Release Notes:
Updated default settings for easier onboarding.
The indicator is now plotting all of the max 100 grid step lines.
Release Notes:
Added more stop loss features:
Added optional Upper and Lower Stop Loss with price configuration and action being either "Stop Bot" or "Stop Bot and buy/sell base currency using all equity".

Added alerts for both stop losses.
Release Notes:
Updated alert inputs
Release Notes:
Updated config panel
Added the option to calculate the grid from top to bottom using a percentage of price for each grid.
Release Notes:
Added an option to prevent trades (and alerts) to trigger before the start of the backtest period input.
Release Notes:
New input 'order type' with two options 'Market' or 'Limit'.
Up until now the indicator was using market orders in the backtest and for the alerts it would simply trigger 'buy' or 'sell' when a step is crossed.

With the new 'Limit' orders option, the backtest is using limit orders.
And, in order to automate the strategy, I added a 'Start Date' input. 0n the bar of the start date, an alert is triggered which contains one limit order for each grid step, which can be used to automatically place the limit buys for steps below the price and limit sells for steps above the price.
Then, on each step cross, the indicator will trigger and alert to place an order on the previous step. That way the grid is permanently covered with limit orders.
The alerts can be connected to my website using webhooks and using the alert message syntax I already wrote in the inputs. All you have to do is replace your bot id in the message, and create the alert. It still only takes one alert slot to automate the whole strategy.
Release Notes:
Added new feature: "Trailing Up" !
The grid will automatically create new steps as price climbs up.
Note: When using this feature, the "start from" input must be set to "lower" step!
Release Notes:
When using trailing up feature, the "grid quantity" is now used to create an additional number of steps above current price at start time.
Release Notes:
Bug fixes when using grid quantity > 28
Added an input parameter to limit the amount of default limit orders in the alert (with too many orders, the alert message is too long and the indicator doesn't load)
Release Notes:
New feature "Take Profit":
- Can be turned on/off
- Configure the % (percent) of total profit (net profit + open profit, or also called realized and unrealized PnL)
- Once that % is reached, the strategy will sell by closing all open orders at current price and stop.

Added take profit alert and updated alerts messages placeholders.
Updated open profit calculation in backtest panel.
Release Notes:
Added Trend Line Filters to filter entries and exits:
1 trend line with the external indicator option and 1 MTF trend line.

Small fix regarding take profit: it will now cancel open orders in the backtest.
Release Notes:
New: Trailing Stop Feature
Only works with Trailing Up mode activated (in long strategy)
1. Set your stop loss price
2. Activate trailing stop
The stop loss price will follow the lowest price of the grid as it moves up.
Release Notes:
bugfixes: start alert
Release Notes:
Fixed a bug with the grid not generating on some timeframes when trailing up activated.
Release Notes:
Updated backtest panel currency

🔥Get the Cyatophilum Indicators today and automate them on Binance! =>

I am taking PineScript Commissions ✔
Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact cyatophilum for more information, or follow the author's instructions below.

TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases you can find a good open-source alternative for free in our Community Scripts.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Author's instructions

This indicator access can be purchased through a subscription on my website:

Want to use this script on a chart?

Warning: please read before requesting access.