This is an old revision of the document!
Current Update
ProfitView 1.2.90.9: (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
- 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
Previous Versions
1.2.90.8 – 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 @ 1.2.90.4) - Added custom plot data names via %%",name:{{plot_x}}"%% (use with priceref=_name etc.) (further fixes @ 1.2.90.8) - 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 @ 1.2.90.2) - 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 @ 1.2.90.8 - Further performance improvements and reduced package size @ 1.2.90.8 - Binance Futures: Added support for close-only orders/stops without quantity (further fixes @ 1.2.90.1) - Binance Futures: Added basic hedge mode support (position side via posside= option) (further fixes @ 1.2.90.6) - Binance Futures: Fixed advanced order cancelation filters (t=open/close/limit, sl=1, tp=1, ts=1, r=1) @ 1.2.90.8 - 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) (@ 1.2.90.8) - 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 @ 1.2.90.7) - 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
1.2.85.1 – 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
1.1.0.20 – 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)
1.1.0.18 – 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
1.1.0.17 – 7/11/2018 ==================== - Deribit: Fixed calculation for u=currency and absolute q values / fixed precision / fixed SL & TP
1.1.0.14 – 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
1.1.0.12 – 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
1.1.0.10 – 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
1.1.0.8 – 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
1.1.0.0 – 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
1.0.4.20 – 28/9/2018 ==================== - Improved protection against auto tab discard of Chrome - Added Privacy Policy
1.0.4.19 – 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
1.0.4.18 – 17/9/2018 ==================== - Big bugfix with loading the TV addon (interceptor), hopefully solving disconnect after reload and caching/update issues
1.0.4.17 – 17/9/2018 ==================== - Fixed command retry/timeout not working under certain conditions
1.0.4.16 – 17/9/2018 ==================== - Some tweaks regarding TV connection loss detection/refresh
1.0.4.15 – 5/9/2018 =================== - Fixed bug permitting Bitfinex API to work correctly - Added info on global testmode enable/disable to log
1.0.4.14 – 3/9/2018 =================== - Fixed second problem of command parameters changing between retries
1.0.4.12 – 30/8/2018 ==================== - Fixed error of command parameters changing between retries - Some TV connection loss detection tweaks
1.0.4.10 – 30/8/2018 ==================== - Several minor changes to TV reload logic and changed default to disabled
1.0.4.9 – 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
1.0.4.8 – 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
1.0.4.4 – 15/8/2018 =================== - Fixed 'orderID' error message on closing of orders/positions - Fixed Poloniex test command
1.0.4.3 – 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
1.0.4.1 – 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 CoinPayments.net as a payment option - Added navigation in Settings window (direct linking to log viewer, browser back/forward/refresh etc. working)
1.0.3.1 – 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