Multi Channel GRID & DCA LTF [trade_lexx]Multi Channel GRID & DCA LTF
Usage Guide
Part 1: The concept and general possibilities of the "Multi Channel GRID & DCA LTF" strategy
Introduction
Welcome to the guide to "Multi Channel GRID & DCA LTF", a powerful and versatile automated trading strategy for the TradingView platform. This tool was developed for traders who are looking for flexibility, control and a high degree of adaptability to various market conditions.
The strategy is based on a hybrid approach that combines two popular and time-tested techniques.:
1. GRID (grid trading): The classic method of averaging a position is by placing a grid of limit orders.
2. DCA (Dollar Cost averaging): Smart position averaging based on signals from external indicators.
However, "Multi Channel GRID & DCA LTF" goes far beyond the simple combination of these two techniques. The strategy includes a number of unique and innovative features, such as cascading MultiGRID grids for dealing with extreme volatility, Channel Mode range trading mode for profiting from sideways movement, and Low Time Frame analysis (LTF) to achieve surgical accuracy in backtesting. Deep customization options for risk management, capital, take profits, and stop losses allow you to configure a strategy for almost any trading style, asset, and timeframe.
The basic idea: How does it work?
Let's take a detailed look at each of the key concepts embedded in the logic of the strategy.
1. GRID — Automatic placement of buy and sell orders at certain price intervals.
This is a fundamental mode of operation. Its main goal is to systematically improve the average entry price for a position if the market is going against you.
* The principle of operation: After opening the base (first) order (`BO`), the strategy automatically places a series of pending limit orders (here they are called "safety orders" or "SO") at certain price intervals. For a long position, orders are placed below the entry price, and for a short position, orders are placed higher.
* Target: When the price moves against an open position, it consistently hits and executes safety orders. Each such execution adds additional volume to the position at a more favorable price, thereby shifting the overall average entry price (`position_avg_price') closer to the current market price. This means that a much smaller corrective movement will be required to gain ground.
* Flexibility: You have full control over the geometry of the grid: the number of safety orders, the percentage distance between them (`SO Step`), and you can even set a coefficient that will increase this step for each subsequent order (`SO Multiplier`), creating an expanding grid.
2. DCA (Signal Averaging) — Smart Averaging
This mode adds an additional layer of analysis to the averaging process. Instead of just buying/selling at the set price levels, the strategy waits for a confirmation signal.
* Working principle: You can connect any external indicator (for example, RSI, CCI, or even your own complex signal system) to the strategy, which outputs numerical values. As standard, 1 is used for a long signal, and -1 is used for a short signal. The strategy will place the next averaging order only at the moment when it receives the appropriate signal.
* Goal: To average a position not just during a fall (or a rise for a short), but at the moments that your main trading system considers the most favorable for this. This allows you to avoid "catching falling knives" and enter only if there are good reasons.
3. Hybrid Mode (GRID+DCA) is the best of the previous two modes
This mode is designed for maximum filtering and control. It requires two conditions to be fulfilled simultaneously.
* Working principle: The safety order will be executed only if the price has reached the calculated grid level and a confirmation signal has been received from your external indicator. If a confirmation signal is received from an external indicator, the next calculated grid level activates the limit order.
* Goal: To create the most reliable averaging system that protects against premature entries and requires double confirmation (both by price and indicator) before increasing the position size.
4. MultiGRID — Adaptation to extreme volatility
This is one of the most powerful and unique features of a strategy designed to survive and make a profit in the face of strong, protracted trends or "black swans".
* The problem it solves: The usual grid of orders has a limited depth. If the price goes beyond the last safety order, the strategy loses the opportunity to average and becomes vulnerable.
* The principle of operation: The MultiGRID function allows you to create "cascades" — several grids following one another. When all the orders of the first grid are executed, the strategy does not stop. Instead, she can activate the second, third (and so on) a grid of orders. The new grid can be activated by one of two triggers:
1. Offset: The new grid is activated when the price passes another set percentage deviation from the last executed order.
2. Signal: The new grid is activated when a signal is received from an external indicator.
* Goal: To significantly expand the working range of the strategy. This allows it to adapt to strong market movements that would "break" the usual grid, and continue to effectively average a position at a much greater depth of decline or growth.
5. Channel Mode — Trading in the range
This feature turns a standard averaging strategy into a machine for "farming" profits within a price channel that is formed during a sideways market movement.
* The problem it solves: In the standard grid strategy, after partially closing a take profit position, the volume of this part "leaves" the trade until the deal is fully closed. You are missing the opportunity to reuse this capital.
* Operating principle: When Channel Mode is enabled, the following happens. Suppose the price went against you, executed several safety orders, and then turned around and reached one of the partial take profits. At this point, the strategy is:
1. Fixes the profit, as it should be.
2. Instantly places a new limit order to buy (or sell for a short) at exactly the same price level where the last triggered safety order was executed. The volume of this order is equal to the volume of the part that was just closed for take profit.
3. If the price goes down again and executes this "repeat" order, the strategy immediately sets a corresponding take profit for it at the level where the previous profit was taken.
* Goal: To create a continuous buy-sell cycle within the local range (channel). The lower limit of the channel is the price of the last averaging, and the upper limit is the price of a partial take profit. This allows you to repeatedly profit from sideways price fluctuations, without waiting for the full closure of the main, large transaction.
6. LTF (Lower Timeframe Analysis) — Surgical precision of backtesting
This feature is critically important for obtaining reliable results during historical testing (backtesting) of grid strategies.
* The problem it solves: The standard testing mechanism in TradingView has a serious limitation. Working, for example, on a 4-hour chart, he sees only 4 candle points: Open, High, Low and Close. He does not know in what order the price moved within these 4 hours. He could have touched High first and then Low, or vice versa. For grid strategies, this is fatal — the engine can show that a take profit has been executed, although in reality the price first went down, collected the entire grid of orders and only then turned around.
* How it works: When you turn on the LTF mode, the strategy for each candle on your main chart (for example, 4H) requests and analyzes all candles from the lower timeframe you specified (for example, 1-minute). Then it virtually trades the entire price path for these minute candles, executing orders, take profits and stop losses in the sequence in which they would occur in reality. It works in the single take profit mode of the Grid strategy.
* Goal: To provide the most realistic and reliable backtest that reflects the real dynamics of the market. This allows you to avoid false expectations and accurately assess the potential performance of the strategy.
// ------------------------
Part 2: Detailed description of the strategy settings
This section is your main guide to all the switches and options available in the strategy. Understanding each setting is the key to unlocking the full potential of this powerful tool.
1. 🛡️ Risk Management 🛡️
This group contains fundamental parameters that determine the basic logic of risk management and the geometry of grid orders.
* Strategy type: Determines the direction of transactions.
* Long: The strategy will only open long positions (buy).
* Short: The strategy will only open short positions (sell).
* Both: The strategy will work both ways, opening long or short depending on the incoming signal.
* SO Count: Sets the maximum number of Safety (averaging) Orders (SO) that the strategy will place within the same grid. If you have MultiGRID enabled, this number applies to each individual grid.
* SO Step (%): This is the base percentage deviation from the entry price at which the first safety order will be placed. For example, at a value of 0.5, the first SO in a long trade will be placed 0.5% lower than the opening price of the base order.
* SO Multiplier: A coefficient that exponentially increases the step for each subsequent safety order. This allows you to create an expanding grid where averaging orders are placed further and further apart, which is effective with strong and accelerating price movements.
* *The step formula for the nth order*: Step(N) = (SO Step) * (SO Multiplier ^(N-1)).
* If the value is 1, all steps will be the same.
* With a value of 1.6, the step of the second SO will be 1.6 times larger than the first, the step of the third will be 1.6 times larger than the second, and so on.
* 1️⃣ TP/SL: These are simplified settings for quick configuration. They allow you to turn on/off the main take profit and stop loss and set basic percentage values for them. More detailed settings for these parameters can be found in the relevant sections below.
// ------------------------
2. 💰 Money Management 💰
Everything related to position size, leverage, and capital is configured here.
* Volume BO (Base Order): Determines the size of the trade's opening order.
* Volume BO: A fixed amount in the quote currency (for example, in USDT).
* USDT (check mark): Manages the information in the comments to the orders. If enabled, the volume of orders in USDT will be displayed in the comments. This is convenient for visual analysis and for sending the amount of USDT by the placeholder {{strategy.order.comment}} via webhooks when connecting the strategy to the exchange or trading terminals.
* or % of deposit: The amount calculated as a percentage of the available capital of the strategy. The check mark to the right of this field enables this mode. Important: using a percentage activates the effect of compounding (compound interest), as the amount of each new transaction will be automatically recalculated based on the current capital (initial capital + profit/loss). If enabled, the percentage of orders will be displayed in the comments. This is convenient for visual analysis and for sending percentages on the placeholder {{strategy.order.comment}} via webhooks when connecting the strategy to the stock exchange, trading terminals, or creating Copy trading.
* Martingale: The coefficient applied to the volume of orders. It increases the size of each subsequent insurance order compared to the base one.
* Volume formula for the nth SO: Volume SO (N) = (Volume BO) * (Martingale^N).
* With a value of 1.2, the volume of the first SO will be 1.2 times greater than the base, the second — 1.44 times (`1.2 * 1.2`) and so on.
* Leverage: Specify the size of your leverage. This parameter is used exclusively for calculating and displaying the approximate liquidation price. It does not affect the size of positions, but it helps to visually assess the risks.
* Liquidation: Enables or disables the calculation and display of the liquidation line on the chart.
* Margin type: Allows you to select a method for calculating the liquidation price, simulating the logic of exchanges:
* Isolated: The liquidation price is calculated based on the size and leverage of the current open position only.
* Cross: The calculation simulates using the entire available balance to maintain a position. In the strategy, the liquidation price is calculated as the level at which the loss on the current transaction is equal to the current capital.
* Commission (%): Specify the percentage of your exchange's commission per transaction. The correct value of this parameter is crucial for obtaining realistic backtest results.
// ------------------------
3. 🕸️ Grid Management 🕸️
This group is responsible for the logic of safety orders and advanced mechanics such as Channel Mode and MultiGRID.
* SO Type: Defines the logic of placing averaging orders.
* GRID: Classic grid. All safety orders are placed in advance as limit orders.
* DCA: Signal averaging. The strategy is waiting for a signal from an external indicator to place a market averaging order.
* GRID+DCA: Hybrid. The strategy waits for a signal, and if it arrives, places a limit order at the appropriate price level of the grid or executes a market order if the signal has arrived below the limit order level.
* Signal for SO: A data source (indicator) that will be used for signals in DCA and GRID+DCA modes.
* ↔️ Channel Mode: When this option is enabled, the strategy tries to trade in a sideways range. After partially closing a take profit position, it immediately places a limit order for re-entry at the price of the last triggered safety order. This creates a buy-sell cycle within the local channel.
* Best Price Only: This filter adds an additional condition for averaging in DCA and MultiGRID modes (when it operates on a signal). The next averaging order or a new grid will be activated only if the current price is more favorable (lower for long, higher for short) than the price of the previous entry.
* 🧩 MultiGRID ⮕ Enables cascading grid mode.
* Grid Count: The total number of grids that can be activated sequentially.
* Offset: Percentage deviation from the price of the last order of the previous grid. When this margin is reached, the following grid of orders is activated (this mode does not require a signal).
* Or signal: Allows you to use the signal from an external indicator as a trigger to activate the next grid. The checkmark on the right turns on this mode.
// ------------------------
4. 🎯 Entry and Stop 🎯
This group of settings allows you to fine-tune the conditions for starting a new trade and all aspects related to protective stop orders, including the complex mechanics of trailing and managing SL after partial take profits.
* 🎯 Signal: A data source (indicator) that will be used to determine when to enter a trade. The strategy expects a value of 1 for the start of a long trade and -1 for a short trade.
* Min Bars: Sets the minimum number of candles that must pass from the moment of opening the previous trade to the moment of opening the next one. A value of 0 disables this filter. This is a useful tool to prevent overly frequent entries in a "noisy" market.
* Non-stop: If this option is enabled, the strategy ignores the Entry Signal and opens a new trade immediately after closing the previous one (taking into account the Min Bars filter, if it is set). This turns the strategy into a constantly working mechanism that is always on the market.
* 🛑 SL Type: Defines the base price from which the stop loss percentage will be calculated. The stop loss in the first section must be enabled for this block of settings to work.
* From the entry point: SL is always calculated from the opening price of the very first base order. It remains static throughout the entire transaction unless it is moved by other functions.
* From breakeven line: SL is dynamically recalculated and shifted each time a safety order is executed. It always follows the average price of the position, being at a given percentage distance from it.
* From last executed SO: SL is recalculated from the price of the last executed order, whether it is a base or a safety order.
* From last SO: SL is calculated from the price of the most recent possible safety order in the grid. This is usually the most remote and conservative type of SL.
* Trailing SL Type: Defines the algorithm by which the stop loss will move after its activation.
* Standard: Classic trailing. After activation, SL will follow the price at a fixed distance.
* ATR: SL will follow the price at a distance equal to the value of the ATR indicator multiplied by the specified multiplier.
* External Source: SL will follow any selected line of the third-party indicator.
* Period and Multiplier: Common parameters for all types of trailing.
* Source: The source of the line for the trailing SL of the third-party indicator.
* Trailing SL after entry: The mode of activation of the trailing SL after entering the transaction
* SL management after TP (sections 1️⃣, 2️⃣, 3️⃣): These three blocks allow you to create a complex stop loss management logic as profits are recorded.
For each take profit level (TP1, TP2, TP3), you can configure:
* SL BE / SL TP1 / SL TP2: When the corresponding TP is reached, the stop loss will be moved to the breakeven point (for TP1), to the TP1 price level (for TP2) or to the TP2 price level (for TP3).
* Trailing SL: When the corresponding TP is reached, the trailing stop loss is activated according to the settings above.
* By ↔️ Signal: A very powerful option. If it is enabled, the above action (SL transfer or trailing activation) will occur when the opposite trading signal is received from an external indicator. This allows you to protect profits or reduce losses if the market turns sharply, even before reaching the target.
* SL Delay ⮕ Allows you to delay the activation of the stop loss.
* Number of Bars: The Stop loss will be physically placed on the market only after the specified number of candles has passed since entering the trade. This can help to avoid "taking out" the stop with a random short movement (squiz) immediately after opening a position.
* SL Block: Unique defensive mechanics for trading both ways (`Strategy Type: Both`).
* Number of SL: If the strategy receives the specified number of stop losses in a row in one direction (for example, 2 stops long), it temporarily blocks the opportunity to open new trades in that direction.
* Lock Reset mode:
* By direction: The lock is lifted if a profitable trade is closed in the allowed direction or if a stop loss is triggered in the opposite direction.
* First profit: The lock is lifted after closing any profitable transaction, regardless of its direction.
// ------------------------
5. ✅ Take Profit ✅
This group of settings provides comprehensive control over profit taking, from a simple take profit to a complex system of partial closures and trailing.
* ✅ TP Type: Defines the base price for calculating the percentage deviation of the take profit.
* From entry point: TP is calculated from the base order price.
* From breakeven line: TP dynamically follows the average position price.
* From last executed SO: TP is calculated from the price of the last executed order.
* Filters for closing on signal
* Only ➕: If TP is triggered by a signal, the deal will be closed only if it is in the black relative to the average price.
* Or >TP: If TP is triggered by a signal, the trade will be closed only if the closing price is better than (or equal to) the estimated price of this TP.
* TP type of trailing: Yes, take profit has a trailing too! It works differently than the SL trailing.
* Standard / ATR: After the price touches the "virtual" TP level, the trailing is activated. He does not place a stop order, but begins to move away from the price, dynamically moving the limit order to close further and further in the profitable direction, allowing him to collect the maximum from the impulse movement.
* External Source: TP will follow any selected line of the third-party indicator.
* Period and Multiplier: Parameters for calculating the trailing margin TP.
* Source: The source of the line for the trailing TP of the third-party indicator.
* TP level settings (sections 1️⃣, 2️⃣, 3️⃣, 4️⃣): The strategy supports up to four independent take profit levels, which allows for a flexible system of partial commits.
For each level, you can set:
* TP: Enable the level and set its percentage deviation from the base price.
* Size: What percentage of the current position will be closed when this level is reached. For the last active TP, this parameter is ignored, and 100% of the remaining position is closed.
* Trailing TP: Enable the above-described trailing mechanism for this particular level.
* Signal: Enable closing based on the signal from the external indicator for this level.
* Or take: If both the closing on the signal and the limit order are enabled, then whatever comes first will work.
* After SO: Activate this TP level only after the specified number of safety orders has been executed. This allows you to set closer targets for riskier (deeply averaged) positions.
// ------------------------
6. 🔬 GRID and MultiGrid Analysis on Lower TFs (LTF) 🔬
This group activates one of the most important functions for accurate testing of grid strategies.
* Enable LTF Calculation ⮕ The main switch of the analysis mode on the lower timeframes.
* Timeframe selection: A drop-down list where you can select a timeframe for detailed analysis. For example, if your main schedule is 1 hour, you can select 1 minute here. The strategy will emulate the trading of minute candles within each hour candle.
❗️Important: As mentioned in the first part, the use of this mode is critically necessary to obtain realistic backtest results, especially for strategies with a dense grid of orders. Without it, the results may be overly optimistic and not reflect the real dynamics of the market. It should be remembered that TradingView imposes a limit on the number of intra-bars (minor TF bars) that can be requested. This is usually about 100,000 bars.
// ------------------------
7. 🕘 Backtest Date Range 🕘
This group allows you to focus testing on a specific historical period.
* Limit Date Range: Enables date filtering.
* Start time: The date and time when the strategy will start analyzing and opening deals.
* End time: The date and time after which the strategy will stop opening new deals and complete testing.
// ------------------------
8. 🎨 Visualization 🎨
All the options responsible for the appearance and information content of the chart are collected here.
* Show PnL labels: Enables/disables the display of text labels with the result (profit/loss) after closing each trade.
* Statistics Table: Enables/disables the main dashboard with detailed statistics on the results of the backtest.
* Strategy Settings Table: Enables/disables an additional panel that summarizes all the key parameters of the current configuration.
* Monthly Profit Table: Enables/disables a table with a breakdown of percentage returns by month and year.
* Table settings: For each of the three tables, you can individually adjust the Text size and Table Position on the screen to position them as conveniently as possible.
* Decimal places: Defines how many decimal places will be displayed in numeric values in tables and on labels.
// ------------------------
9. ✉️ Webhook Settings ✉️
This group is intended for traders who want to automate trading on strategy signals using third-party services and exchanges (for example, 3Commas, WunderTrading, Cryptorobotics, Cryptohopper, Bitsgap, Binance, ByBit, OKX, Pionex, Bitget or proprietary solutions).
For each key event in the strategy, there is a separate switch and a text field:
* Webhook for Open: Enable and set a message for the webhook that will be sent when the base order is opened.
* Webhook for Averaging: A message sent when executing any insurance order.
* Webhook for Take Profit: A message sent when closing on take profit (including partial ones).
* Webhook for Stop-Loss: A message sent when a stop loss is closed.
You can insert a JSON code or any other message format that your service requires for automation into the text fields. The strategy supports special placeholders (for example, `{{strategy.order.alert_message}}`), which allow you to dynamically insert the necessary data into the message, such as the amount of USDT or the percentage of the deposit for entry, averaging and take profit orders.
Gridtrading
Marcius Studio® - Fishing Net™Fishing Net™ — a dynamic grid trading strategy with predefined entry levels and built-in risk management.
The strategy gradually builds positions as the price pulls back, and closes all trades when the Take Profit level is reached.
The main concept is to accumulate positions at multiple levels, like a net, and capture potential upward movement without promising guaranteed profits.
Important! This strategy is designed for HIGH-LIQUIDITY assets (ETH / BTC / SOL etc.) and is not suitable for LOW-LIQUIDITY assets.
Strategy Parameters
Level Step (%) : distance between grid levels.
Shift (%) : offset of the first entry level relative to price.
Take Profit (%) : target for closing all open positions.
Number of Orders (1–10) : total number of grid levels.
Risk per Trade (%) : capital risk per trade (1–100%), defines maximum position size.
Example Settings
Applicable for OKX:BTCUSDT.P / OKX:ETHUSDT.P / OKX:SOLUSDT.P etc.
Timeframe : 1H
Level Step : 1.0
Shift : 1.0
Take Profit : 5
Number of Orders : 10
Risk per Trade : 10%
How the Code Works
The script calculates a grid of entry levels below the current price.
When the price touches a level, an order is placed with size based on equity × risk % .
The strategy scales into the position gradually (up to the number of levels).
When the Take Profit target is reached, all positions are closed simultaneously.
All levels and the TP line are plotted on the chart for visual clarity.
Past performance is not indicative of future results.
Disclaimer
Trading involves risk — always do your own research (DYOR) and seek professional financial advice. We are not responsible for any potential financial losses.
Marcius Studio® - DCA Grid Bot Backtesting™DCA Grid Bot Backtesting™ — is a flexible backtesting strategy for DCA grid trading. It allows you to define a price range and split it into multiple grid levels. The bot opens positions when price touches new levels and closes them at the Take Profit target, simulating real grid trading conditions.
The main purpose of this tool is to test and optimize grid-based strategies with customizable parameters, capital allocation, and automatic visualization directly on the TradingView chart.
Important! This strategy is intended for backtesting and educational purposes . Historical results do not guarantee future performance.
How to Use
Automatic: When adding the script to a chart, you can select Lower/Upper Limit and Start/End Time directly on the chart. Limits can be adjusted by dragging.
Manual: Set the Lower/Upper Limit and Start/End Time directly in the script settings.
Recommendations
The script works best on LOW-LIQUIDITY assets when used to simulate concentrated liquidity within a VRVP-defined range.
The script is designed for a LONG trend , so it performs best when opening LONG positions .
The script is NOT WELL-SUITED for situations with a significant market downturn, just like any other grid bots.
Strategy Settings
Lower/Upper Limit: Defines the trading range for the grid.
Start/End Time: Defines the backtesting period.
Grid Levels: Number of price steps within the range.
Take Profit (%): Auto = Grid Step Percent.
Example Settings
Applicable for example OKX:PUMPUSDT.P etc.
Timeframe: 1H
Lower Limit: 0.0023759
Upper Limit: 0.0042996
Start Time: 2025-07-25
End Time: 2025-08-16
Grid Levels: 10
Take Profit (%): Auto = Grid Step Percent.
Disclaimer
Trading and investing involve risk — always do your own research (DYOR) and seek professional advice. We are not responsible for any financial losses.
Buy The Dip - ENGThis script implements a grid trading strategy for long positions in the USDT market. The core idea is to place a series of buy limit orders at progressively lower prices below an initial entry point, aiming to lower the average entry price as the price drops. It then aims to exit the entire position when the price rises a certain percentage above the average entry price.
Here's a detailed breakdown:
1. Strategy Setup (`strategy` function):
`'거미줄 자동매매 250227'`: The name of the strategy.
`overlay = true`: Draws plots and labels directly on the main price chart.
`pyramiding = 15`: Allows up to 15 entries in the same direction (long). This is essential for grid trading, as it needs to open multiple buy orders.
`initial_capital = 600`: Sets the starting capital for backtesting to 600 USDT.
`currency = currency.USDT`: Specifies the account currency as USDT.
`margin_long/short = 0`: Doesn't define specific margin requirements (might imply spot trading logic or rely on exchange defaults if used live).
`calc_on_order_fills = false`: Strategy calculations happen on each bar's close, not just when orders fill.
2. Inputs (`input`):
Core Settings:
`lev`: Leverage (default 10x). Used to calculate position sizes.
`Investment Percentage %`: Percentage of total capital to allocate to the initial grid (default 80%).
`final entry Percentage %`: Percentage of the *remaining* capital (100 - `Investment Percentage %`) to use for the "semifinal" entry (default 50%). The rest goes to the "final" entry.
`Price Adjustment Length`: Lookback period (default 4 bars) to determine the initial `maxPrice`.
`price range`: The total percentage range downwards from `maxPrice` where the grid orders will be placed (default -10%, meaning 10% down).
`tp`: Take profit percentage above the average entry price (default 0.45%).
`semifinal entry price percent`: Percentage drop from `maxPrice` to trigger the "semifinal" larger entry (default -12%).
`final entry price percent`: Percentage drop from `maxPrice` to trigger the "final" larger entry (default -15%).
Rounding & Display:
`roundprice`, `round`: Decimal places for rounding price and quantity calculations.
`texts`, `label_style`: User interface preferences for text size and label appearance on the chart.
Time Filter:
`startTime`, `endTime`: Defines the date range for the backtest.
3. Calculations & Grid Setup:
`maxPrice`: The highest price point for the grid setup. Calculated as the lowest low of the previous `len` bars only if no trades are open. If trades are open, it uses the entry price of the very first order placed in the current sequence (`strategy.opentrades.entry_price(0)`).
`minPrice`: The lowest price point for the grid, calculated based on `maxPrice` and `range1`.
`totalCapital`: The amount of capital (considering leverage and `per1`) allocated for the main grid orders.
`coinRatios`: An array ` `. This defines the *relative* size ratio for each of the 11 grid orders. Later orders (at lower prices) will be progressively larger.
`totalRatio`: The sum of all ratios (66).
`positionSizes`: An array calculated based on `totalCapital` and `coinRatios`. It determines the actual quantity (size) for each of the 11 grid orders.
4. Order Placement Logic (`strategy.entry`):
Initial Grid Orders:
Runs only if within the specified time range and no position is currently open (`strategy.opentrades == 0`).
A loop places 11 limit buy orders (`Buy 1` to `Buy 11`).
Prices are calculated linearly between `maxPrice` and `minPrice`.
Order sizes are taken from the `positionSizes` array.
Semifinal & Final Entries:
Two additional, larger limit buy orders are placed simultaneously with the grid orders:
`semifinal entry`: At `maxPrice * (1 - semifinal / 100)`. Size is based on `per2`% of the capital *not* used by the main grid (`1 - per1`).
`final entry`: At `maxPrice * (1 - final / 100)`. Size is based on the remaining capital (`1 - per2`% of the unused portion).
5. Visualization (`line.new`, `label.new`, `plot`, `plotshape`, `plotchar`):
Grid Lines & Labels:
When a position is open (`strategy.opentrades > 0`), horizontal lines and labels are drawn for each of the 11 grid order prices and the "final" entry price.
Lines extend from the bar where the *first* entry occurred.
Labels show the price and planned size for each level.
Dynamic Coloring: If the price drops below a grid level, the corresponding line turns green, and the label color changes, visually indicating that the level has been reached or filled.
Plotted Lines:
`maxPrice` (initial high point for the grid).
`strategy.position_avg_price` (current average entry price of the open position, shown in red).
Target Profit Price (`strategy.position_avg_price * (1 + tp / 100)`, shown in green).
Markers:
A flag marks the `startTime`.
A rocket icon (`🚀`) appears below the bar where the `final entry` triggers.
A stop icon (`🛑`) appears below the bar where the `semifinal entry` triggers.
6. Exit Logic (`strategy.exit`, `strategy.entry` with `qty=0`):
Main Take Profit (`Full Exit`):
Uses `strategy.entry('Full Exit', strategy.short, qty = 0, limit = target2)`. This places a limit order to close the entire position (`qty=0`) at the calculated take profit level (`target2 = avgPrice * (1 + tp / 100)`). Note: Using `strategy.entry` with `strategy.short` and `qty=0` is a way to close a long position, though `strategy.exit` is often clearer. This exit seems intended to apply whenever any part of the grid position is open.
First Order Trailing Stop (`1st order Full Exit`):
Conditional: Only active if `trail` input is true AND the *last* order filled was "Buy 1" (meaning only the very first grid level was entered).
Uses `strategy.exit` with `trail_points` and `trail_offset` based on ATR values to implement a trailing stop loss/profit mechanism for this specific scenario.
This trailing stop order is cancelled (`strategy.cancel`) if any subsequent grid orders ("Buy 2", etc.) are filled.
Final/Semifinal Take Profit (`final Full Exit`):
Conditional: Only active if more than 11 entries have occurred (meaning either the "semifinal" or "final" entry must have triggered).
Uses `strategy.exit` to place a limit order to close the entire position at the take profit level (`target3 = avgPrice * (1 + tp / 100)`).
7. Information Display (Tables & UI Label):
`statsTable` (Top Right):
A comprehensive table displaying grouped information:
Market Info (Entry Point, Current Price)
Position Info (Avg Price, Target Price, Unrealized PNL $, Unrealized PNL %, Position Size, Position Value)
Strategy Performance (Realized PNL $, Realized PNL %, Initial/Total Balance, MDD, APY, Daily Profit %)
Trade Statistics (Trade Count, Wins/Losses, Win Rate, Cumulative Profit)
`buyAvgTable` (Bottom Left):
* Shows the *theoretical* entry price and average position price if trades were filled sequentially up to each `buy` level (buy1 to buy10). It uses hardcoded percentage drops (`buyper`, `avgper`) based on the initial `maxPrice` and `coinRatios`, not the dynamically changing actual average price.
`uiLabel` (Floating Label on Last Bar):
Updates only on the most recent bar (`barstate.islast`).
Provides real-time context when a position is open: Size, Avg Price, Current Price, Open PNL ($ and %), estimated % drop needed for the *next* theoretical buy (based on `ui_gridStep` input), % rise needed to hit TP, and estimated USDT profit at TP.
Shows "No Position" and basic balance/trade info otherwise.
In Summary:
This is a sophisticated long-only grid trading strategy. It aims to:
1. Define an entry range based on recent lows (`maxPrice`).
2. Place 11 scaled-in limit buy orders within a percentage range below `maxPrice`.
3. Place two additional, larger buy orders at deeper percentage drops (`semifinal`, `final`).
4. Calculate the average entry price as orders fill.
5. Exit the entire position for a small take profit (`tp`) above the average entry price.
6. Offer a conditional ATR trailing stop if only the first order fills.
7. Provide extensive visual feedback through lines, labels, icons, and detailed information tables/UI elements.
Keep in mind that grid strategies can perform well in ranging or slowly trending markets but can incur significant drawdowns if the price trends strongly against the position without sufficient retracements to hit the take profit. The leverage (`lev`) input significantly amplifies both potential profits and losses.
Grid TLong V1The “Grid TLong V1” strategy is based on the classic Grid strategy, but in the mode of buying and selling in favor of the trend and only on Long. This allows to take advantage of large uptrend movements to maximize profits in bull markets. For this reason, excessively sideways or bearish markets may not be very conducive to this strategy.
Like our Grid strategies in favor of the trend, you can enter and exit with the balance with controlled risk, as the distance between each grid functions as a natural and adaptable stop loss and take profit. What differentiates it from bidirectional strategies is that Short uses a minimum amount of follow-through, so that the percentage distance between the grids is maintained.
In this version of the script the entries and exits can be chosen at market or limit , and are based on the profit or loss of the current position, not on the percentage change in price.
The user may also notice that the strategy setup is risk-controlled, because it risks 5% on each trade, has a fairly standard commission and modest initial capital, all in order to protect the strategy user from unrealistic results.
As with all strategies, it is strongly recommended to optimize the parameters for the strategy to be effective for each asset and for each time frame.
Grid Tendence V1The “Grid Tendence V1” strategy is based on the classic Grid strategy, only in this case the entries and exits are made in favor of the trend, which allows to take advantage of large movements to maximize profits, since it is also possible to enter and exit with the balance with a controlled risk, because precisely the distance between each Grid works as a natural and adaptable stop loss and take profit. This fact helps to avoid overlapping entries and exits that would result from using stop loss and take profit as limit orders.
In this version of the script the entries and exits are always at market, and based on the percentage change of the price, not on the profit or loss of the current position.
The user will notice that the strategy setup is based on a controlled risk, risking 5% on each trade, a fairly standard commission and a modest initial capital, all this in order to protect the user of the strategy from unexpected or unrealistic results.
However, it is always recommended to optimize the parameters so that the strategy is effective for each asset and for each time frame.
Adaptive Fractal Grid Scalping StrategyThis Pine Script v6 component implements an "Adaptive Fractal Grid Scalping Strategy" with an added volatility threshold feature.
Here's how it works:
Fractal Break Detection: Uses ta.pivothigh and ta.pivotlow to identify local highs and lows.
Volatility Clustering: Measures volatility using the Average True Range (ATR).
Adaptive Grid Levels: Dynamically adjusts grid levels based on ATR and user-defined multipliers.
Directional Bias Filter: Uses a Simple Moving Average (SMA) to determine trend direction.
Volatility Threshold: Introduces a new input to specify a minimum ATR value required to activate the strategy.
Trade Execution Logic: Places limit orders at grid levels based on trend direction and fractal levels, but only when ATR exceeds the volatility threshold.
Profit-Taking and Stop-Loss: Implements profit-taking at grid levels and a trailing stop-loss based on ATR.
How to Use
Inputs: Customize the ATR length, SMA length, grid multipliers, trailing stop multiplier, and volatility threshold through the input settings.
Visuals: The script plots fractal points and grid levels on the chart for easy visualization.
Trade Signals: The strategy automatically places buy/sell orders based on the detected fractals, trend direction, and volatility threshold.
Profit and Risk Management: The script includes logic for taking profits and setting stop-loss levels to manage trades effectively.
This strategy is designed to capitalize on micro-movements during high volatility and avoid overtrading during low-volatility trends. Adjust the input parameters to suit your trading style and market conditions.
linreg-gridbotLinreg-GridBot
>release note version 1<
Introduction
This script is a powerful trading strategy tool designed to help users identify market reversal points and make smarter trading decisions using grid thinking.
Background
Traditional grid/martingale strategies have several drawbacks: inefficient use of capital, premature grid boundaries, and trading at fixed intervals, all of which significantly reduce profitability. Since, there is not a gridbot can trail-stop at each level, stay close with the trend, and do better capital usage, tradalive has created this advanced gridbot to address these issues, and enhance the profitability.
How does it work?
Imagine plotting closes on a graph, where the x-axis represents the time-intervals and the y-axis represents the price. Linear regression would fit a straight line through these points that best represents the trend of the data.
In this script utilize the built-in to find consecutive slopes at each moment, and combine them to a smooth trend line. When turning point censored, an entry is placed right after the next bar. Then the gridbot starts working, the upper limit and lower limit is calculated by built-in , for example 3 ATRs above and under the entry price.
There is a 0.2 trailing stop for each step level. Also, when built-in VWMA is rising, this script uses built-in ROC to find the average change of lookback length, then move the grid upwards accordingly.
Size trading is crucial, in gridbot all-in when beginning the trade is risky, because turning point does not guarantee a reversal market upcoming. As a grid trader, we believe the price is relatively cheap near the lower limit, and the price is relatively expensive near the upper limit. Properly sized orders help prevent overexposure and reduce the potential for significant losses.
Features
Trend Detection: Utilizes linear regression to differentiate between upward and downward trends, displaying them as (orange) trend lines on the chart.
Signal Generation: Provides buy or sell signals at reversal points, helping users trade at optimal times.
Adjustable Parameters: Allows users to customize different indicator parameters to fit various trading strategies.
Backtested Device Parameters (see appendix)
Grid Parameters
🔃: Cyclic Trading
💰: Capital Turnover Ratio (Grid capital difference per level: 0.5 to 2)
⬆️ / ⬇️ Expected Number of Upward and Downward Grids.
The minimum number of grids is three: one level above and below the current price.
The maximum number of grids is seven: three levels above and below the current price.
🧭: Trade Signal: Controls the trading direction, long or short;
📏: Linear regression length value.
⏳⌛Backtest Period: Set the time range for users to analyze the performance of the strategy over different periods.
Analytic Toolbox (upper right corner) :
Usage Instructions
Add this script to your TradingView account.
Apply the script to your chart.
Adjust the parameters to fit your trading needs.
Make trading decisions based on the buy and sell signals.
Manually place orders on your trading platform using the parameters provided.
Enter grid parameters according to the highest and lowest prices.
Fill in the number of grid levels (the number of grids equals the number of upward grids plus the number of downward grids plus one).
Set stop-loss and take-profit values.
Alternatively, use a webhook to connect to your trading platform for automated trading.
Important Notes
This script currently only supports 4-hour and daily charts!
This script relies on historical data for calculations and may not be suitable for all market conditions.
Trading carries risks, so please use this script cautiously for trading decisions.
User has to update the backtest period, or else the strategy might not be seen.
Demostration
Phase one, the orange line is about to turn up.
Phase two, the reversal point is located, and right after the next bar start an entry of gridbot.
Phase Three, the gridbot operates, once level touches, then a 0.2ATR trailing stop is applied on each step.
Phase four, when vwma rises, the grid window follows it by the rate of change of lookback price. If vwma does not move up, then the grid boundaries remain.
Phase five, either side when the current price breaks through the white limits, the gridbot stops. And the trading strategy is done for this round.
FreedX Grid Backtest█ FreedX Grid Backtest is an open-source tool that offers accurate GRID calculations for GRID trading strategies. This advanced tool allows users to backtest GRID trading parameters with precision, accurately reflecting exchange functionalities. We are committed to enhancing trading strategies through precise backtesting solutions and address the issue of unreliable backtesting practices observed on GRID trading strategies. FreedX Grid Backtest is designed for optimal calculation speed and plotting efficiency, ensuring users to achieve fastest calculations during their analysis.
█ GRID TRADING STRATEGY SETTINGS
The core of the FreedX Grid Backtest tool lies in its ability to simulate grid trading strategies. Grid trading involves placing orders at regular intervals within a predefined price range, creating a grid of orders that capitalize on market volatility.
Features:
⚙️ Backtest Range:
→ Purpose: Allows users to specify the backtesting range of GRID strategy. Closes all positions at the end of this range.
→ How to Use: Drag the dates to fit the desired backtesting range.
⚙️ Investment & Compounding:
→ Purpose: Allows users to specify the total investment amount and select between fixed and compound investment strategies. Compounding adjusts trade quantities based on performance, enhancing the grid strategy's adaptability to market changes.
→ How to Use: Set the desired investment amount and choose between "Fixed" or "Compound" for the investment method.
⚙️ Leverage & Grid Levels:
→ Purpose: Leverage amplifies the investment amount, increasing potential returns (and risks). Users can define the number of grid levels, which determines how the investment is distributed across the grid.
→ How to Use: Input the desired leverage and number of grids. The tool automatically calculates the distribution of funds across each grid level.
⚙️ Distribution Type & Mode:
→ Purpose: Users can select the distribution type (Arithmetic or Geometric) to set how grid levels are determined. The mode (Neutral, Long, Short) dictates the direction of trades within the grid.
→ How to Use: Choose the distribution type and mode based on the desired trading strategy and market outlook.
⚙️ Enable LONG/SHORT Grids exclusively:
█ MANUAL LEVELS AND STOP TRIGGERS
Beyond automated settings, the tool offers manual adjustments for traders seeking finer control over their grid strategies.
Features:
⚙️ Manual Level Adjustment:
→ Purpose: Enables traders to manually set the top, reference, and bottom levels of the grid, offering precision control over the trading range.
→ How to Use: Activate manual levels and adjust the top, reference, and bottom levels as needed to define the grid's scope.
⚙️ Stop Triggers:
→ Purpose: Provides an option to set upper and lower price limits, acting as stop triggers to close or terminate trades. This feature safeguards investments against significant market movements outside the anticipated range.
→ How to Use: Enable stop triggers and specify the upper and lower limits. The tool will automatically manage positions based on these parameters.
---
This guide gives you a quick and clear overview of the FreedX Grid Backtest tool, explaining how you can use this cutting-edge tool to improve your trading strategies.
Grid Bot BacktestingBinance, Bybit, Bitget, and other cross-exchange (grid) trading bot backtesting.
Auto bound: Automatically setting upper and lower price bounds.
Manual: Setting upper and lower price bounds manually.
The graph below represents the overall asset changes (initial investment amount + current position profit + grid profit).
Try using backtesting when setting up a grid bot on the exchange!
바이낸스, 바이비트, 비트겟 등 교차거래(그리드) 봇 백테스팅
Auto bound : 자동으로 상,하단 가격 설정
Manual : 직접 상,하단 가격 설정
아래 그래프는 총 자산 변화입니다.(초기투자금액 + 현재 포지션 수익 + 그리드 수익)
거래소에서 그리드 봇 설정할 때 백테스팅 유용하게 써보세요!
Hulk Grid Algorithm V2 - The Quant ScienceIt's the latest proprietary grid algorithm developed by our team. This software represents a clearer and more comprehensive modernization of the deprecated Hulk Grid Algorithm. In this new release, we have optimized the source code architecture and investment logic, which we will describe in detail below.
Overview
Hulk Grid Algorithm V2 is designed to optimize returns in sideways market conditions. In this scenario, the algorithm divides purchases with long orders at each level of the grid. Unlike a typical grid algorithm, this version applies an anti-martingale model to mitigate volatility and optimize the average entry price. Starting from the lower level, the purchase quantity is increased at each new subsequent level until reaching the upper level. The initial quantity of the first order is fixed at 0.50% of the initial capital. With each new order, the initial quantity is multiplied by a value equal to the current grid level (where 1 is the lower level and 10 is the upper level).
Example: Let's say we have an initial capital of $10,000. The initial capital for the first order would be $50 * 1 = $50, for the second order $50 * 2 = $100, for the third order $50 * 3 = $150, and so on until reaching the upper level.
All previously opened orders are closed using a percentage-based stop-loss and take-profit, calculated based on the extremes of the grid.
Set Up
As mentioned earlier, the user's goal is to analyze this strategy in markets with a lack of trend, also known as sideways markets. After identifying a price range within which the asset tends to move, the user can choose to create the grid by placing the starting price at the center of the range. This way, they can consider trading the asset, if the backtesting generates a return greater than the Buy & Hold return.
Grid Configuration
To create the grid, it's sufficient to choose the starting price during the launch phase. This level will be the center of the grid from which the upper and lower levels will be calculated. The grid levels are computed using an arithmetic method, adding and subtracting a configurable fixed amount from the user interface (Grid Step $).
Example: Let's imagine choosing 1000 as the starting price and 50 as the Grid Step ($). The upper levels will be 1000, 1050, 1100, 1150, 1200. The lower levels will be 950, 900, 850, 800, and 750.
Markets
This software can be used in all markets: stocks, indices, commodities, cryptocurrencies, ETFs, Forex, etc.
Application
With this backtesting software, is possible to analyze the strategy and search for markets where it can generate better performance than Buy & Hold returns. There are no alerts or automatic investment mechanisms, and currently, the strategy can only be executed manually.
Design
Is possible to modify the grid style and customize colors by accessing the Properties section of the user interface.
Martingale + Grid DCA Strategy [YinYangAlgorithms]This Strategy focuses on strategically Martingaling when the price has dropped X% from your current Dollar Cost Average (DCA). When it does Martingale, it will create a Purchase Grid around this location to likewise attempt to get you a better DCA. Likewise following the Martingale strategy, it will sell when your Profit has hit your target of X%.
Martingale may be an effective way to lower your DCA. This is due to the fact that if your initial purchase; or in our case, initial Grid, all went through and the price kept going down afterwards, that you may purchase more to help lower your DCA even more. By doing so, you may bring your DCA down and effectively may make it easier and quicker to reach your target profit %.
Grid trading may be an effective way of reducing risk and lowering your DCA as you are spreading your purchases out over multiple different locations. Likewise we offer the ability to ‘Stack Grids’. What this means, is that if a single bar was to go through 20 grids, the purchase amount would be 20x what each grid is valued at. This may help get you a lower DCA as rather than creating 20 purchase orders at each grid location, we create a single purchase order at the lowest grid location, but for 20x the amount.
By combining both Martingale and Grid DCA techniques we attempt to lower your DCA strategically until you have reached your target profit %.
Before we start, we just want to make it known that first off, this Strategy features 8% Commission Fees, you may change this in the Settings to better reflect the Commission Fees of your exchange. On a similar note, due to Commission Fees being one of the number one profit killers in fast swing trade strategies, this strategy doesn’t focus on low trades, but the ideology of it may result in low amounts of trades. Please keep in mind this is not a bad thing. Since it has the ability to ‘Stack Grid Purchases’ it may purchase more for less and result in more profit, less commission fees, and likewise less # of trades.
Tutorial:
In this example above, we have it set so we Martingale twice, and we use 100 grids between the upper and lower level of each martingale; for a total of 200 Grids. This strategy will take total capital (initial capital + net profit) and divide it by the amount of grids. This will result in the $ amount purchased per grid. For instance, say you started with $10,000 and you’ve made $2000 from this Strategy so far, your total capital is $12,000. If you likewise are implementing 200 grids within your Strategy, this will result in $12,000 / 200 = $60 per grid. However, please note, that the further down the grid / martingale is, the more volume it is able to purchase for $60.
The white line within the Strategy represents your DCA. As the Strategy makes purchases, this will continue to get lower as will your Target Profit price (Blue Line). When the Close goes above your Target Profit price, the Strategy will close all open positions and claim the profit. This profit is then reinvested back into the Strategy, which may exponentially help the Strategy become more profitable the longer it runs for.
In the example above, we’ve zoomed in on the first example. In this we want to focus on how the Strategy got back into the trades shortly after it sold. Currently within the Settings we have it set so our entry is when the Lowest with a length of 3 is less than the previous Lowest with a length of 3. This is 100% customizable and there are multiple different entry options you can choose from and customize such as:
EMA 7 Crossover EMA 21
EMA 7 Crossunder EMA 21
RSI 14 Crossover RSI MA 14
RSI 14 Crossunder RSI MA 14
MFI 14 Crossover MFI MA 14
MFI 14 Crossunder MFI MA 14
Lowest of X Length < Previous Lowest of X Length
Highest of X Length > Previous Highest of X Length
All of these entry options may be tailored to be checked for on a different Time Frame than the one you are currently using the Strategy on. For instance, you may be running the Strategy on the 15 minute Time Frame yet decide you want the RSI to cross over the RSI MA on the 1 Day to be a valid entry location.
Please keep in mind, this Strategy focuses on DCA, this means you may not want the initial purchase to be the best location. You may want to buy when others think it is a good time to sell. This is because there may be strong bearish momentum which drives the price down drastically and potentially getting you a good DCA before it corrects back up.
We will continue to add more Entry options as time goes on, and if you have any in mind please don’t hesitate to let us know.
Now, back to the example above, if we refer to the Yellow circle, you may see that the Lowest of a length of 3 was less than its previous lowest, this triggered the martingales to create their grids. Only a few bars later, the price went into the first grid and went a little lower than its midpoint (Yellow line). This caused about 60% of the first grid to be purchased. Shortly after the price went even lower into this grid and caused the entire first martingale grid to be purchased. However, if you notice, the white line (your DCA) is lower than the midpoint of the first grid. This is due to the fact that we have ‘Stack Grid Purchases’ enabled. This allows the Strategy to purchase more when a single bar crosses through multiple grid locations; and effectively may lower your average more than if it simply executed a purchase order at each grid.
Still looking at the same location within our next example, if we simply increase the Martingale amount from 2 to 3 we can see something strange happens. What happened is our Target Profit price was reached, then our entry condition was met, which caused all of the martingale grids to be formed; however, the price continued to increase afterwards. This may not be a good thing, sure the price could correct back down to these grid locations, but what if it didn’t and it just kept increasing? This would result in this Strategy being stuck and unable to make any trades. For this reason we have implemented a Failsafe in the Settings called ‘Reset Grids if no purchase happens after X bars’.
We have enabled our Failsafe ‘Reset Grids if no purchase happens after X bars’ in this example above. By default it is set to 100 bars, but you can change this to whatever works best for you. If you set it to 0, this Failsafe will be disabled and act like the example prior where it is possible to be stuck with no trades executing.
This Failsafe may be an important way to ensure the Strategy is able to make purchases, however it may also mean the Grids increase in price when it is used, and if a massive correction were to occur afterwards, you may lose out on potential profit.
This Strategy was designed with WebHooks in mind. WebHooks allow you to send signals from the Strategy to your exchange. Simply set up a Custom TradingView Bot within the OKX exchange or 3Commas platform (which has your exchange API), enter the data required from the bot into the settings here, select your bot type in ‘Webhook Alert Type’, and then set up the alert. After that you’re good to go and this Strategy will fully automate all of its trades within your exchange for you. You need to format the Alert a certain way for it to work, which we will go over in the next example.
Add an alert for this Strategy and simply modify the alert message so all it says is:
{{strategy.order.alert_message}}
Likewise change from the Alert ‘Settings’ to Alert ‘Notifications’ at the top of the alert popup. Within the Notifications we will enable ‘Webhook URL’ and then we will pass the URL we are sending the Webhook to. In this example we’ve put OKX exchange Webhook URL, however if you are using 3Commas you’ll need to change this to theirs.
OKX Webhook URL:
www.okx.com
3Commas Webhook URL:
app.3commas.io
Make sure you click ‘Create’ to actually create this alert. After that you’re all set! There are many Tutorials videos you can watch if you are still a little confused as to how Webhook trading works.
Due to the nature of this Strategy and how it is designed to work, it has the ability to never sell unless there it will make profit. However, because of this it also may be stuck waiting in trades for quite a long period of time (usually a few months); especially when your Target Profit % is 15% like in the example above. However, this example above may be a good indication that it may maintain profitability for a long period of time; considering this ‘Deep Backtest’ is from 2017-8-17.
We will conclude the tutorial here. Hopefully you understand how this Strategy has the potential to make calculated and strategic DCA Grid purchases for you and then based on a traditional Martingale fashion, bulk sell at the desired Target Profit Percent.
Settings:
Purchase Settings:
Only Purchase if its lower than DCA: Generally speaking, we want to lower our Average, and therefore it makes sense to only buy when the close is lower than our current DCA and a Purchase Condition is met.
Purchase Condition: When creating the initial buy location you must remember, you want to Buy when others are Fearful and Sell when others are Greedy. Therefore, many of the Buy conditions involve times many would likewise Sell. This is one of the bonuses to using a Strategy like this as it will attempt to get you a good entry location at times people are selling.
Lower / Upper Change Length: This Lower / Upper Length is only used if the Purchase Condition is set to 'Lower Changed' or 'Upper Changed'. This is when the Lowest or Highest of this length changes. Lowest would become lower or Highest would become higher.
Purchase Resolution: Purchase Resolution is the Time Frame that the Purchase Condition is calculated on. For instance, you may only want to start a new Purchase Order when the RSI Crosses RSI MA on the 1 Day, but yet you run this Strategy on the 15 minutes.
Sell Settings:
Trailing Take Profit: Trailing Take Profit is where once your Target Profit Percent has been hit, this will trail up to attempt to claim even more profit.
Target Profit Percent: What is your Target Profit Percent? The Strategy will close all positions when the close price is greater than your DCA * this Target Profit Percent.
Grid Settings:
Stack Grid Purchases: If a close goes through multiple Buy Grids in one bar, should we amplify its purchase amount based on how many grids it went through?
Reset Grids if no purchase happens after X Bars: Set this to 0 if you never want to reset. This is very useful in case the price is very bullish and continues to increase after our Target Profit location is hit. What may happen is, Target Profit location is hit, then the Entry condition is met but the price just keeps increasing afterwards. We may not want to be sitting waiting for the price to drop, which may never happen. This is more of a failsafe if anything. You may set it very large, like 500+ if you only want to use it in extreme situations.
Grid % Less than Initial Purchase Price: How big should our Buy Grid be? For instance if we bought at 0.25 and this value is set to 20%, that means our Buy Grid spans from 0.2 - 0.25.
Grid Amounts: How many Grids should we create within our Buy location?
Martingale Settings:
Amount of Times 'Planned' to Martingale: The more Grids + the More Martingales = the less $ spent per grid, however the less risk. Remember it may be better to be right and take your time than risk too much and be stuck too long.
Martingale Percent: When the current price is this percent less than our DCA, lets create another Buy Grid so we can lower our average more. This will make our profit location less.
Webhook Alerts:
Webhook Alert Type: How should we format this Alert? 3Commas and OKX take their alerts differently, so please select the proper one or your webhooks won't work.
3Commas Webhook Alerts:
3Commas Bot ID: The 3Commas Bot ID is needed so we know which BOT ID we are sending this webhook too.
3Commas Email Token: The 3Commas Email Token is needed for your webhooks to work properly as it is linked to your account.
OKX Webhook Alerts:
OKX Signal Token: This Signal Token is attached to your OKX bot and will be used to access it within OKX.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
RSI Box Strategy (pseudo- Grid Bot)This is a strategy intended primarily for algorithmic traders. It's a pseudo-grid bot that uses a dynamic, volume-weighted grid that only updates when the RSI meets certain conditions. It's also a breakout strategy, whereas normal grid bots are not (typical grid bots sell when a higher grid is reached, whereas this strategy sells when a lower grid is breached under specific conditions). This strategy also sells 100% of pyramiding orders on close.
In a nutshell, the strategy updates its grid to the volume-weighted highest/lowest values of your given source ("src" in the settings) each time that there is a RSI crossunder/crossover. From this range it produces an evenly-spaced grid of five lines, and uses the current source to determine which grid line is closest to the source. Then, if the source crosses over the line directly above the current line, it enters a buy order. If the source crosses under the line directly below the current line, it enters a sell order.
You can configure shorts, source, RSI length, and overbought/oversold levels in the settings.
For the strategy results below: fees are at 0.1% per trade, with order size 1% of equity and a max pyramiding value of 33. For a greater R/R profile, you can increase the order size, which will increase drawdown but potentially yield better results.
Grid Spot Trading Algorithm V2 - The Quant ScienceGrid Spot Trading Algorithm V2 is the last grid trading algorithm made by our developer team.
Grid Spot Trading Algorithm V2 is a fixed 10-level grid trading algorithm. The grid is divided into an accumulation area (red) and a selling area (green).
In the accumulation area, the algorithm will place new buy orders, selling the long positions on the top of the grid.
BUYING AND SELLING LOGIC
The algorithm places up to 5 limit orders on the accumulation section of the grid, each time the price cross through the middle grid. Each single order uses 20% of the equity.
Positions are closed at the top of the grid by default, with the algorithm closing all orders at the first sell level. The exit level can be adjusted using the user interface, from the first level up to the fifth level above.
CONFIGURING THE ALGORITHM
1) Add it to the chart: Add the script to the current chart that you want to analyze.
2) Select the top of the grid: Confirm a price level with the mouse on which to fix the top of the grid.
3) Select the bottom of the grid: Confirm a price level with the mouse on which to fix the bottom of the grid.
4) Wait for the automatic creation of the grid.
USING THE ALGORITHM
Once the grid configuration process is completed, the algorithm will generate automatic backtesting.
You can add a stop loss that destroys the grid by setting the destruction price and activating the feature from the user interface. When the stop loss is activated, you can view it on the chart.
AUTOMATIC GRID BOT STRATEGY [ilovealgotrading]
OVERVIEW:
This Grid trading strategy can help you maximize your profit in a ranging sideways market with no clear direction.
INDICATOR:
We can get some money by taking advantage of the movement of the price between the range we have determined.
Short positions are opened while the price is rising, long positions are opened while the price is falling.
Therefore, there is no need to predict the trend direction.
What is different in this indicator:
I want to say thank you to © thequantscience. His GRID SPOT TRADING ALGORITHM - GRID BOT TRADING strategy helped me when I was writing my indicator.
I want to explain what I have improved:
1- Grid strategy is a type of strategy that can be traded in very short time frames and users can trade this strategy algorithmically by connecting this strategy to their own accounts with the help of API systems. For this reason, I have developed a software that can give us signals by dynamically changing the long and short messages when users are trading.
2- We can change the start and end dates of our grid bot as we want. It is necessary to use this setting when setting up automatic bots, so that previously opened transactions are not taken into account.
3 - Lot or quantity size should not be excessively small when users are taking automatic trades because exchanges have limitations, to avoid this problem, I have prevented this error by automatically rounding up to the nearest quantity size inside the software.
4 - Users can avoid excessive losses by using stop loss on this grid bot if they wish.
5 - When our price is over the range high or below the range low, our open positions are closed, if the stop button is active. We can also change which close price time frame we take as a basis from the settings.
6 -Users can set how many dollars they can enter per transaction while performing their transactions automatically.
IMPLEMENTATION DETAILS – SETTINGS:
This script allows the user to choose the highs and lows leves of our range. Our bot trades in the specified range.
1. This strategy allows us to set start and end backtest dates.
2. We can change range high and range low leves of our bot
3. IF people want to trade algorithmically with the help of this bot, there are 6 different input systems that will receive the Json codes as an alarm
4. IF the price closes above the upper line or below the lower line, all transactions will be closed. We can determine in which time frame our transactions will be stopped if the price closes outside these levels.We can adjust how our bot works by activating or turning off the Stop Loss button.
5. In this strategy, you can determine your dollar cost for per position.
6. The user can also divide the interval we have determined into 10 parts or 20 equal parts.
7. The grid is divided and colored at the interval we set. At the same time, if we don't want we can turn off colored channels.
Notes:
If you're going to connect this bot to an automatic Long and Short direction,
Don’t forget! you need to Webhook URL,
Don’t miss paste this code to your message window {{strategy.order.alert_message}}
ALSO:
Set your range below the support zones and above the resistance zones.
Don't be afraid to take a wide range, it doesn't matter if you make a little money, the important thing is that you don't lose money.
If you have any ideas what to add to my work to add more sources or make calculations cooler, suggest in DM .
basilGrid GridBot Live [basilChart]This strategy is a full implementation of Live Grid Trading.
Prominent features of this live grid trading strategy are:
- Logarithmic Chart Support: This strategy can support Log Scale on graph. Meaning that grid lines won't have irregular gaps in between the lines if you would like to view the chart Log Scaled. Every line will be aligned correctly even if you use Log Scale or not.
- Precise Buy & Sell: Script will execute precise Buy and Sell orders.
- Dynamic Grid Level Count: From 2 grid levels to n amount of grid levels are supported. There is no limitation on grid level count, however there may be irregularities because of limitations when higher grid levels are used. You can pick any number starting from 2.
- Average Price: Traders can monitor average price of positions.
- Alerts: When order is filled trader can receive notification. Create new alert > Select basilGrid Live > Order fills only()
Characteristics of this script:
- Able to fill more than one order in one single candle.
- Levels will keep being updated with every trade.
- There will be always one grid level ignored and it will be the level which made the last order filling possible. This is normal behavior of grid trading system.
- You can both use Log Scale and Normal Scale with this script. No issue will be on grid levels.
Using the script:
- Add this script to the chart from indicators tab
- Set starting date for the live grid bot either by dragging and dropping the vertical line or by the date-time picker from indicator Inputs tab.
- Set highest and lowest limit for the script. These will be the boundary limits. Highest and lowest price for the script to work on. Lines will populate between these two values
- Set grid level count. Number of levels of the grid.
- Set amount to spend on per level. This quantity of order will be placed on each level when needed.
After setting the above settings, there is one last thing to do in order to get precise results. It is setting the Initial Capital.
- We can set this setting from 'Properties' tab. Named 'Initial Capital'. After setting the boundaries all we need to is to navigate to TradingView's own 'Data Window', and get the value there. Then paste it on the strategy's own related setting area.
In this example we used pair BTCUSDT 1D timeframe, our settings are:
Inputs Tab:
- Grid Count: 19
- High Limit: 65 500
- Low Limit: 15 000
- Quantity per level: 0.1
- Toggle Log Scale: Checked (because I always use Log Scale on charts, if Log Scale is turned on for the chart, this needs to be checked)
- Terminate Grid At The Upmost Level: Not checked
- Show Grid Levels: Checked
- Show Average Position Price: Checked
Properties Tab:
- Initial Capital: 22 628
- Slippage: 5
- Commission: 0.1% (this is the broker commission value)
This script's purpose is to make it easier to get the idea of grid trading, experiencing it in live session.
bc Grid Backtest v1.4This strategy is a full implementation of Grid Trading backtest.
Prominent features of this backtesting strategy are:
- Logarithmic Chart Support: This strategy can support Log Scale on graph. Meaning that grid lines won't have irregular gaps in between the lines if you would like to view the chart Log Scaled. Every line will be aligned correctly even if you use Log Scale or not.
- Precise Buy & Sell: Script will execute precise Buy and Sell orders.
- Dynamic Grid Level Count: From 2 grid levels to n amount of grid levels are supported. There is no limitation on grid level count. You can pick any number starting from 2.
- Customized Backtesting Results Table: A table which includes data for those who want to know has been added at top right. It can be disabled.
Characteristics of this script:
- Able to fill more than one order in one single candle.
- Levels will keep being updated with every trade.
- There will be always one grid level ignored and it will be the level which made the last order filling possible. This is normal behavior of grid trading system.
- You can both use Log Scale and Normal Scale with this script. No issue will be on grid levels.
Using the script:
- Add this script to the chart from indicators tab
- Set starting and ending date for the grid backtesting bot either by dragging and dropping the vertical lines or by the date-time picker from indicator Inputs tab.
- Set highest and lowest limit for the script. These will be the boundary limits. Highest and lowest price for the script to work on. Lines will populate between these two values
- Set grid level count. Number of levels of the grid.
- Set amount to spend on per level. This quantity of order will be placed on each level when needed.
After setting the above settings, there is one last thing to do in order to get precise results. It is setting the Initial Capital.
- We can set this setting from 'Properties' tab. Named 'Initial Capital'. After setting the boundaries all we need to is to navigate to TradingView's own 'Data Window', and get the value there. Then paste it on the strategy's own related setting area.
In this example we used pair BTCUSDT 4h timeframe, our settings are:
Inputs Tab:
- Grid Count: 13
- High Limit: 72 000
- Low Limit: 17 000
- Logarithmic Grids: Checked (because I always use Log Scale on charts, if Log Scale is turned on, this needs to be checked)
- Quantity per level: 0.1
- Show Table: Checked
- Show Grid Levels: Checked
- Show Average Position Price: Checked
Properties Tab:
- Initial Capital: 24 902
- Slippage: 5
- Commission: 0.1% (this is the broker commission value)
This script's purpose is to make simulating possible outcomes between two dates. Therefore making it easier to get the idea of grid trading, finding the best settings for your risk management and for your portfolio.
Rocket Grid Algorithm - The Quant ScienceThe Rocket Grid Algorithm is a trading strategy that enables traders to engage in both long and short selling strategies. The script allows traders to backtest their strategies with a date range of their choice, in addition to selecting the desired strategy - either SMA Based Crossunder or SMA Based Crossover.
The script is a combination of trend following and short-term mean reversing strategies. Trend following involves identifying the current market trend and riding it for as long as possible until it changes direction. This type of strategy can be used over a medium- to long-term time horizon, typically several months to a few years.
Short-term mean reversing, on the other hand, involves taking advantage of short-term price movements that deviate from the average price. This type of strategy is usually applied over a much shorter time horizon, such as a few days to a few weeks. By rapidly entering and exiting positions, the strategy seeks to capture small, quick gains in volatile market conditions.
Overall, the script blends the best of both worlds by combining the long-term stability of trend following with the quick gains of short-term mean reversing, allowing traders to potentially benefit from both short-term and long-term market trends.
Traders can configure the start and end dates, months, and years, and choose the length of the data they want to work with. Additionally, they can set the percentage grid and the upper and lower destroyers to manage their trades effectively. The script also calculates the Simple Moving Average of the chosen data length and plots it on the chart.
The trigger for entering a trade is defined as a crossunder or crossover of the close price with the Simple Moving Average. Once the trigger is activated, the script calculates the total percentage of the side and creates a grid range. The grid range is then divided into ten equal parts, with each part representing a unique grid level. The script keeps track of each grid level, and once the close price reaches the grid level, it opens a trade in the specified direction.
The equity management strategy in the script involves a dynamic allocation of equity to each trade. The first order placed uses 10% of the available equity, while each subsequent order uses 1% less of the available equity. This results in the allocation of 9% for the second order, 8% for the third order, and so on, until a maximum of 10 open trades. This approach allows for risk management and can help to limit potential losses.
Overall, the Rocket Grid Algorithm is a flexible and powerful trading strategy that can be customized to meet the specific needs of individual traders. Its user-friendly interface and robust backtesting capabilities make it an excellent tool for traders looking to enhance their trading experience.
Mean Reverse Grid Algorithm - The Quant ScienceMean Reverse Grid Algorithm - The Quant Science™ is a dynamic grid algorithm that follows the trend and run a mean reverting strategy on average percentage yield variation.
DESCRIPTION
Trades on different price levels of the grid, following the trend. The grid consists of 10 levels, 5 higher and 5 lower. The grids together create a channel, this channel represents the total percentage change where the algorithm works. The channel also represents the average change yields of the asset, identified during analysis with the "Yield Trend Indicator".
The algorithm can be set long or short.
1. Long algorithm: opens long positions with 20% of the capital every time the price crossunder a lower grid, for a maximum total of 5 simultaneous trades. Trades are closed each time the price crossover a higher grid.
2. Short algorithm: opens short positions with 20% of the capital every time the price crossover a higher grid, for a maximum total of 5 simultaneous trades. Trades are closed each time the price crossunder a lower grid.
USER INTERFACE SETTING
The user configures the percentage value of each grid from the user interface.
AUTO TRADING COMPLIANT
With the user interface, the trader can easily set up this algorithm for automatic trading. Automating it is very simple, activate the alert functions and enter the links generated by your broker.
BACKTESTING INCLUDED
With the user interface, the trader can adjust the backtesting period of the strategy before putting it live. You can analyze large periods such as years or months or focus on short-term periods.
NO LIMIT TIMEFRAME
This algorithm can be used on all timeframes and is ideal for lower timeframes.
GENERAL FEATURES
Multi-strategy: the algorithm can apply either the long strategy or the short strategy.
Built-in alerts: the algorithm contains alerts that can be customized from the user interface.
Integrated grid: the grid indicator is included.
Backtesting included: automatic backtesting of the strategy is generated based on the values set.
Auto-trading compliant: functions for auto trading are included.
ABOUT BACKTESTING
Backtesting refers to the period 1 August 2022 - today, ticker: ETH/USDT, timeframe 1H.
Initial capital: $1000.00
Commission per trade: 0.03%
GRID SPOT TRADING ALGORITHM - GRID BOT TRADING STRATEGYGRID SPOT TRADING ALGORITHM : LONG ONLY STRATEGY OPEN SOURCE
This is a long only strategy for spot assets.
HOW IT WORKS
Grid trading is a trading strategy where an investor creates a so-called "price grid". The basic idea of the strategy is to repeatedly buy at the pre-specified price and then wait for the price to rise above that level and then sell the position (and vice versa with shorting or hedging).
FEATURES
Grids: This algorithm has a total of 10 grids.
Take profit: The trader can increase or decrease the distance between the grids from the User Interface panel, the distance between one grid and another represents the take profit.
Management: The algorithm buys 10% of the capital every time the price breaks down a grid and sells during a rise to the next higher grid. The initial capital is invested in 10 sizes which represent 10% of the capital per trade.
Stop Loss: The algorithm knows no stop loss as long as it is not activated from the User Interface panel. By activating the stop loss from the User Interface panel the algorithm will insert a close condition on all trades which will be calculated from the last lower grid.
Trades: Trades are opened only if the price is within the grid. If the market leaves the grid the algorithm will not buy new positions or sell new positions.
Optimal market conditions: The favorable market for this algorithm is the sideways market.
LIMITATIONS OF THE MODEL
The trader must take into account that this is a static model. It only works perfectly well if the market is in a sideways phase and incurs heavy losses if the market takes a downward trend. The model is unusable for an uptrend. The trader must therefore carefully analyze the market where he intends to use this strategy, making sure that the price is in a sideways phase.
USES
Indispensable research and backtesting tool for those using bots for their investments. The algorithm produces a backtesting of the strategy for past history. It is used by professional traders to understand if this strategy has been profitable on a market and what parameters to use for bots using this strategy (Kucoin, Binance etc.).
If you would like to develop your own algorithm with customized conditions based on a grid strategy, please contact us.
If you need help in using this tool, please contact us without hesitation.
TTP Grid BacktesterThis pine script strategy allows to backtest Grid bots.
This initial version offers the following features:
- Set the top and bottom limits of the grid
- Plots the average position price, realised and unrealised profits
- Set the value to invest
- This script is a strategy so you can check each individual buy/sell, stats and all included with strategies
What does it do:
- Depending where is located the initial close price relative to the grid (above, below, inside) it will buy for as many levels are above the price.
- It will disable a level that recently filled an order (in the way grids bot do)
- When the grid starts it will disable the closest grid level
- It places limit orders in the active levels and many levels can be filled in a single candle
- You can activate recalculate on each order filled, which will allow to fill further needed orders if the price swings up and down crossing multiple times multiple grid levels but I have found that doing this can compromise the accuracy of the price used on those levels (there are minor gaps between the filled price and the original level price)
How to use it:
- When you add this strategy to the chart you will be asked to select the top and bottom limits of the grid
- Notice you can always select the strategy in the chart and drag and drop the limits to adjust the grid
- Once the grid is in place, you can use either lower chart timeframes for higher accuracy of the stats, or higher timeframes if you want to privilege longer periods of testing
How to set the correct "initial capital"
In order to prevent getting wrong stats you need to make sure you are using the correct initial capital. If you put less than what you are actually using your results will be over inflated. If you set an initial capital below what the bot requires, your results will be smaller than they should.
- If you want to use exactly 100% of the capital for the grid use then first select what amount per level you want to use. Set this value in the settings of the indicator (if you are trading BTCUSD pair, how much BTC you want to use per level, 0.01 for example).
- Once you have set this value, then open the TradingView "Data Window" to be able to visualise the calculation of cash required to run the grid that the strategy is giving you. In our example with BTCUSD this value will be given in USD.
- Enter this amount in the "Properties" tab, "Initial Capital". If you enter the exact amount you will be using all for the grid usage.
- The grid first action will be to buy 0.01 for each level that is above the current price in the first candle of the chart. If there are no levels above it won't do any initial investment.
- The rest of the cash will be use to buy levels below if the price goes to the lower range of the grid later
Intention of this script
I built this script to help me understand better how grid bots work.
Understanding the flow of realised vs unrealised profits in a grid can help me understand why sometimes even if you are in red on unrealised profits, you can still compensate with realised profits and many other tricky scenarios with grids.
Sometimes I'm running a grid bot and would like to simulate how much better (or worst) it would have been to run it using different limits.
Future work and ideas
Initially I'm focusing on confirming that the grid behaves correctly and that the stats are as accurate as possible.
That is the first priority.
Once I feel more confident with the accuracy I will consider adding some of the following ideas (not in any particular order):
- Table with stats including: price of each level, times the level filled an order, times it was use for selling/buying, etc. Time it took to become in realised profit. Comparison against profits from buy & hold.
- Trailing TP/SL
- Entry/exit price
- Trading time window: only trade between the specified dates/times
- Alerts
GRID Trading Optimized for Directional MarketsGRID trading is a popular trading strategy in Forex and Commodity markets.
It it however a tricky strategy when markets become directional.
This Directional GRID system adjusts its trading strategy and direction based on Overbought and Oversold RSI conditions on 2 timeframes.
It uses the short timeframe (chart) to trigger adjustments, so it delays buying/selling of all the levels, until it becomes overbought/sold
And it used the longer timeframe to trigger trading direction long/short.
This makes it far less likely to ever get "underwater", and builds in extra profit potential during market extremes.
I have coded it when i was trading SLV, but it could be optimized for any market using a "TradingView Strategy Input Optimizer".
Backtest based on a 25k max capital investment during 6 months.
Check the NET Profit (50%) result, and compare against the Buy & Hold (13.5%) return.
Losing trades are the ones that are currently open..
Av Bars in trades is the time between direction changes, as Position Adjustments are done more frequently.
Contact me for Trading Automation As A Service.
Up & Down Trend Trading Strategy - BNB/USDT 15minThis strategy will focus on up trend trading and down trend trading based on several indicators such as;
for up trend
1. SAR indicator
2. Super trend indicator
3. Simple moving average for the period of 100
down trend
1. RSI Indicator
2. Money flow index
3. Relative volatility index
4. Balance of powder