2.5.0 is here!

Change log

  • Properties and Strategies REMOVED (DO NOT SKIP)
    You will need to remove all of these properties from your current config as they have been either removed or replaced
    These properties were already deprecated in 2.4 release
  • DCA_ignore_buy_trigger
  • SOM_buy_trigger
  • ANDERSON strategy use PROFITPERCENTAGE strategy instead
  • LOSS strategy use PROFITPERCENTAGE strategy instead
  • buy_trigger use PROFITPERCENTAGE strategy instead
  • intial_cost_percentage use initial_cost = ..% instead
  • keep_balance_percentage use keep_balance = ..% instead
  • DEFAULT_rebuy_timeout use DCA_buy_timeout/buy_timeout_after_sell instead
  • price_trigger_market use price_trigger_pair instead
  • DCA_ignore_sell_only_mode, you now can enable SOM independently from PAIRS config
  • DEFAULT_reserve_amount use the GUI buttons instead or PT API
  • AUTO_CONFIG removed from PAIRS use GUI version instead
  • stop_loss_strategy use Dynamic logic in stoploss_trigger
  • traling_stop_loss_strategy use Dynamic logic in trailing_stoploss_trigger
  • trailing_buy_strategy use Dynamic logic in trailing_buy
  • trailing_profit_strategy use Dynamic logic in trailing_profit
  • trailing_profit_type use Dynamic logic in trailing_profit
  • ORDERBOOK_PROFIT_CALCULATION
  • MIN_ORDERBOOK_VOLUME_PERCENTAGE
  • MIN_ORDERBOOK_PRICE_SLIPPAGE_PERCENTAGE
  • Breaking Changes
  • remove virtual support of 15 minutes candle from Bittrex, as they do not officially support it
  • price_rise_trigger needs to be explicitly set in DCA to work there (DCA_price_rise_trigger)
  • price_drop_trigger needs to be explicitly set in DCA to work there (DCA_price_drop_trigger)
  • consecutive_buy_trigger needs to be explicitly set in DCA to work there (DCA_consecutive_buy_trigger)
  • remove unused or unpopular properties
    • offline config
    • reboot on failure PM2
    • extra logging options
  • Remove Binance Jersey code as exchange no longer exists
  • Make it so CROSSOVER and CROSSUNDER can set an offset and the indicators being looked at in the CROSS will inherit the offset value
    • CROSSOVER_offset = 1
    • CROSSOVER_fast_indicator = SMALINE (SMALINE now will be using an offset of 1) (If you define an offset directly on SMALINE it will be added on top.)
  • Removed the default values for PTADXTREND and PT24HTREND. So make sure to set up the indicators correctly
  • LOWBB and HIGHBB buying/selling direction changed.
    • LOWBB buy going down, sell moving up (See wiki for example)
    • HIGHBB buy going up, sell going down (See wiki for example)
    • use buy_strategy_direction or sell_strategy_direction to change the direction
  • DCA_stop_before_complete is now true by default if not specified
    • Set it to false in your config if you do not want to STOPLOSS your DCA before complete
  • NEW Exchanges
  • Implement OANDA (FOREX)
  • Implement KUCOINFUTURES
  • Implement FTX, FTXFUTURES
  • Implement BYBITFUTURES
  • NEW INDICATORS
  • VWMA indicator
  • PARABOLICSAR indicator
  • SMMALINE/GAIN/SPREAD/CROSS
    • This indicator is also known as RMA indicator
  • LOWKELTNERCHANNEL/HIGHKELTNERCHANNEL.
    • Same logic as LOWBB and HIGHBB. Can return actual value
  • TIMEOFDAY indicator.
    • Buy and sell based on a specific time of day / weekday
  • LINEARREGRESSION
  • RANGEFILTER.
    • Returns 1/0/-1
  • CANDLE.
    • Use this instead of abusing PDHIGH, PDLOW if you need 1 candle info.
  • CCI Indicator
  • KDJ indicator
  • DEMARKREVERSAL pivot indicator
  • PIVOTPOINT (PIVOTS) indicator
  • FIBONACCIREVERSAL (PIVOTS) indicator
  • Dynamic logic properties
    See wiki for all options and info
  • LEV. Returns current leverage of a POSITION
  • DIFF. The difference between currentvalue and bought cost (sell side only).
  • BAL, PBAL, DBAL, TCV, TTP (These are GLOBAL, as they are not different per pair)
  • SBH (Strategty Value of Last Buy History)
    • Combine with a strategy letter to retrieve the last Buy History value
  • SSH (Strategy Value of Last Sell History)
    • Combine with a strategy letter to retrieve the last Sell History value
  • PEAK (STATS-DD highest P%, Only works for PRO/Advanced license holders)
  • BOTTOM (STATS-DD lowest P%, Only works for PRO/Advanced license holders)
  • COST (Returns the position total cost)
  • AMOUNT (Returns the position total amount)
  • PCOST (PAIRS Total COST)
  • PTCV (PAIRS Total Current Value)
  • DCOST (DCA Total COST)
  • DTCV (DCA Total Current Value)
  • BPRICE (BOUGHT Price of our position)
  • Add SH (sell history) or BH (buy history) in front of properties to get the value we have for the last buy/sell of this pair
    • BT, LEV, COST,AMOUNT,BPRICE, DIFF(sell side only)
  • New Stuff
  • Performance improvement
  • Rework buy/sales data access (First time boot your profits may take a minute or 2 to display)
  • Rework stats data we sent to GUI, less front end calculation
  • Slow down auto switch config to once per minute
  • AUTO_LEVERAGE_CALCULATION (true/false) property
    • Use this in order to now have to convert your SPOT settings to FUTURES.
    • No need to change your GAIN or TRAILING values based on your leverage
    • The bot will Automagically calculate the GAIN and trailing amounts based on your leverage
  • Define candle_type for our indicators
    • Possible values (OHLC, HEIKIN_ASHI) (DEFAULT=OHCL)
    • LOWWBB_candle_type = HEIKIN_ASHI
  • add X_BUY_STRATEGY_PAIR and X_STRATEGY_PAIR
    • Use this to set the PAIR you want the indicator/strategy to be calculated over. (Handy for getting the value of BTC for a certain indicator on all your PAIRS)
  • add BUY_NOTIFICATION_FORMULA and BUY_NOTIFICATION_TIMEOUT
    • use to send a notification to your bot when a certain buy formula is true.
  • SELL_NOTIFICATION_FORMULA and SELL_NOTIFICATION_TIMEOUT
    • use to send a notification to your bot when a certain sell formula is true
  • add MAX_BUY_VOLUME property. Can have a filter based on LASTX coins too.
  • add PAIR_MAX_LISTED_DAYS property. For those people wanting to hunt new listed coins
  • Add price informaton for buy and sell strategy level x.
    • So we can query the price the levelx triggered in our dynamic formula PL1, PL2 etc.
  • As good as all indicators now support a _source property, which means you can tell them what type of price data to use when doing their calculations.
    • Default was and is CLOSE price
    • Supported _SOURCE (OPEN/HIGH/LOW/CLOSE/VOLUME/BASEVOLUME/HLC3)
    • Example: I have define my SMALINE with SMA_source=basevolume to get average volume of x amount of days
  • max_trading_pairs now can access global variables ONLY. It has no access to indicator values and such which are per pair.
  • Almost all Strategies can now use StrategyDirection to change the way the bot calculates their logic.
    • Wiki should update with DEFAULT logic
  • Change LOWBB sell logic to sell when value moves further away from your defined value closer to HIGHBB line
  • LOWATRBAND and HIGHATRBAND will work same way as LOWBB and HIGHBB logic. 1 Uniform logic for all BANDS
  • Give coin specific override priority over DCA level override (Need Testing)
    • This will prevent us from duplicating DEFAULT DCA level when doing coin specific
  • Advanced Notification will return the fiat amount based on your currency pair setting
  • Send message to discord when auto config switches your config
  • Global indicators using the Global_X_strategy_pair will become Global and can be used by Global properties (Properties without DEFAULT_)
  • trailing_buy and trailing profit now properly show DYN STATS when used with dynamic logic
  • We can now smooth (throw a moving average) on almost all our indicators. Except the XMAGAIN/SPREAD/CROSS/EXTERNAL
    • _smooth_indicator (SMA/EMA/DEMA/ETC…), _smooth_indicator_length
  • We can now get the MAX/MIN value withing a RANGE for almost all indicators except XMAGAIN/SPREAD/CROSS/EXTERNAL
    • _range_value (MAX/MIN), _range_length
  • Notification when global SOM is enabled
  • Display notification line when SL/TSL DCA not complete
  • Default add formula to GUI if users have multiple strategies and have not defined it
  • implement buy_timeout_after_negative_sell
  • implement min_buy_spread
  • implement DCA_enabled supports dynamic logic (it uses SELL strategies from pairs cause coins are there)
  • Define group(x)_pairs to create a group of PAIRS that use same logic.
    • And instead of coin specific make a property “group” specific.
    • GROUP1_pairs = ETH, ADA
    • GROUP2_pairs = LTC
    • GROUP1_initial_cost = 30
    • GROUP2_initial_cost = 14
  • Implement option to use default strategy formula in combination with levelx formula. So now either one them can be true to buy.
    • Some people want to just buy immediately
  • Introduce the pair_expires_after_days to prevent the bot from buying coins that are expiring within x days (futures quarterlies)
  • Display funding fee below profit today/yesterday etc
  • Improve Huobi performance and data processing
  • Implement CONSECUTIVE_STOP_LOSS_TRIGGER_ACTION, CONSECUTIVE_STOP_LOSS_TRIGGER, CONSECUTIVE_STOP_LOSS_TIMEOUT (SOM TRIGGER)
  • Implement LEVEL(X)_MAX_TRADING_PAIRS
    • Use to Define I only want 3 pairs at DCA level 1, 2 PAIRS at level 2 and 1 pair at level 3
    • DCA_LEVEL1_MAX_TRADING_PAIRS = 3
    • DCA_LEVEL2_MAX_TRADING_PAIRS = 2
    • DCA_LEVEL3_MAX_TRADING_PAIRS = 1
  • BUY_SLIPPAGE_PERCENTAGE
    • default value of 0.01 on futures and 0.02 on spot
  • SELL_SLIPPAGE_PERCENTAGE
    • default value of 0.01 on futures and 0.02 on spot
  • Block and NOTIFY in GUI specified leverage is bigger than PAIR MAX Leverage (also test mode)
  • Some adjustments to liq engine for test mode
  • Store ACTIVE config locally, only sync it with server every 5 minutes
  • Implement REVERSAL_REBUY_TIMEOUT
    • Define a timeout between reversal start and reversal rebuy.
  • Implement REVERSAL_REBUY_EXPIRATION
    • Define to cause a reversal position to expire and release reserved balance after x minutes if not rebought within the amount of time specified
  • new buy_priority option STRATASC/STRATDESC
    • STRATASC -B, Will sort by value of strategy B (for people wanting to give ATR priority)
  • Implement X_BUY_STRATEGY_OFFSET, X_SELL_STRATEGY_OFFSET, X_STRATEGY_OFFSET
    • We can use this offset instead of the one in indicators and avoid duplication of indicators config
  • Implement X_FORMULA_LABEL and X_FORMULA
    • Define your formulas separately and use the Letter or Labelname in other parts of the config.
    • DEFAULT_A_formula_label = chandelier
    • DEFAULT_A_formula = (SK < SJ) && (SI < SF) && (SE < SD) && (SC < SB) && (ST – SS) / SS * 100 > 5
    • sell_strategy_formula = (B && C && D && E && L && F && I && J && K && R && S && T) || chandelier
    • sell_strategy_formula = (B && C && D && E && L && F && I && J && K && R && S && T) || FA
  • Implement MAX_TRADING_PAIRS_SOFT_CAP (Integer),
    • MAX_TRADING_PAIRS_SOFT_CAP_IGNORE_PROFIT (double value),
    • MAX_TRADING_PAIRS_SOFT_CAP_IGNORE_ARMED (true/false)
  • Implement feature for leverage exchanges (Only Binance at this time)
    • DEFAULT_stop_loss_create_exchange_order (true/false)
    • DEFAULT_trailing_stop_loss_create_exchange_order (true/false)
    • DEFAULT_take_profit_safety_create_exchange_order (true/false)
  • Reimplement pending order creation for Leverage exchanges.
  • trailing_buy_reset_with_strategies and trailing_profit_reset_With_strategies can use dynamic logic
  • Implement Config Validator
    • Check configs upon save and return a list of incorrect properties
  • Expand our buy and sell history exports with stats data
  • DISABLED_PAIRS
    • put in a list of PAIRS you want to disable trading for. It has priority over ENABLED_PAIRS
  • Implement feature to specify WILDCARD for ENABLED_PAIRS and DISABLED_PAIRS
    • DISABLED_PAIRS = %DOWN
    • This will disable are PAIRS that contain DOWN in their name BTCDOWN, ADADOWN etc
  • SIGNAL indicator has a property only_expires (Indicators config)
    • Use this to prevent your signal to be marked as processed after it causes a buy/sell
    • Best used for GLOBAL signals that are read by multiple pairs
    • The signal using this as true will only be invalidated once the signal expires
  • Add new property MAX_INITIAL_COST
    • When using a % for initial cost we sometimes would want to cap the growth
    • Especially for leverage trading when certain LEVERAGE levels have max position sizes

https://download.profittrailer.com/ProfitTrailer-2.5.0.zip