Direct Download Chrome Web Store – 2/9/2020
- Fixed order ID cache not being purged correctly and overflowing
- Added more helpful error messages for some connection problems
- Binance Futures: Fixed error when checking for server time offset on startup
- KuCoin: Fixed error when testing API key without any ETH balance

Download – 22/8/2020
- Added side info to icon tooltip and log (when supplied via OHLC at the end of TV message)
- Fixed syntax check errors for unified placeholders without side in alert name
- Binance Futures: Added support for Delivery markets / DAPI (requires re-granting of permission in Chrome!) (further fixes @
- Binance Futures: Added support for index price (pr=index)
- Binance Futures: Fixed error when placing trailing stop (further fixes @
- Bitfinex: Added leverage parameter to orders
- BitMEX: Corrected error message for failed setting of leverage
- FTX: Fixed filtering by custom ID for order cancelation/check
- KuCoin: Fixed quantity precision error

Download – 5/8/2020
- Changed discord API from to (requires re-granting of permission in Chrome!)
- Fixed custom IDs leading to order errors in syntax loops on some exchanges
- Binance Futures, BitMEX, Bybit, FTX, Kraken Futures, KuCoin Futures: Fixed order cancelation/check 
  not filtering correctly for stops or when type= option was missing
- Binance Futures: Fixed step size error occuring for some instruments
- Binance Futures: Added minimum trade size check
- Gemini: Added new instruments and fixed precisions
- KuCoin Futures: Fixed direction parameter for stops being wrong (causing immediate trigger)
- KuCoin Futures: Renamed from KuMEX and adjusted API endpoints (requires re-granting of permission in Chrome!)

Download – 12/7/2020
- Fixed price reference "ask" not working (pr=ask)
- Fixed additional cases leading to PRO license being removed
- Fixed TV backtest export not working @
- Fixed syntax warning for id=[id] with catchall alert names (containing '*')
- Bybit: Fixed error on order placement for USDT markets (further fixes @
- BitMEX: Fixed wrong time in force option for market orders @

Download – 17/6/2020
- Added custom leverage plot reference option (lref=)
- Added workaround for new Discord Webhook URLs
- Binance Futures: Replaced posside with posmode=hedge/auto option to fully support hedge mode
- Binance Futures: Upgraded to v2 balance/risk endpoints (improved performance)
- Binance Futures: Fixed cancel=order w/o additional filters not canceling all orders
- BitMEX: Fixed cancel=order w/o additional filters not canceling all orders
- ByBit: Added ability to set separate buy/sell leverage in USDT markets
- ByBit: Added support for close-on-trigger & reduce-only in USDT markets
- ByBit: Changed position closing orders to close-on-trigger by default
- ByBit: Fixed quantity/TP/SL calculations for hedge mode / multi positions

Download – 8/6/2020
- Added support for TV Screener Alerts (see General Options / TradingView Connection)
- Added support for Kraken Futures (beta)
- Added support for KuMEX (beta)
- Added alert option to detect [side] placeholders from actual open positions
- Added conditional options iflong= and ifshort= to require less API calls for checks
- Added option to allow wildcards (*) in PV alert names to easily match multiple TV alerts
- Added new placeholders [ex] and [sym] to auto extract exchange/symbol from PV alert name
- Added new placeholder [id] for the first only alphanumeric part of current alert name
- Added ability to set the side for unified alerts from custom plot data via %%",side:{{plot_x}}"%%
  (if you have separate plots for long/short use %%",side:{{plot("Long")}}:{{plot("Short")}}"%%)
- Added custom plot data as quantity multiplier (via qref=_name / qref=customx) (further fixes @
- Added custom plot data names via %%",name:{{plot_x}}"%% (use with priceref=_name etc.) (further fixes @
- Added expiration/timeout option to symbol locks
- Made repeat filter work independent of alert (optional, when "No Repeat" is *unchecked*!)
  (alert will only fire if there was no alert fired on the same symbol within given time window)
- Made "Solo per Bar" filter option work for multiple alerts triggered by the same name
- Fixed "Once per Bar"/"Solo per Bar" always filtering over two consecutive bars
- Optimized memory usage (especially for higher number of commands run)
- Code restructuring & optimization for improved command execution and API request speed
- Fixed PV startup failing when log database can't be opened for writing
- Fixed command parameters like {p} not working in custom notifications anymore (further fixes @
- Changed "don't log" alert option into log level selection drop down
- Added Ctrl+Shift+UP/DOWN hotkey to navigate alerts in alert editor
- Fixed alert selection state in alert editor when not using "expand one at a time" option
- Fixed symbol browser for defaults under General Options not working
- Changed API test function to only check account balance (less warning messages)
- Changed symbol info cache time setting to hours (default 72h)
- Fixed TV strategy tester export breaking copy & paste function
- Fixed option to disable "Study Repaints" warnings for indicators in TV
- Fixed Telegram error 400 caused by unescaped single underscore characters @
- Further performance improvements and reduced package size @
- Binance Futures: Added support for close-only orders/stops without quantity (further fixes @
- Binance Futures: Added basic hedge mode support (position side via posside= option) (further fixes @
- Binance Futures: Fixed advanced order cancelation filters (t=open/close/limit, sl=1, tp=1, ts=1, r=1) @
- Binance Futures: Added support for trailing stops (callback rate via cbrate= option)
- Binance Futures: Fixed custom plot data not available for non-closing orders
- BitMEX: Added support for advanced order cancelation filters (t=open/close/limit, sl=1, tp=1, ts=1, r=1) (@
- BitMEX: Added support for time in force option (via type=fok/ioc/day)
- Bybit: Fixed "cannot set TrailingStop" error (close=position ts=xxx)
- Bybit: Fixed "param validation for order_status failed" error (cancel/check order for USDT) (further fixes @
- Gemini: Corrected time in force option IOC and added support for FOK (fill or kill)
- Kraken: Fixed order type "settle" not working
- OANDA: Fixed order type "day" not working
- Poloniex: Fixed error when calculating margin balance

Download – 27/4/2020
- Fixed broken alert import for "Import Config" function


1.2.85 – 20/4/2020
- Enabled quantity and leverage parameters to be set as default in syntax (be careful with following close position commands etc.)
- Fixed unified placeholders (side etc.) not being replaced on interval alerts (filled with first side in name!)
- OANDA: Improved balance/instrument currency conversion (fixing relative quantities & position info)
- SimpleFX: Added realtime PnL calculation for position info (via ch=position updateprice=1)
- SimpleFX: Improved balance/instrument currency conversion (fixing relative quantities & position info)
- SimpleFX: Added use of "delete" endpoint when possible to close positions (preventing "no money" error)
- SimpleFX: Fixed SL/TP calculation for positions made from multiple orders
- SimpleFX: Fixed bug introduced in PV 1.2.81 causing "unauthorized" errors (further fixes @ 1.2.85)
- Bybit: Fixed wrong balance being used for quantity calculations for BTCUSDT market (due to API changes)
- Bybit: Added workaround for "unknown result" error when setting leverage on BTCUSDT market


1.2.83 – 14/4/2020
- Fixed broken position size check (minsize/maxsize)
- Changed default for plref syntax option to "lev" (leveraged PnL)
- OANDA: Added check for instrument leverage limit and improved quantity calculations
- OANDA: Corrected leverage and PnL calculations for position info
- ByBit: Added support for new USDT market endpoints (experimental!) (further fix @ 1.2.83)
  (PnL calculations for USDT require ticker query, invoke via ch=position updateprice=1)
- ByBit: Added support for changing SL/TP specified with main open order (via c=position q=100% t=market sl=x tp=x)
- ByBit: Corrected relative PnL % calculations for pos/lev/total position info
- ByBit: Fixed "insufficient margin" error sometimes occuring on position close


1.2.81 – 8/4/2020
- Fix for lifetime licenses "expiring" on 8/4/2020 (please re-enter your license!)
- Upgraded to new CoinMarketCap API (enter API key under "General Options")
- Added position opening time to position info where available (BitMEX resets hourly)
- Fixed bar time/position for very long and sub-minute timeframes
- Fixed balance sometimes not available or wrong currency in notifications
- Fixed session notification statistics not being reset
- Rewrote TV event hook (addon) for compatibility with recent TV updates
- Improved TV event stream stalling detection and fixed permission denied errors
- Several app log viewer fixes (updating too much, showing too many entries)
- Binance: Added checks for minimum order quantity and minimum notional
- Binance Margin: Fixed mt=borrow and mt=repay not working
- Binance Futures: Added workaround for error when changing margin type (mt=)
- BitMEX: Reduced number of API calls for order cancelation and position checks
- BitMEX: Fixed showing position side instead of order side in log
- FTX: Fixed currency unit option (u=currency) for spot market instruments
- SimpleFX: Fixed quantity calculation for positions made up of multiple orders
- SimpleFX: Fixed error message for wrong or missing trade permissions


1.2.79 – 25/2/2020
- Added highlighting of current selected alert in alert editor
- Fixed lock/unlock commands in syntax not working
- Fixed dollar sign ($) being removed or decimated in PV alert names on loading


1.2.78 – 21/2/2020
- Added syntax command to query and check CMC price change data
- Added support for SimpleFX broker (beta)
- Optimized syntax editor screen space usage
- Added seperate run/test alert buttons for long and short (unified alerts)
- Added stop price reference option to base stop on main order price (slref=price etc.)
- Optimized performance of PV alert editor (recommended to keep most alerts minimized)
- Added context menu command to copy/paste PV alerts in JSON format
- Added event source mapping of BINANCE:XXXPERP to BINANCEFT:XXX
- Added entry price to position info
- Added last slippage info to PV alert stats
- Added option to use current time for alert received / fired info (instead of TV event data)
- Added setting to specify interval fire offset (seconds after full minute)
- Added info about unified alerts under "Setup: Commands"
- Adapted TV indicator dialog styling fixes after update
- Fixed newlines in config export on Windows
- Increased popup window size
- Deribit Testnet: Fixed authentication errors
- FTX: Relaxed instrument name lookup (BTC-PERP vs BTCPERP)
- OANDA: Fixed check position command


1.2.75 – 6/2/2020
- Added option to ignore syntax errors in legacy alerts (found under "General Options")
- Bitmex: Fixed quantity calculations for symbols using multiplier (XRPUSD etc.)


1.2.74 – 2/2/2020
- Added symbol browser to exchange pages (requires valid account for OANDA!)
- Added exchange/symbol browser quick insert/replace to syntax editor (via context menu)
- Added custom context menu to alert editor
- Added exchange syntax alias to exchange pages
- Added alert repeat filter option to check for name differences (vs alert id only)
- Added syntax option to specify which PnL type to check (plref=pos/lev/total - pos being default)
- Fixed order/position check conditionals in loops not triggering in same cases
- Fixed multiple account processing in loops sometimes failing
- Improved repeat filter to work within bar time (was previously using bar time only vs fire time)
- Binance Futures: Added support for reduce only stops
- Binance Futures: Added option to switch between isolated and cross margin (mt=isolated/crossed)
- Binance Futures: Added cancel all and batch/bulk cancelation API calls
- Binance Margin: Added option for auto borrow/repay order flag (mt=borrow/repay)
- Bybit: Fixed bulk order cancelation for t=open/close
- Bybit: Fixed wrong book side printed in log for c=position (further fix @ 1.2.74)
- Bybit: Added support to place trailing stop via c=position ts=x (@ 1.2.74)
- FTX: Fixed pr=pos option and added new pr=even option (last break even)
- FTX: Fixed bulk order cancelation canceling orders for all symbols
- FTX: Fixed trailing stop placement (via c=position ts=x)
- OANDA: Added support for u=currency option


1.2.71 – 1/1/2020
- Enabled time/maxtime parameter to be set as default in syntax
- Binance: Fixed quantity precision error occuring for some symbols
- Bybit: Fixed endless loop when certain amount of past orders was reached (further fix @ 1.2.69)
- Bybit: Fixed leverage error message (leverage was still set correctly)
- Deribit: Corrected testnet URL/API endpoint (fix @ 1.2.71)
- FTX: Fixed quantity calculation for spot market sell (further fix @ 1.2.70)


1.2.67 – 14/12/2019
- Added support for Binance Futures
- Added ticker data to notifications, enabling use of eg. {ask}, {last} etc.
  (Note: Cached ticker data is used so depending on the type of command up=1 might be necessary!)
- Added pre-filled notification variables {pnl}, {pnlLev}, {pnlTotal} and {relSize} for positions
  (pnl = abs P/L% for the position, pnlLev = incl. leverage (similar to ROE), pnlTotal = in relation to balance)
- Added access to general position info for notifications on c=position commands (instead of just the closing orders)
- Fixed alert editor UI not reflecting when alerts are disabled/enabled via syntax
- Fixed interval settings not updating in UI when changed via syntax
- Fixed option to always keep the PV options page open
- Further unified and fixed position P/L calculations
- BitMEX/Bybit: Implemented querying of current leverage when none specified
- Bitfinex: Fixed error when converting balance for non-USD pairs
- Bybit: Updated code to use new order API v2 and implemented support for bulk order cancelation (further fix @ 1.2.67)
- FTX: Fixed bulk order cancelation and unique IDs for position close
- OANDA: Fixed relative SL/TP/TS calculations for positions with multiple orders
- OANDA: Fixed SL/TP/TS info not accessible in notifications

1.2.65 – 10/12/2019
- Added support for FTX exchange (beta)
- Added leverage info for order placement, when changing leverage or checking positions
- Fixed relative position size sometimes not showing in check/close position info
- Added command pass number to unique order ID to avoid duplicate orders in loops
- Added number of passes (counts) that a command is being executed to the log
- Updated TV user interface "fixes"
- OANDA: Added calculation of correct position leverage
- OANDA: Added query of/info about account leverage (no need to specify leverage for relative quantities)
- OANDA: Added support to set account leverage via l= syntax and order type GFD (Good For Day)
- Gemini: Fixed API communication error preventing access

1.2.64 – 5/12/2019
- Added fire offset info (event slippage) to "alert received" log message
- Disabled retries for duplicate order ID errors
- Fixed wrong syntax highlighting for certain command parameters
- BitMEX/Deribit: Fixed order check syntax accidentally bulk canceling orders
- Bybit: Fixed order cancellation not working anymore after API update

1.2.63 – 27/11/2019
- Added general support for absolute prices to all price options via @<number> (eg. p=@7000)
- Added support for positive numbers written in syntax with leading "+"
- Added OHLC data to {} notification placeholders (eg. {close} for close price)
- Fixed non-sensical TV OHLC data always being "detected"
- BitMEX/Bybit/Deribit/Kraken/OANDA: Added new parameters to specify different price bases for stops (slref/tpref/tsref)
- BitMEX/Bybit: Leverage is now set via API only if l= option is present in command!
- Bybit: Added support to place stops independend of any position with new stop order parameter (so=)
- Bybit: Added support to switch to cross margin via API with l=0
- Bybit: Added support for stop reference (sr=) option
- Bitfinex: Fixed market order error caused by API change

1.2.62 – 8/11/2019
- Added support for new OHLC and custom plot info from TV by adding the following as the LAST line in the 
  TV alert description: "#{{open}},{{high}},{{low}},{{close}},{{volume}}" (without quotes!)
  Those prices can then by referenced in syntax via pr=open or pr=close etc.
  (to use custom plotted prices add ",{{plot_0}}" etc. to the line above and use via pr=custom1 etc.)
- Added support to call multiple PV alerts from one TV alert by putting their names line after line in the 
  beginning of the TV alert description
- Added command aliases go= and do= and added the option "back" for jumps/conditionals to resume execution 
  after the original calling command
- Added relative position size and leveraged PnL % info to position info log output
  (and removed additional details that were basically a duplicate of the debug output)
- Added {pnlLev} and {roe} notification placeholders (roe only available on BitMEX for now)
- Added option to disable logging completely per alert (useful for interval alerts running quite often)
- Fixed calculation of relative position size for min/max position checks
- Fixed wrong quantity, price etc. being calculated sometimes after jumps/conditionals
- Fixed setting defaults to zero via syntax not working (retries=0 etc.)
- Fixed PV alert still firing on intervals even when it was set to "disabled"
- Fixed error when setting alert interval via syntax

1.2.61 – 22/10/2019
- Added live syntax checking including error/warning markers to PV alert editor (fix for "foreign" chart alerts @ 1.2.61)
- Implemented drag and drop / custom order support for PV alert UI
- Added descriptive command aliases to syntax parser incl. notification syntax ("discord" instead of "d" etc.)
- Improved interval config UI (launched by "Edit interval" button)
- Added name/syntax search functions and further sort options to PV alert UI
- Implemented custom jump labels for err/skip syntax options (including jumping back/looping)
- Added syntax command to enable/disable (or toggle) any PV alerts
- Added syntax command to configure interval runs for any PV alerts
- Added syntax options to check P/L (minpl/maxpl) and size (mins/maxs) of a position on all margin exchanges
- Added syntax command to check existing positions/orders more easily (ch=/check=) (see Setup: Commands!)
- Added syntax conditional commands ifo/ifn, including support for jump labels (see Setup: Commands!)
- Added new error handling options incl. aliases and new ep= parameter for "on error" closing limit price
- Added pause/resume/stop buttons in log view to temporarily pause or forcefully terminate all running alerts
- Added comma separated list support to p, sl, tp, ts for targeting different accounts with a/ap
- Changed log output to use original syntax line number instead of the command number
- Changed syntax parser to make "ub" or "r" (without =) equivalent to "ub=1" / "r=1"
- Added notification variable {pnl} for ch=position command notifications
- Added notification variable {time} containing current timestamp (old {time} variable is now {bartime}!)
- Added number of errors to per alert stats
- Added option to auto collapse all but the current alert in PV alert UI
- Fixed counting of actual number of executed commands for stats/log instead of total commands in alert
- Fixed wrong end date sometimes being shown for monthly subscriptions
- Fixed some log entries sometimes not being written to DB (under load)
- Added support for Binance US
- BitMEX: Added support to place SL/TP "close all" stops without a position (r=1 q=100% / no q=)
- Deribit: Added use of "close position" API command for c=position (q=100% / no q=, no b=)
- Deribit: Fixed error for c=position without b= when no position was open
- OANDA: Relaxed instrument name lookup ('_', '-' and '/' are removed internally)
- BitMEX/Bybit/Coinbase/Deribit/OANDA: Added checks for minimum trade size (Bybit also minimum price)
- BitMEX/Bybit: Fixed permission error on older Chrome versions
- !BREAKING CHANGE! BitMEX/Kraken: Stop orders (not using c=position but any of tp/sl/ts) are now placed on 
  the side defined by b= instead of the opposite direction! (unified behaviour)

1.2.58 – 23/9/2019
- Added pc=1 syntax option to skip ticker query and use last cached ticker update instead
- Added up=1 syntax option tp use newly added internal ticker cache and save current ticker query to it
- Added bc=1 syntax option to skip balance query and use last cached balance for an exchange/account
- Added internal order id cache for exchanges without native custom order id support
  (enabling id= syntax for Bitfinex, Bittrex, Coinbase Pro, Kraken, OKCoin, OKEX and Poloniex)
- Fixed "no repeat" alert filter not working when first matching alert was disabled
- Added built in notification option to format notifications "horizontally"
- Added stronger "muting" of disabled alerts in alert editor
- Started unification of all exchange modules
- Bitfinex, Kraken, OKEX, Poloniex: Added pr=pos for position average (with c=position)
- BitMEX, Deribit: Added pr=mark for mark price
- Bybit: Added new ticker API supporting ask, mid, bid, last, mark and index price (further fixes @ 1.2.58)
- Bybit: Fixed order cancelation error (when no previous stop orders were created) (further fixes @ 1.2.57)
- Deribit: Fixed c=position d=1 (disabled mode) for conditional syntax
- Deribit Testnet: Updated endpoint to new URL
- Kraken: Added support for c=position with sl/tp options

1.2.53 – 2/9/2019
- Added built in notification options to include/exclude balance, quantity or leverage
- Added metrics about sent notifications to the statistics page
- Added notification variable {leverage} to print the used leverage or "None"
- Added notification variables {available} and {total} to reference only available or total balance
- Binance: Added support for OCO orders (specify both tp= and sl= together, use p= for the stop-limit price!)

1.2.52 – 23/8/2019
- Binance: Added syntax commands for margin/spot balance transfer and loan/repay of assets
  (eg. tb=btc,bnb q=50% y=spot to transfer 50% of your BTC and BNB from spot to margin,
  loan=btc or repay=btc and q=x for loan/repay of x amount BTC)
- Deribit: Added syntax command for subaccount balance transfer
  (eg. tb=btc,eth q=25% y=mysub to transfer 25% of your BTC and ETH balance from the current account 
  to a subaccount with the alias mysub) (further fixes @ 1.2.52)
- BitMEX: Closing orders (c=position) will now always ignore already open orders for quantity calculations(!)
- Optimized screen space of minimzed alerts in UI
- Fixed auto interval configuration for "every minute" intervals

1.2.50 – 16/8/2019
- Fixed minb/maxb syntax options to work with y=equity
- Added number of placed/canceled orders to log & notifications when more than one
- Binance: Added preliminary support for new margin trading market
- Bybit: Added support for reduce only limit orders (layered TP eg. c=position q=25% p=2% r=1)
- BitMEX: Corrected final closing order for layered TP orders (further fixes @ 1.2.50)
- Deribit: Fixed bulk order cancelation

1.2.46 – 9/8/2019
- Fixed d=1 in a line by itself (setting defaults) not being respected
- Fixed per alert stats sometimes not updating and refreshing correctly
- Bybit: Added support for trailing stop (current API only permits it as ts=value with main position order)

1.2.44 – 7/8/2019
- Added user interface to configure intervals for auto firing alerts
- Added minp/maxp syntax options to specify absolute limits for price
- Added syntax placeholders [res] for the alert timeframe and [name] to use the triggering name anywhere in syntax
  (eg. custom symbol names for lock/lockcheck, custom order IDs, notifications etc.)
- Added total number of run commands and empty alerts to the statistics page
- Added number of errors, warnings and retries to the statistics page and fixed stats not resetting correctly
- Fixed alert stats not updating automatically while alert page is open or when alerts run on intervals
- Fixed per alert stats not being tracked correctly
- Added reset button for per alert statistics
- Added option to set minimum alert run time before alert is tracked for run time stats
- Added option (default enabled) to count manual run alerts in syntax time stats
- Fixed wrong display of durations that were exactly 1 minute, 1 hour or 1 day
- Added warning to "Run in intervals" alert option
- Fixed origin header errors for some exchanges caused by Chrome v76 update
- Fixed "unhandled exception" error sometimes occuring after alert fired
- Bitfinex: Fixed "Key amount should be a decimal string" error (1.2.43)
- Bybit: Fixed "same leverage" error introduced by API change
- Kraken: Fixed time offset check

1.2.41 – 4/8/2019
- Added scheduler for PV alerts to automatically fire any alert in custom configurable intervals / schedules
- Added minq/maxq syntax options to specify absolute limits for order quantity (always in contracts or native "currency")
- Added very detailed "Statistics" page with internal metrics covering all aspects of PV
- Added option to automatically restart PV after set time period (optionally extended if alerts are running)
- Added alert filter option to specify both min amount of (once per min only) and min position in bar (also for legacy)
- Added stats about last/min/max/average syntax execution time, fire/manual run numbers and creation date to PV alerts
- Added option for maximum time allowed to pass between firing and running of alerts
- Added option to limit maximum alerts running in parallel
- Added logging of manual and automatic restarts
- Added automatic reloading of options window after remote config update (sync)
- Added option to log view to disable automatic scrolling
- Fixed instabilities caused by too many log entries (limiting log view to last 1000 entries)
- Fixed download of log with many entries failing (auto-splitting in 1MB chunks)
- Fixed "Once per Bar" filter sometimes filtering over two bars
- Added support for using the equal sign in custom notification messages
- Fixed some TV listener errors occuring under rare circumstances
- IFTTT Notifications: Added support for custom data using the "value1" field
- Coinbase Pro: Fixed price precision errors for certain order types
- Bybit: Added support for non-BTC markets / symbols
- Kraken: Complete rewrite fixing regularly occuring error

1.2.32 – 11/6/2019
- Added new alert filter option "Solo per Bar" restricting alerts to one alert per bar per symbol
- Coinbase Pro / Kucoin: Fixed order quantity calculations for buy orders (further fixes @ 1.2.32)
- Bybit: Fixed order cancelation error caused by API changes
- BitMEX / Bybit / Deribit: Fixed error causing order cancelations to sometimes execute even in testing mode

1.2.29 – 7/6/2019
- Migrated log from local storage to WebSQL for much longer retention
- Changed all internally saved timestamps to UTC (displayed according to local timezone)
- Fixed "command.time.reference" error sometimes occuring when using notifications
- Fixed error causing notification features not to work for monthly subscription
- Added display of license expiration date for monthly subscription
- Added option to disable modification of indicator "Settings" and "Edit Alert" windows on TradingView
- Added command number besides alert id to further uniquify custom order ids
- OANDA: Fixed quantity calculations for matching account/symbol currency and price calculations for trailing stops
- Coinbase Pro: Fixed price precision and unknown market errors occuring with some symbols and added SL/TP support
- Bybit: Fixed "bind error" for reduce only limit orders (r=1 is currently only supported for stop orders on Bybit)
- KuCoin: Added support for current API version, newer symbols (incl. caching) and added KuCoin Sandbox
- Gemini: Added support for newer additional symbols

1.2.26 – 26/5/2019
- Binance: Fixed market order error (fixed @ 1.2.26)
- OANDA: Fixed quantity calculation sometimes failing (when not necessary)
- Bybit: Closing orders of at least 100% will be set to "close on trigger" automatically (fixed @ 1.2.25)
- Bybit: Added support for reduce only option
- BitMEX: Fixed price reference option pr= not being used for stop prices (sl/tp/ts)

1.2.23 – 23/5/2019
- OANDA: Fixed quantity calculation for relative buy in based on unit price and account currency (q=%)
- Fixed deletion of PV alerts sometimes not working
- Fixed error preventing ap= syntax from working
- BitMEX: Fixed error introduced by c=position load shedding workaround

1.2.21 – 22/5/2019
- Added beta support for Bybit
- Added monthly subscription as alternative licensing option
- Added side of the book placeholders ([side], [!side], [+], [-]) to PV alert syntax that are "auto guessed"
  from the alert name and can be used to handle both long & short or buy & sell with only one alert
  that has two names assigned (eg. "BTC Long, BTC Short")
- Added new syntax option time= to define maximum elapsed time since firing of alert
  (can be specified either as absolute amount of seconds or % of bar time)
- Fixed Discord notification formatting on iOS (Note: works only when the padding option is disabled!)
- Added average price to notifications if different from main price
- Fixed PV alerts not being removed from sync when switching to local storage
- Fixed log filter options for events and orders
- Changed syntax so lockcheck command can be used by itself now
- Fixed bug that sometimes caused hangs when using skip=-1
- Changed "Min Bar %" filter to allow for sub-percent precision
- Enabled "Always use Event Stream" option by default
- BitMEX: Added support for bulk order cancelation (further speeding up entries)
- BitMEX: Removed order quantity for closing orders of at least 100% (thus exempt from load shedding!)
- Deribit: Fixed order cancelation for non-BTC markets
- Deribit: Added support for bulk order cancelation (further speeding up entries)

1.2.19 – 27/4/2019
- Added option to save alerts in local instead of sync storage to lift size restrictions
  (Note: disables syncing of alert definitions!)
- Added better error handling when alerts get too big for sync storage
- Fixed min bar time filter sometimes not working and not saving/loading correctly
- Changed filtering for bar open to 0-3% and bar close to 97-100% respectively
- OANDA: Fixed multiple errors preventing c=position from working
- OANDA: Added parsing/saving of order confirmations

1.2.17 – 19/4/2019
- Added OANDA and OANDA Practice support (incl. custom order ids)
- Added option to specify multiple custom ids with id= via comma separated list (for c=order)
- Added built in notification option for less verbose notifications
- Added syntax to run an alert parallel for multiple accounts (ap=)
- Added alert option to run in parallel instead of consecutively when sharing a name
- Added support to specify q= and l= values per account via comma separated list (when using a=/ap=)
- Fixed retry for multiple accounts sometimes not working
- Fixed notifications for multiple accounts sometimes not working
- Fixed notifications & retries for "Event Stream only" connection problems/recovery
- Made repeat filter compatible with multiple alerts sharing a name
- Added exchange, symbol and time to the icon tooltips "last event" info
- Added more and easier to see tooltips to the options page and popup window
- Fixed several causes for "Unknown Error" in main event process
- Added option to disable "study repaints" warning in TradingView
- Deribit: Added support for multiple base currencies (ETH)
- BitMEX: Fixed custom order id sometimes not being unique
- OKEx: Fixed error in account balance query

1.2.14 – 17/3/2019
- Added additional stalling notification for Event Stream connection problems
- Deribit: Fixed order error caused by typo
- BitMEX, Deribit: Added additional price reference option pr=pos to force use of position average
- BitMEX, Deribit: Added syntax option sr=x to specify price reference to set for stops (last, mark, index)

1.2.13 – 15/3/2019
- Added syntax minhvd/maxhvd etc. to check BitMEX volatility indices (daily, weekly, monthly)
- Added option to always use Event Stream system to receive TV alerts (even when TV tabs are open)
- Added option to show number of fired or received alerts as badge on the icon
  (reset by clicking the icon or "Reset" button under "General Options")
- Added info on last run alert to icon and popup last success/error tooltips
- Added info on TV connection state to icon tooltip
- Added syntax command to update exchange/account balance (ub=1)
- Implemented popup window balance refresh function
- Implemented ret=x for "disabled mode" making commands like the following possible:
  "c=position d=1 ret=-1 skip=-1" will skip the whole alert if an open position is found
- Implemented skip=-1 as an option to skip all of the following commands in an alert
- Implemented ret=0 as an option to check for NO positions/orders returned
- Made error handling / ret=x work per account for a=acc1,acc2,... syntax
  ("ret=x err=1" will skip commands only if ALL accounts didn't return enough orders)
- Fixed a bug that made a=acc1,acc2,... syntax fail under certain conditions
- Added lock/unlock and checking of lock state to syntax via "lock=..." command
- Added alert option to run only if symbol is locked
- Added manual lock/unlock functions to the alert editor (and clear all locks under "General Options")
- Added information about lock states to the alert editor via lock button
- Removing an alert will now also remove it's lock
- Added lock ignore option to alert editor/filter engine
- Alerts are now sorted by their creation date in UI and for execution (custom order in a later update!)
- Changed global "testmode" to global disable/pause mode (no alerts are run)
- Adapted indicator settings window optimizations to new TV update/redesign
- Fixed bug in error handling (err=-2) that sometimes prevented it from closing positions
- Deribit: Added support for reduce only orders (r=1)
- BitMEX: Added support for trailing profit (IfTouched) orders via "tp=x ts=1" syntax (needs experimentation!)
- General speed optimizations

1.2.10 – 22/2/2019
- Quickfix for nonce errors (Bitfinex in 1.2.10)
- Added filter option to lock/unlock alerts per symbol, useful for multi timeframe strategies etc.
- Added option to skip retries for ret=x syntax parameter (using a negative number for x)
- Fixed/implemented a=acc1,acc2,... syntax to work correctly, also for setting alert defaults
- Implemented min bar time alert filter (for once per minute)
- Account balance info is now also removed on account deletion
- Added order type (buy/sell) to built-in notifications
- Added number format option to custom notification fields eg. {p.2} for 123.45 or {p.0} for 123
- Added notification option to include alert timeframe/resolution
- Added notification option to use alert name as notification title
- Added notification option to specify buy/sell emojis
- Added hotkey support to the options page for config import/export, saving, run/min/max alerts etc.
- Added syntax to skip (goto/jump) given number of commands
- Added spinner status info while waiting for email notification permission
- Fixed "Once per Bar" filter to work for alerts (re)used accross different symbols
- Allow fractions of seconds for delay command
- Added small run/test buttons to minimized alerts
- Added muted background for disabled alerts in alert editor
- Added minimize/maximize all buttons to alert editor
- Added button to purge all cached balance info to "General Options"
- Fixed exchange options page formatting error
- Added price/quantity etc. to built-in notifications for exchanges without order confirmation
- Bittrex: Fixed cosmetic error message on order cancelation

1.2.7 – 12/1/2019
- Minimize/maximize alerts by double click in alert editor
- Fixed "NaN" in balances popup window for some exchanges
- Fixed PV options tab opening with no PV alerts defined when "keep options page open" is checked
- Bittrex: Fixed "unknown market symbol" error

1.2.6 – 8/1/2019
- Quickfix for startup notifications not being sent
- Quickfix for built in cancelation notifications sent even when disabled
- Quickfix for BitMEX/BitMEX Testnet permission not granted issue
- Quickfix for "trying to refresh access token" reload loop when no TV tab open
- Complete overhaul of internal TradingView Event Stream system, fixing missed or duplicate alerts etc.
- Added option to format built in notifications with padding
- Added options to add account name or used exchange to notifcations
- Fixed built in notification system (sometimes prefixing messages with "Info" etc.)
- Added syntax to check for min/max account balance before running command
- Added option to always leave the ProfitView settings page open
- Fixed Google Sync remote updates sometimes detecting too many changes
- Added log info about which instance last saved settings and when
- BitMEX: Adding event id to custom order id to fix "duplicate" error
- Binance: Added support for custom order id (with event id suffix)
- Coinbase Pro: Added support for custom order id (with event id suffix)
- Deribit: Added support for custom order id (with event id suffix)
- Gemini: Added support for custom order id (with event id suffix)
- Bittrex: Fixed "symbol not found" error

1.2.2 – 21/12/2018
- Added additional error handling syntax options err=-3 and err=-4
- Final fix for error handling syntax err=-2 not closing and canceling correctly
- Fixed variables in custom notification messages causing endless loop/hang eg. "{price}"
- Fixed timeout not being set if only retries=x specified in syntax
- Fixed email notification credentials expiration (automatic token refresh)
- Added "\n" (newline) and "\t" (tab) escape sequences to custom notification syntax
- Fixed double reload of TV tabs on manual reload in some circumstances
- Fixed TV listener error message on startup in some circumstances
- Added command number and account info to event log entries
- Adjusted Chrome minimum version requirement in manifest to v54
- Improved reloading of TV addon components on updates

1.2.1 – 20/12/2018
- Implemented Email, Discord, Telegram and IFTTT notifications for startup, order placement, cancelation, errors and
  stalling/timeout including custom notifications via syntax
- Fixed price and quantity calculations for multiple account syntax (a=acc1,acc2,...)
- BitMEX: Added support for custom order IDs via id=abc syntax incl. filtering and fixed API check with empty balance
- Binance: Added support for new pairs and fixed caching issues
- Bitfinex: Added support for normal SL/TP syntax
- Bittrex: Added support for new pairs and added symbol info caching
- Coinbase Pro: Fixed symbol info caching and updates
- Deribit: Updated API order options
- All exchanges: Added general option to change symbol/market info cache duration and added price/quantity sanity checks
- Fixed balances in popup window being cut off on some browsers
- Fixed error handling syntax err=-2 not closing positions and canceling orders
- Changed log type of balance updates to notice and added filter for them

1.2.0 – 9/12/2018
- Added syntax options to specify retry & timeout per command
- Fixed error that kept ret=x syntax from working correctly sometimes
- Added repeat filter reset button
- Added repeat filter expire options
- Split alert filter mid bar section into two separate areas
- Quick log filter options to show only alerts+orders and/or only errors
- Added warning dialog to "dangerous" options
- Configuration import can now also process JSON containing only alert definitions
- Added option to disable confirmation for manual alert run (caution!)
- Changed TV addon to make all indicator parameters visible in alert edit dropdown
- Changed TV addon to make the indicator settings dialog waste less space
- All binary/unicode characters are now automatically removed from API key/secrets
- BitMEX: Option pr=last is now using correct last price
- BitMEX: Better error messages when p or q parameters possibly faulty
- BitMEX: Outstanding limit orders are now ignored for c=position in case of t=market or q>=100%!
- Deribit: SL/TP close orders now use the average position price unless pr option is specified
- All Exchanges: Added log output in case all open positions don't match for c=position – 9/11/2018
- Binance/Bitfinex/Deribit: Changed symbol info cache timeout from 15 min to 3 hours to reduce API calls and delays
- Binance: Symbol info now cached, reducing number of API calls, delays and data transfer quite a bit
- All exchanges: Implemented command option "pr" to force a price reference (ask / bid / mid / last),
  option "mid" calculates the average of ask & bid price, "last" uses the last trade price
- Deribit: Fixed cancelation of stop orders (SL & TP) – 9/11/2018
- Fixed error that made order placements fail for some exchanges (eg. Bitfinex)
- Binance: Fixed order amount calculations
- Deribit: Added leverage option (multiplying contracts) and fixed closing of short positions – 7/11/2018
- Deribit: Fixed calculation for u=currency and absolute q values / fixed precision / fixed SL & TP – 7/11/2018
- Added Deribit and Deribit Testnet support
- Improved last order success/error info in popup window
- Bitfinex: Added more supported pairs
- BitMEX: Removed OCO, OTO, OUOA and OUOP options from orders as per "contingencyType" deprecation announcement
- BitMEX: Fixed u=currency and absolute order quantity as per "SimpleOrderQty" deprecation announcement – 29/10/2018
- Added handshake with confirmation in log when remote Sync Storage configuration changes were picked up
- Bitfinex: Fixed "Invalid order price precision" error
- Binance: Fixed account balance query error
- Fixed alert last received/fired info not updating live anymore – 28/10/2018
- Added option to load remote configuration changes from Google Sync Storage (alerts & exchange options)
- Added information about defaults being used to manual alert run confirmation
- Added option to maximize the list of last accessed balances in the popup window
- Added option to minimize alerts in the local alert editor
- Removed restriction on number of alerts by saving each alert independently in Sync Storage
- Fixed buttons in UI sometimes not reacting to clicks – 28/10/2018
- Moved balance info data from synced to local storage due to size/frequency
- Improved saving of synced configuration data using less Chrome Storage API calls
- Split up handling of TradingView unsaved changes and quick reconnect into separate options
- Fixed configuration import not asking for/restoring all required Exchange permissions
- Fixed PV alert filter cache being reset sometimes and made it persistent
- Fixed error in TV/PV alert name matching
- Fixed manual alert testing sometimes running live commands erroneously
- Fixed error in balance processing causing PV popup to become non responsive – 24/10/2018
- Added alert command management in ProfitView including auto suggest and syntax highlighting
- Added the ability to execute and test alert commands manually
- Added filtering module to filter alerts within bar period, repeats etc. for both local and legacy alerts
- Added configuration import and export functionality
- Added automatic suppression of unsaved changes and quick reconnect on max devices in TradingView
- Added error handling and expected return parameters/logic to alert command syntax
- Added ability to set default account, exchange and symbol for commands both via syntax and GUI
- Added info about the last queried exchange balance to the popup window
- Added additional log output for order cancel/position close commands
- Added info on the number of executed commands to the log
- Error handling doesn't retry anymore on "internal" errors like missing API credentials
- Exchange Account names are now saved in their original case (but still work case insensitive)
- Bitfinex: Fixed price/balance calculation for non USD pairs
- Bitmex: Fixed leverage sometimes not being set correctly
- Coinbase Pro: Fixed errors for newly listed symbols
- Added more sanity checking to command syntax parser
- Added graceful error handling for most exchanges
- Lots of UI bug fixes and improvements – 28/9/2018
- Improved protection against auto tab discard of Chrome
- Added Privacy Policy – 20/9/2018
- Added further protection against auto tab discard feature of Chrome
- Fixed a bug with OKEx failing to query account balances
- Fixed a bug preventing logging of successful order placement details – 17/9/2018
- Big bugfix with loading the TV addon (interceptor), hopefully solving disconnect after reload and caching/update issues – 17/9/2018
- Fixed command retry/timeout not working under certain conditions – 17/9/2018
- Some tweaks regarding TV connection loss detection/refresh – 5/9/2018
- Fixed bug permitting Bitfinex API to work correctly
- Added info on global testmode enable/disable to log – 3/9/2018
- Fixed second problem of command parameters changing between retries – 30/8/2018
- Fixed error of command parameters changing between retries
- Some TV connection loss detection tweaks – 30/8/2018
- Several minor changes to TV reload logic and changed default to disabled – 30/8/2018
- Fixed a bug that kept error retry and timeout from working
- Fixed a bug that kept TradingView reload after timeout from working
- Added event trigger and fire timecodes to log output – 29/8/2018
- Added function to save/download the log
- Alert commands can now have comments with everything after "#" being treated as a comment
- Added option to disabled all commands globally (Testmode) including a button in the popup window
- Added available balance/equity info to log output
- Added Coinbase Pro Sandbox support
- Added option to reload TradingView tabs after time of inactivity
- Added option to open/reload TradingView tabs in case of connection loss
- Added option to disable reloading of TradingView tabs on update/restart
- Error retry and timeout now working and not duplicated anymore per account (settings are per exchange!)
- Added CSS injection to widen the Condition drop down in the Alert Dialog on TradingView
- Bitmex: Fixed ETHUSD calcuations and linked order cancelations
- Fixed last error and success info not being updated in popup window – 15/8/2018
- Fixed 'orderID' error message on closing of orders/positions
- Fixed Poloniex test command – 2/8/2018
- Added support for the Gemini Exchange
- Added CSS injection to widen the Alert Dialog on TradingView
- Added info on last successful and last failed actions (with timestamps) to the menubar popup window
- Added a restart button on the live log page to force a reload of the extension manually
- Improved the live log with message size limits, better formatting, improved scrolling and more options (that are saved now)
- Tightened the requested exchange permissions for better security!
- Improved saving of configuration and permissions – 31/7/2018
- Quickfix: decreased log retention due to Chrome LocalStorage size limitations!

1.0.4 – 28/7/2018
- Overhaul of popup window with easier access to the Settings window
- Added numerous additional debug and status metrics to the log
- Added persistent application log
- Added as a payment option
- Added navigation in Settings window (direct linking to log viewer, browser back/forward/refresh etc. working) – 28/7/2018
- Fixed saving of permissions and unlock state!
- Fixed accidental duplication of API key if it was renamed

1.0.3 – 22/7/2018
- Added Coinbase Pro support

1.0.2 – 22/7/2018
- Fixed bug preventing communication with TradingView in some cases
- GUI changes

1.0.0 – 9/7/2018
- Initial release