Crypto Futures Basis Tracker (Annualized)🧩 What is Basis Arbitrage
Basis arbitrage is a market-neutral trading strategy that exploits the price difference between a cryptocurrency’s spot and its futures markets.
When futures trade above spot (called contango), traders can buy spot and short futures, locking in a potential yield.
When futures trade below spot (backwardation), the reverse applies — short spot and go long futures.
The yield earned (or cost paid) by holding this position until expiry is called the basis. Expressing it as an annualized percentage allows comparison across different contract maturities.
⚙️ How the Indicator Works
This tool calculates the annualized basis for up to 10 cryptocurrency futures against a chosen spot price.
You select one spot symbol (e.g., BITSTAMP:BTCUSD) and up to 10 futures symbols (e.g., DERIBIT:BTCUSD07X2025, DERIBIT:BTCUSD14X2025, etc.).
The script automatically computes the days-to-expiry (DTE) and the annualized basis for each future.
A table displays for each contract: symbol, expiry date, DTE, last price, and annualized basis (%) — making it easy to compare the forward curve across maturities.
⚠️ Risks and Limitations
While basis arbitrage is often considered low-risk, it’s not risk-free:
Funding and financing costs can erode returns, especially when borrowing or using leverage.
Exchange or counterparty risk — if one leg of the trade fails (e.g., exchange default, margin liquidation), the hedge breaks.
Execution and timing risk — the basis can tighten or invert before both legs are opened.
Liquidity differences — thin futures may have large bid-ask spreads or slippage.
Use this indicator for analysis and monitoring, not as an automated trading signal.
Disclaimer: Please remember that past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script don't provide any financial advice.
Cryptoarbitrage
Arbitrage Spread v2 : 3 pairs + 3 charts [Arby.Trade]
This indicator allows you to track in real time the change in the spread (the difference in the exchange rate) between two assets for three trading pairs at the same time.
How does the indicator work?
In the indicator settings menu, the user selects two trading pairs, for example BTCUSDT on the Binance exchange and BTCUSDT on the Bybit exchange, after which the script will receive prices from both exchanges and compare them with each other, calculating the percentage deviation between prices (spread). This setting can be made for three trading pairs. Keep in mind that the script can only work with those assets and exchanges that are on board TradingView, and this is quite a lot.
According to the calculated value of spreads, the spread lines for three trading pairs are displayed on the screen. The spread lines move between values above zero and below. When the spread line is below zero, it means that the price of the asset on the first exchange is less than on the second. That is, by buying an asset on the first exchange and selling it on the second one, you can earn money (of course, it is important to take into account the commissions of the exchanges for these transactions). When the spread line is above zero, the opposite is true. When the spread is zero, the prices on both exchanges are the same and there is no arbitrage situation.
Indicator settings.
For a better visual representation of the current spread value, the indicator has the ability to set two threshold spread levels. The first threshold level is the level below which the spread is not interesting to the trader and he will not consider arbitrage deals. The second threshold level is the level of a particularly high spread. When the spread value exceeds the second threshold level, the spread values will be signed above the spread line, and the extreme values for the user-defined period of bars back will be additionally highlighted in a brighter color. Both threshold levels are displayed on the chart and the user can change their values in the indicator settings menu.
The script allows you to leave only one spread line on the chart for one of the three trading pairs, while maintaining the display of indicator tables for three trading pairs. The script also allows you to completely disable the display of unnecessary trading pairs.
If the volatility of the spread lines is too high and the spread lines from different trading pairs overlap each other, use the "Distance between charts" setting and increase its value until the display of all three charts becomes comfortable.
Alerts.
Additionally, you can set the threshold value of the spread, at which the script will send notifications from TradingView. We called it the Spread Signal Threshold. This threshold level has nothing to do with the visual thresholds described above. You can set a signal level exceeding the second visual threshold or make it lower, but it is important to understand that TradingView alerts will only be triggered if the Spread Signal Threshold is exceeded. This threshold level is common to all trading pairs, so notifications will be sent when this spread level is reached for any of the three trading pairs.
To set up alerts, open the "Alerts" tab in the TradingView menu on the right. Click the "Create Alert" button. Then, in the window that opens, select this indicator in the "Condition" line. After that, you can set a name for this alert and complete the notification setup by clicking the "Create" button.
We, the authors of this script, have been engaged in cryptocurrency arbitrage for a long time and, first of all, created it for ourselves and our daily arbitrage trading, but this does not prevent you from using it at your discretion for any types of assets and in any markets.
We have a lighter version of the indicator that allows you to track the spread for only one trading pair. If this indicator seems too heavy for you and your device, you can use a lighter version .
If, on the contrary, the capabilities of your hardware allow, do not forget that you can always add several copies of this indicator to your screen and simultaneously track not 3, but 6-9-12 and so on arbitrage pairs at the same time. ;)
--
Данный индикатор позволяет отслеживать в реальном времени изменение спреда (разницы в курсе) между двумя активами по трем торговым парам.
Как устроен индикатор?
В меню настроек индикатора пользователь выбирает две торговые пары, например BTCUSDT на бирже Binance и BTCUSDT на бирже Bybit, после чего скрипт получит цены с обеих бирж и сравнит их между собой, рассчитав процентное отклонение между ценами (спред). Такую настройку можно произвести для трех торговых пар. Учитывайте, что скрипт может работать только с теми активами и биржами, которые есть на борту TradingView, и это не мало.
По рассчитанному значению спредов на экран выводится линии спредов по трем торговым парам. Линии спредов двигаются между значениями то выше нуля, то ниже. Когда линия спреда ниже нуля это значит что цена на актив на первой бирже меньше, чем на второй. То есть, купив актив на первой бирже и продав его на второй можно заработать (конечно при этом важно учитывать комиссии бирж на совершение данных сделок). Когда линия спреда выше нуля - наоборот. Когда спред равен нулю - цены на обеих биржах одинаковы и арбитражная ситуация отсутствует.
Настройки индикатора.
Для лучшего визуального представления о текущем значении спреда индикатор имеет возможность задать два пороговых уровня спреда. Первый пороговый уровень – это уровень, ниже которого спред не интересен трейдеру и он не будет рассматривать арбитражные сделки. Второй пороговый уровень – это уровень особенно повышенного спреда. Когда значение спреда превышает второй пороговый уровень над линией спреда будут подписаны значения спреда, а экстремальные значения за заданный пользователем период баров назад будут дополнительно выделены более ярким цветом. Оба пороговых уровня отображаются на графике и пользователь может менять их значения в меню настроек индикатора.
Скрипт позволяет оставить на графике только одну линию спреда по одной из трех торговых пар, при этом сохранив отображение индикаторных таблиц по трем торговым парам. Также скрипт позволяет полностью отключить отображение ненужных торговых пар.
Если волатильность линий спреда слишком высока и линии спреда от разных торговых пар накладываются друг на друга воспользуйтесь настройкой «Distance between charts» и увеличивайте ее значение до тех пор пока отображение всех трех графиков не станет комфортным.
Уведомления.
Дополнительно можно настроить пороговое значение спреда, при достижении которого скрипт будет отправлять уведомления от TradingView. Мы назвали это Spread Signal Threshold. Этот пороговый уровень никак не связан с визуальными пороговыми уровнями, описанными выше. Вы можете задать сигнальный уровень превышающий второй визуальный пороговый уровень или сделать его ниже, но важно понимать, что оповещения TradingView будут срабатывать только от превышения именно Spread Signal Threshold. Этот пороговый уровень является общим для всех торговых пар, поэтому уведомления будут приходить при достижении этого уровня спреда по любой из трех торговых пар.
Для настройки оповещений откройте вкладку «Оповещения» в меню TradingView справа. Нажмите кнопку «Создать оповещение». Затем в открывшемся окне в строке «Условие» выберете данный индикатор. После чего вы можете задать название данному оповещению и завершить настройку оповещения, нажав кнопку «Создать».
Мы, авторы данного скрипта, давно занимаемся арбитражем криптовалюты и, в первую очередь, создавали его для себя и своей каждодневной арбитражной торговли, но это не мешает вам использовать его по своему усмотрению для любых видов активов и на любых рынках.
У нас есть более легкая версия индикатора, позволяющая отслеживать спред только по одной торговой паре. Если данный индикатор покажется для вас и вашего устройства слишком тяжелым вы можете воспользоваться более легкой версией .
Если, наоборот, возможности вашего железа позволяют, не забывайте, что вы всегда можете добавить себе на экран несколько копий этого индикатора и отслеживать одновременно не 3, а 6-9-12 и тд арбитражных пар одновременно. ;)
Arbitrage Spread v1 : 1 pair + 1 chart [Arby.Trade]This indicator allows you to track in real time the change in the spread (the difference in the exchange rate) between two assets.
How does the indicator work?
In the indicator settings menu, the user selects two trading pairs, for example BTCUSDT on the Binance exchange and BTCUSDT on the Bybit exchange, after which the script will receive prices from both exchanges and compare them with each other, calculating the percentage deviation between prices (spread). The script can only work with those assets and exchanges that are on board TradingView.
According to the calculated spread value, the spread line is displayed on the screen. This line moves between values above zero and below. When the spread line is below zero, it means that the price of the asset on the first exchange is less than on the second. That is, by buying an asset on the first exchange and selling it on the second one, you can earn money (of course, it is important to take into account the commissions of the exchanges for these transactions). When the spread line is above zero, the opposite is true. When the spread is zero, the prices on both exchanges are the same and there is no arbitrage situation.
Indicator settings.
For a better visual representation of the current spread value, the indicator has the ability to set two threshold spread levels. The first threshold level is the level below which the spread is not interesting to the trader and he will not consider arbitrage deals. The second threshold level is the level of a particularly high spread. When the spread value exceeds the second threshold level, the spread values will be signed above the spread line, and the extreme values for the user-defined period of bars back will be additionally highlighted in a brighter color. Both threshold levels are displayed on the chart and the user can change their values in the indicator settings menu.
Alerts.
Additionally, you can set the threshold value of the spread, at which the script will send notifications from TradingView. We called it the Spread Signal Threshold. This threshold level has nothing to do with the visual thresholds described above. You can set a signal level exceeding the second visual threshold or make it lower, but it is important to understand that TradingView alerts will only be triggered if the Spread Signal Threshold is exceeded.
To set up alerts, open the "Alerts" tab in the TradingView menu on the right. Click the "Create Alert" button. Then, in the window that opens, select this indicator in the "Condition" line. After that, you can set a name for this alert and complete the notification setup by clicking the "Create" button.
We, the authors of this script, have been engaged in cryptocurrency arbitrage for a long time and, first of all, created it for ourselves and our daily arbitrage trading, but this does not prevent you from using it at your discretion for any types of assets and in any markets.
--
Данный индикатор позволяет отслеживать в реальном времени изменение спреда (разницы в курсе) между двумя активами.
Как устроен индикатор?
В меню настроек индикатора пользователь выбирает две торговые пары, например BTCUSDT на бирже Binance и BTCUSDT на бирже Bybit, после чего скрипт получит цены с обеих бирж и сравнит их между собой, рассчитав процентное отклонение между ценами (спред). Скрипт может работать только с теми активами и биржами, которые есть на борту TradingView, и это не мало.
По рассчитанному значению спреда на экран выводится линия спреда. Данная линия двигается между значениями то выше нуля, то ниже. Когда линия спреда ниже нуля это значит что цена на актив на первой бирже меньше, чем на второй. То есть, купив актив на первой бирже и продав его на второй можно заработать (конечно при этом важно учитывать комиссии бирж на совершение данных сделок). Когда линия спреда выше нуля - наоборот. Когда спред равен нулю - цены на обеих биржах одинаковы и арбитражная ситуация отсутствует.
Настройки индикатора.
Для лучшего визуального представления о текущем значении спреда индикатор имеет возможность задать два пороговых уровня спреда. Первый пороговый уровень – это уровень, ниже которого спред не интересен трейдеру и он не будет рассматривать арбитражные сделки. Второй пороговый уровень – это уровень особенно повышенного спреда. Когда значение спреда превышает второй пороговый уровень над линией спреда будут подписаны значения спреда, а экстремальные значения за заданный пользователем период баров назад будут дополнительно выделены более ярким цветом. Оба пороговых уровня отображаются на графике и пользователь может менять их значения в меню настроек индикатора.
Уведомления.
Дополнительно можно настроить пороговое значение спреда, при достижении которого скрипт будет отправлять уведомления от TradingView. Мы назвали это Spread Signal Threshold. Этот пороговый уровень никак не связан с визуальными пороговыми уровнями, описанными выше. Вы можете задать сигнальный уровень превышающий второй визуальный пороговый уровень или сделать его ниже, но важно понимать, что оповещения TradingView будут срабатывать только от превышения именно Spread Signal Threshold.
Для настройки оповещений откройте вкладку «Оповещения» в меню TradingView справа. Нажмите кнопку «Создать оповещение». Затем в открывшемся окне в строке «Условие» выберете данный индикатор. После чего вы можете задать название данному оповещению и завершить настройку оповещения, нажав кнопку «Создать».
Мы, авторы данного скрипта, давно занимаемся арбитражем криптовалюты и, в первую очередь, создавали его для себя и своей каждодневной арбитражной торговли, но это не мешает вам использовать его по своему усмотрению для любых видов активов и на любых рынках.


