Skip to content

iTzTruth/lick-hunter-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Lick Hunter Server

Backend service for Lick Hunter PRO Web Application
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements
  9. Donations

About The Project

![Product Name Screen Shot][product-screenshot]

This is the backend service for the Lick Hunter Web Application.
Front-end development is in progress. front-end repo

Click here to view Lick Hunter website

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  1. Install Maven
  2. Install JDK 8
  3. Install JRE8 for Windows JRE 8

Build

Note: This is only required if you want to build the project. To install the server on your machine, proceed with Installation steps.

  1. Clone the repo
    git clone https://github.com/ebaloaloa/lick-hunter-server.git
  2. Maven Build
    mvn clean install -DskipTests

Installation

  1. Get the latest version from releases. https://github.com/ebaloaloa/lick-hunter-server/releases
  2. Unzip server-0.0.1-SNAPSHOT-distribution.zip directory
  3. Copy the contents of server-0.0.1-SNAPSHOT directory to root directory of LickHunterPRO
  4. Execute command. This will generate coins.json
    java -XX:+UseParallelGC -Xms512m -Xmx2000m -jar server-0.0.1-SNAPSHOT.jar
    OR
    sh start.sh

Telegram

  1. Search for @BotFather in Telegram to create a new bot.
  2. Type command /newbot to create a new bot.
  3. Choose a name for your new bot.
  4. Choose a username for your new bot.
  5. After you have successfully created a new bot, go to /mybots to edit your newly created bot.
  6. Select the new bot from the list.
  7. Select API Token then copy/paste the token to telegram.token inside the application.properties.
  8. Return to previous menu > Edit Bot > Edit Commands.
    Copy/Paste the following to create new commands:
    balance - Check balance  
    settings - Change active settings from user defined settings  
    pause - Pause bot after all positions are closed  
    resume - Resume bot  
    status - Check the status of the bot  
    
  9. Open application.properties and change the following values:
  • telegram.bot - Name of the bot you created
  • telegram.username - List of allowed telegram usernames to have access on your bot. Bots created in Telegram are public, this is to ensure that only you can see your commands.
  • telegram.enable - Set to true to enable the bot. Otherwise, telegram bot will not run.

Usage

query.json

{
  "symbol": null,       
  "maxPriceChangePercent":null,
  "volumeUpperLimit":3000000000,
  "volumeLowerLimit":0,
  "minimumTradingAge":30,
  "percentageFromAllTimeHigh":10,
  "exclude":["DOGE","BTC","ETH","XRP"],
  "autoExclude" : true,
  "autoExcludePercentage" : 70
}
  • symbol: Specifies the symbol pair to search. Set to 'null' to query all available coins from Binance. Example: BTCUSDT
  • maxPriceChangePercentage: Identifies the maximum allowed percentage change(-/+) for the past 24H.
  • volumeUpperLimit: Maximum volume limit for the past 24H
  • volumeLowerLimit: Minimum volume limit within 24H
  • minimumTradingAge: Minimum trading age required for coins
  • percentageFromAllTimeHigh: Coins near all time high will not be traded.
  • exclude: Coins in this list will not be included in coins.json
  • autoExclude: (true/false) Allows permanent banning of coins when they reached certain percentage for the past 24H.
  • autoExcludePercentage: Sets the percentage amount for automatic exclusion.

web-settings.json

{
  "active":"settings1",
  "defaultSettings":"settings1",
  "safe":"settings2",
  "userDefinedSettings":{
    "settings1":{
      "maxOpen":10,
      "openOrderIsolationPercentage":5,
      "longOffset":3,
      "shortOffset":3,
      "lickValue":1000,
      "marginPercentNotification":30,
      "marginType":"crossed",
      "leverage":4,
      "autoLickValue":true
    },
    "settings2":{
      "maxOpen":5,
      "openOrderIsolationPercentage":3,
      "longOffset":10,
      "shortOffset":3,
      "lickValue":1000,
      "marginPercentNotification":30,
      "marginType":"crossed",
      "leverage":4,
      "autoLickValue":true
    }
  }
}
  • active: Identifies the current active settings from the user-defined settings.
  • defaultSettings: Identifies the default settings from the user-defined settings. This will be active if volatility of bitcoin is less than the specified volatility amount.
  • safe: Identifies the safe settings from the user-defined settings. Safe settings will be active if bitcoin reaches certain volatility. Volatility Indicator can be found here https://lunarcrush.com/developers/tradingview. See application.properties to change volatility settings.
  • userDefinedSettings: Users can create multiple settings. Settings in active property will be used. Users can also change settings through Telegram bot. See application.properties to setup Telegram Bot.
  • maxOpen: Maximum allowed positions at a time
  • openOrderIsolationPercentage: New positions will not be opened when percentage of total balance is reached
  • marginPercentNotification: Discord notification when margin reached a percentage of total balance
  • autoLickValue: (true/false) If true, enables retrieving of liquidation value from liquidation.wtf. Otherwise, lickValue will be used.
  • marginType: (crossed/isolated) Allows changing of margin type

###Sample API Requests (WIP will update soon)
Save income history into database
/api/application/income_history?limit=10&incomeType=REALIZED_PNL

Save candlestick data into database
/api/application/candlestick?interval=DAILY&limit=500

Subscribe to candlestick data
/api/application/candlestick/subscribe

Subscribe to user data
/api/application/userdata

Subscribe to mark price data
/api/application/markprice

Subscribe to mark price data
/api/application/markprice

Save account information into database
/api/application/account_information

Save income history into database

http://localhost:8081/api/application/income_history
http://localhost:8081/api/application/income_history?limit=1000&incomeType=REALIZED_PNL

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Klenk - Ephraim Baloaloa - [email protected]

Project Link: https://github.com/ebaloaloa/lick-hunter-server
Project Link: https://github.com/ebaloaloa/lick-hunter-admin

Acknowledgements

Donations

  • USDT (ERC20): 0xced41376c53f8e5f4dc9d5372d0a1558e0c5959a
  • USDT (TRC20): TSb5T8oyijVsC5nvvbNFRvcY88irAq2rZC
  • BTC: 1P4euVgKLJeKemNFGbKsyUuVy6JbhHp6fE

About

Web Application for Lick Hunter

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%