Cyato Grid Basic Buy & Sell [BACKTEST]

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.
HOW IT WORKS
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.
BACKTESTING
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!
The up/lower step is now calculated using high/lowest of 100 bars of higher data, plus a percent increased range.
When the grid moves, the last traded level was reset when it should not.
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
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:
{{strategy.order.alert_message}}
The highest step was misbehaving sometimes.
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.
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.
Updated info panel
Added an option to choose from "Fixed", "% of Equity", or "Contracts".
You can disable it by going in the style tab -> tables, or by clicking the indicator setting "Backtest Results Table".
- 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.
Added Break Even line
The indicator is now plotting all of the max 100 grid step lines.
Backtest
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".
Alerts
Added alerts for both stop losses.
Added the option to calculate the grid from top to bottom using a percentage of price for each grid.
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.
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!
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)
- 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.
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.
- Updated backtest panel, improved readability
In long strategy, the lowest step can only buy, the highest can only sell. This prevent open orders when the price leaves and comes back in the grid. Idem with short strategy.
نص برمجي للمستخدمين المدعوين فقط
يمكن فقط للمستخدمين المصرح لهم من قبل المؤلف الوصول إلى هذا النص البرمجي، وهذا يتطلب عادةً الدفع. يمكنك إضافة النص البرمجي إلى مفضلاتك، ولكن لن تتمكن من استخدامه إلا بعد طلب الإذن والحصول عليه من مؤلفه - تعرف على المزيد هنا. لمزيد من التفاصيل، اتبع تعليمات المؤلف أدناه أو اتصل cyatophilum مباشرة.
لا توصي TradingView بالدفع مقابل برنامج نصي أو استخدامه إلا إذا كنت تثق تمامًا في مؤلفه وتفهم كيفية عمله. يمكنك أيضًا العثور على بدائل مجانية ومفتوحة المصدر في نصوص مجتمعنا.
تعليمات المؤلف
تحذير: يرجى قراءة دليلنا الخاص بالنصوص المخصصة للمدعوين فقط قبل طلب الوصول.
Discord Server: discord.gg/RVwBkpnQzm
I am taking PineScript Commissions ✔
=> blockchainfiesta.com/contact/
إخلاء المسؤولية
نص برمجي للمستخدمين المدعوين فقط
يمكن فقط للمستخدمين المصرح لهم من قبل المؤلف الوصول إلى هذا النص البرمجي، وهذا يتطلب عادةً الدفع. يمكنك إضافة النص البرمجي إلى مفضلاتك، ولكن لن تتمكن من استخدامه إلا بعد طلب الإذن والحصول عليه من مؤلفه - تعرف على المزيد هنا. لمزيد من التفاصيل، اتبع تعليمات المؤلف أدناه أو اتصل cyatophilum مباشرة.
لا توصي TradingView بالدفع مقابل برنامج نصي أو استخدامه إلا إذا كنت تثق تمامًا في مؤلفه وتفهم كيفية عمله. يمكنك أيضًا العثور على بدائل مجانية ومفتوحة المصدر في نصوص مجتمعنا.
تعليمات المؤلف
تحذير: يرجى قراءة دليلنا الخاص بالنصوص المخصصة للمدعوين فقط قبل طلب الوصول.
Discord Server: discord.gg/RVwBkpnQzm
I am taking PineScript Commissions ✔
=> blockchainfiesta.com/contact/