sleeyax / voltra

Cross-market volatile cryptocurrency trading bot
GNU General Public License v3.0
39 stars 5 forks source link

No buy order after volatile coin is identified #25

Open ovicko opened 5 months ago

ovicko commented 5 months ago

Describe the bug A clear and concise description of what the bug is and what you expected to happen.

Steps to reproduce Please let us know exactly what you did so we can replicate your bug.

Steps:

Your config

# Whether to perform fake or real trades.
# Setting this to false will use REAL funds, use at your own risk!
enable_test_mode: false

# Configuration for bot logs.
logging_options:
  # Enable or disable logging entirely.
  # Recommended to set this to true in production and development.
  # You should only set this to false for testing.
  enable: true

  # Set this to true if you want to use the structured logging format.
  # Recommended to set this to true in production and false in development.
  enable_structured_logging: true

  # Valid options are: debug, info, warning, error.
  # Recommended to set this to info in production and debug in development.
  log_level: info

  # Valid options are: debug, info, warning, error, silent.
  # Recommended to set this to silent in all environments and only set this to debug to log all executed SQL statements in development when necessary.
  # Defaults to `log_level` if not set.
  database_log_level: silent

# Configuration for supported cryptocurrency exchanges.
markets:
  binance:
    access_key: 
    secret_key: 

# Main configuration for the trading strategy.
trading_options:
  # Base currency to use for trading.
  # Recommended to use USDT for most trading pairs.
  pair_with: USDT

  # Total amount per trade.
  # Your base currency balance must be at least `max_coins` * `quantity`.
  # Binance uses a minimum of 10 USDT per trade, add a bit extra to enable selling if the price drops.
  # Recommended to specify no less than 12 USDT.
  quantity: 15

  # Allows the bot to dynamically adjust the trade `quantity` based on the profit/loss of all trades during the current session.
  enable_dynamic_quantity: false

  # The maximum number of coins to buy at a time.
  # For example, if this is set to 3 and the bot has bought 3 different coins, it will not buy any more until it manages to sell one or more of them.
  # Your base currency balance must be at least `max_coins` * `quantity`.
  max_coins: 3

  # The amount of time in MINUTES to wait to calculate the difference from the current price.
  # Recommended minimum is 1.
  time_difference: 1

  # Number of times to check for TP/SL during each `time_difference`.
  # Binance allows a maximum of 1200 requests per minute per IP.
  # Recommended minimum is 1.
  recheck_interval: 10

  # The amount of time in SECONDS to wait between each try to sell your current coin holdings.
  sell_timeout: 10

  # The minimum difference in PERCENTAGE between the previous and current price of a coin to identify it as volatile.
  change_in_price: 3

  # Specify in PERCENTAGE how much you are willing to lose on a coin.
  # For example, if you set this to 5, the bot will sell the coin if it drops 5% below the price at which it was bought.
  stop_loss: 5

  # Specify in PERCENTAGE how much you are looking to gain on a coin.
  # For example, if you set this to 5, the bot will sell the coin if it rises 5% above the price at which it was bought.
  take_profit: 5

  # Trading fee for the maker in % per trade.
  #
  # Binance:
  # - If using BNB for fees, set this to 0.075 and make sure have enough BNB in your account.
  trading_fee_maker: 0.075

  # Trading fee for the taker in % per trade.
  #
  # Binance:
  # - If using BNB for fees, set this to 0.075 and make sure have enough BNB in your account.
  trading_fee_taker: 0.075

  # The amount of time in MINUTES to wait before buying the same coin again.
  # This is to prevent buying the same coin multiple times in a short period of time.
  # Set to 0 to disable.
  cool_off_delay: 60

  # Trading volume threshold in pair_with currency for a coin to be considered for trading.
  # For Binance, this value refers to the 24h quote asset trading volume of the coin.
  min_quote_volume_traded: 100000

  # Configuration for trailing stop loss.
  trailing_stop_options:
    # Whether to enable trailing stop loss.
    # If true, the bot will automatically move the stop loss up as the price of the coin increases to 'lock-in' a profit.
    # Recommended to set this to true.
    enable: true

    # When `take_profit` is reached, the `stop_loss` is changed to `trailing_stop_loss` PERCENTAGE below `take_profit` hence 'locking in' the profit.
    trailing_stop_loss: .4

    # When `take_profit` is reached, the `take_profit` is changed to `trailing_take_profit` PERCENTAGE above the current price.
    trailing_take_profit: .1

  # List of tickers to include.
  # To disable this feature, set it to an empty list as follows:
  # allow_list: []
  allow_list:
    - 1INCH
    - AAVE
    - ................other default coins
    - ZEN
    - ZRX

  # List of trading pairs to exclude.
  # In the example below, we're excluding the most popular fiat pairs.
  # To disable this feature, set it to an empty list as follows:
  # allow_list: []
  deny_list:
    - EURUSDT
    - GBPUSDT
    - JPYUSDT
    - USDUSDT

Screenshots If applicable, add screenshots to help explain your problem.

System information

sleeyax commented 5 months ago

The coin may not be available for trading. Enable debugging log mode in your config.yml and check all logs.

https://github.com/sleeyax/voltra/blob/main/internal%2Fbot%2Fbot.go#L117