Crypto-Trading-Bot | Automated Bittrex crypto-currency technical analysis | Cryptocurrency library
kandi X-RAY | Crypto-Trading-Bot Summary
kandi X-RAY | Crypto-Trading-Bot Summary
Use Crypto Trading Bot to autonomously trade and monitor over 250 crypto currencies on Bittrex. Users can configure their own custom trading parameters which will control when the bot buys and sells. If you'd like to use only the trading indicators and not the automated trading functionality, you can check out the tracker branch. Users can add their own algorithms and trading strategies based on technical analysis signals such as RSI, 24 Hour Volume, and Unit Price.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Analyze balances
- Print a pause
- Send Slack message to Slack
- Send balance Slack message
- Get settings from database
- Get json content from a directory
- Validate directory_string
- Get market order book
- Make a request to the API
- Returns market summaries
- Get a list of all market prices
- Get market history
- Get secrets file
- Draw funds from a currency
- Get withdrawal history
- Get all open orders
- Get order history
- Validate or create directory
- Gets a list of deposit history
- Write json content to directory
- Get order by uuid
- Get deposit address
- Get a ticker
- Get list of currencies
- Perform buy strategy
- Returns the balance of a currency
Crypto-Trading-Bot Key Features
Crypto-Trading-Bot Examples and Code Snippets
Community Discussions
Trending Discussions on Cryptocurrency
QUESTION
COIN LIST is an array of crypto coins(["BTCUSDT",...]). I try to get the price using getPriceAction and RSI from getRSI and these two functions are working when I try to console DATA. But when I try to print the response after the completion of the loop. It prints the empty array and the length is 0 of this array. I want to store the DATA object (consisting of SYMBOL, closing price and RSI) as an element in the response array
...ANSWER
Answered 2022-Apr-16 at 02:43After the completion of the loop, the promises didn't get resolved yet, that's why it print an empty array.
One way to achieve what you need is using await for(...)
, or wait for all promises to be resolved, and then print the results.
QUESTION
I am trying to connect my Metamask wallet to my Java Spring-Boot backend. I was trying to follow the example here. I am able to autogenerate the nonce and receive the wallet ID without a problem. I am trying to verify the signed nonce from the Wallet on the server to make sure that the sender is indeed who they say they are. However, I am unable to find any documentation on Web3J to do this.
Is web3j not the right package to use for this? The example shows how to do the verification on NodeJS based on javascript but I don't find any example on how to do this on Java.
My understanding is that the public key is the wallet ID itself and that the message is the nonce signed by the private key of the wallet which is not shared for obvious reasons. According to this, I would need to "decrypt" the message using the public key and see if the decrypted message is same as the nonce that the backend sent to Metamask to sign. Is this correct?
Here is my code to create and send the nonce to UI:
...ANSWER
Answered 2022-Apr-03 at 03:03I was able to figure this out finally. My initial understanding was incorrect. I was not supposed to attempt to decrypt the message to retrieve the nonce. Rather I needed to use the nonce to see if I can retrieve the public key of the private key used to sign the message and see if that public key retrieved matches the wallet ID.
The algorithm:- Receive the signed message and the wallet ID from the client
- Retrieve the nonce sent to the client with the same wallet ID
- Generate the hash of the nonce
- Generate the signature data from the message. This basically retrieves the V, R and S and. R and S are the outputs of the ECDSA Signature and V is the Recovery ID.
- Using the ECDSA Signature and Hash of the Nonce, generate the possible public Key that was used to sign the message. At max, one will be able to generate 4 possible public keys for this message.
- Check if any of the generated keys match public wallet ID that the client sent. If it matches, then we have a positive match. Generate the JWT and respond to the client. If not, we know that the nonce was not signed by the Metamask wallet we expected.
Here is a sample code for UI (JavaScript and HTML):
QUESTION
status: 400, error code: -1013, error message: Filter failure: PRICE_FILTER
I am trying to create a new order to sell all SCRT
that are on my account and I cannot figure out what is the problem.
The filters for SCRTBUSD
are:
ANSWER
Answered 2022-Mar-16 at 20:14tickSize
for SCRTBUSD
is: 0.001.
Therefore, you have to round the quantity to the next 0.001. For example:
QUESTION
How does one parse the data in an SPL token account? It contains a binary blob and I'd like to get the token type and number of tokens.
An acceptable language is solana-cli, web3.js, or solana.py. I'm looking for any solution.
...ANSWER
Answered 2022-Mar-15 at 03:45The RPC give a great way to parse the data by default. You can use getParsedAccountInfo
in web3.js.
Let's take the token account at 9xqnnfeonbsEGSPgF5Wd7bf9RqXy4KP22bdaGmZbHGwp
QUESTION
I'm having issues with plotting the Coral Trend indicator colour code, into my 15min 21EMA security function. Since the Coral Trend indicator colour code has a mutable variable, I cannot resolve it. This is next level coding for me, haha.
I will post
- the code
- a screenshot
- the problem
- the solution I tried
The code:
...ANSWER
Answered 2022-Feb-28 at 20:23You have to use the request.security()
function in global scope, and only then use it.
You can do something like this:
QUESTION
I am working with the Binance API. I am connecting to their API and trying to assess if Binance has a list of assets on their platform or not. The list of assets is seen below:
...ANSWER
Answered 2021-Sep-21 at 14:37Try this:-
QUESTION
I am looking to work with ETH tokens on the Polygon network. My aim is to build a simple payment splitting application. Primarily to split royalties from Opensea. The issue I have come across is that Opensea doesn't seem to pay royalties in Matic token, instead, royalties are paid in ETH (plus other tokens).
I understand how to handle the network native, Matic, as well as ERC20 tokens. My main question is, what token type is ETH on the Polygon network? Is it an ERC20 (or similar) used to represent ETH on Polygon or does it have a special token type and privileges by virtue of Polygon being a layer two solution for Ethereum?
I'm sorry if this is a basic question, I tried to find answers online but because of the keywords all of the results were about bridging ETH to Polygon.
...ANSWER
Answered 2022-Feb-11 at 10:55Opensea uses WETH token on Polygon, which is an ERC-20 token representing the Ethereum mainnet ETH.
Please note, the "purple" Polygon ETH you see on OpenSea, is actually WETH (Wrapped Ether) on the blockchain level of Polygon.
Source: https://support.opensea.io/hc/en-us/articles/4403264773523-How-do-I-find-my-funds-on-Polygon-
QUESTION
I am having an issue related to validating cryptocurrency wallet addresses, specifically USDT.
USDT can be validated either as a BTC or ETH address, depending on the network type.
Basically it goes like that:
- If cryptocurrency is USDT and chain type is ERC20, validate the address against ETH address format.
- If cryptocurrency is USDT and wallet type is OMNI, validate the address against BTC address format.
I haven't managed to find a specific validation for USDT:TRC20 addresses and I am not sure how to validate them.
...ANSWER
Answered 2021-Oct-15 at 06:32trc20 address features:
An encoded Mainnet address begins with T and is 34 bytes in length.
QUESTION
General NFT question, but don't flame me, I really tried to find the answer.
Could NFT be created from the same image or copy of this image?
For example, take this NFT Lion Cat that I created: https://rarible.com/token/0x60f80121c31a0d46b5279700f9df786054aa5ee5:1200950?
Can someone download the image and create an NFT from it?
I mean, isn't it part of the idea that this is original content by me and I have the copyrights for it?
In the Image area, you got the RAW image that proves you took this picture, nobody but the photographer has this RAW image. But to create this image NFT I didn't have to provide it.
...ANSWER
Answered 2022-Feb-06 at 09:02Could NFT be created from the same image or copy of this image?
Can someone download the image and create an NFT from it?
Yes to both questions. It is technically possible to create multiple NFTs that all represent the same image. They can be placed in the same collection, as well as across multiple collections.
As NFTs basically contain links to this image, it's not possible to prevent someone from creating a link to a public resource, i.e. from creating another NFT representing the same image.
I mean, isn't it part of the idea that this is original content by me and I have the copyrights for it?
The ERC-721 standard mostly defines just the technical specifications. But it doesn't really cover the licensing, ownership/authorship of the underlying resource, and other non-technical topics.
An NFT only proves ownership of the token - not copyrights of the image. Also, it proves ownership by an address - not by a person. Because there can be zero to multiple people holding a private key to the same address (holding the NFT representing the image).
QUESTION
import mplfinance as mpf
import talib as ta
import matplotlib.pyplot as plt
import numpy as np
%matplotlib notebook
test=df
WMA20 = ta.WMA(test['close'], timeperiod=20)
WMA60 = ta.WMA(test['close'], timeperiod=60)
WMA100 = ta.WMA(test['close'], timeperiod=100)
WMA200 = ta.WMA(test['close'], timeperiod=200)
# Set buy signals if current price is higher than 50-day MA
test['Buy'] = (test['close'] > WMA20) & (test['close'].shift(1) <= WMA20)
#plot
tcdf =test[['close']]
tcdf=tcdf.reset_index()
tcdf['date'] = tcdf['date'].apply(lambda x: x.value)
for i in range(len(test['Buy'])):
if test['Buy'][i]==True:
apd = mpf.make_addplot(tcdf.iloc[i],type='scatter',markersize=20,marker='o')
mpf.plot(test,addplot=apd, type='candle',volume=True)
...ANSWER
Answered 2022-Jan-28 at 12:35The problem is you are calling make_addplot()
with only one data point at a time. There is also no need for the date index in the make_addplot()
call; only the data.
Also, the length of data (number of rows) passed into make_addplot()
must be the same as the length (number of rows) pass into plot()
.
make_addplot()
should not be within the loop.
Try replacing this part of the code:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Crypto-Trading-Bot
This project requires Python 3.X.X, which can be be found here.
To install the dependencies for this project, run one of the following commands: Windows: pip3 install -r requirements.txt NOTE: If you receive a 'pip3' is not recognized as an internal or external command error, you need to add pip3 to your environmental path variable. Unix: sudo pip3 install -r requirements.txt
Add a directory named database to the root directory of your project and add a secrets.json file to it. If you run the project without adding this file, the program will create it for you and populate it with the template values. The contents of the file should mirror the following: { "bittrex": { "bittrexKey": "BITTREX_API_KEY", "bittrexSecret": "BITTREX_SECRET" }, "gmail": { "recipientName": "Folks", "addressList": [ "EXAMPLE_RECIPIENT_1@GMAIL.COM", "EXAMPLE_RECIPIENT_2@GMAIL.COM", "ETC..." ], "username": "EXAMPLE_EMAIL@GMAIL.COM", "password": "GMAIL_PASSWORD" }, "slack": { "channel": "SLACK_CHANNEL", "token": "SLACK_TOKEN" } } To use the Bittrex functionality, you need to setup the following: bittrex_key is your Bittrex API key you can get from here bittrex_secret is your Bittrex API secret key NOTE: The READ INFO, TRADE LIMIT, and TRADE MARKET permissions need to be enabled on your API key in order for the trade functionality to be available To use the Gmail functionality, you need to setup the following: username is your Gmail account's username (usually your account's email address) password is your Gmail account's password address_list is the list of recipients you'd like to send emails to If you don't want to use the email notifications, you can leave out the gmail code. To use the Slack functionality, you need to setup the following: channel is your Slack groups's channel (usually starts with a '#' character) token is your Slack account's authentication token (you need to create a Slack app on the Slack API website for your group - from which you can generate this authentication token) If you don't want to use the Slack notifications, you can leave out the slack code.
Add a settings.json file to the newly created database directory. If you run the project without adding this file, the program will create it for you and populate it with the template values. The contents of the file should mirror the following: { "sound": false, "tradeParameters": { "tickerInterval": "TICKER_INTERVAL", "buy": { "btcAmount": 0, "rsiThreshold": 0, "24HourVolumeThreshold": 0, "minimumUnitPrice": 0, "maxOpenTrades": 0 }, "sell": { "lossMarginThreshold": 0, "rsiThreshold": 0, "minProfitMarginThreshold": 0, "profitMarginThreshold": 0 } }, "pauseParameters": { "buy": { "rsiThreshold": 0, "pauseTime": 0 }, "sell": { "profitMarginThreshold": 0, "pauseTime": 0 }, "balance": { "pauseTime": 0 } } } To use the Sound functionality, you need to setup the following: sound is a boolean that determines whether audio notifications should be played If you don't want to receive audio notifications, you can leave out the sound code or set it to false. To use the Trade functionality, you need to setup the following: tickerInterval is the exchange ticker interval you want to use. It should be one of the following: oneMin, fiveMin, thirtyMin, hour, week, day, month buy: btcAmount is the amount of BTC you want the bot to spend per buy rsiThreshold is the upper RSI buy threshold. An RSI lower than this will result in a buy signal 24HourVolumeThreshold is the lower 24 hour volume buy threshold. Coin pairs with a 24 hour volume lower than this will not be considered for buying minimumUnitPrice is the lower unit price buy threshold. Coin pairs with a unit price lower than this will not be considered for buying maxOpenTrades is the maximum amount of open trades the bot is allowed to have at one time sell: lossMarginThreshold is the lower loss margin threshold. Coin pairs with a profit margin lower than this will be sold if their RSI is above the sell rsiThreshold. If this value is omitted or set to zero (0), this parameter will be ignored and coin pairs will not be sold at a loss rsiThreshold is the lower RSI sell threshold. An RSI higher than this will result in a sell signal minProfitMarginThreshold is the upper minimum profit margin sell threshold. Coin pairs with a profit margin lower than this will not be sold profitMarginThreshold is the upper profit margin sell threshold. Coin pairs with a profit margin higher than this will be sold regardless of its RSI To use the Pause functionality, you need to setup the following: buy: rsiThreshold is the lower RSI pause threshold. An RSI higher than this will result in the coin pair not being tracked for pauseTime minutes pauseTime is the amount of minutes to pause coin pair tracking by sell: profitMarginThreshold is the upper profit margin pause threshold. A profit margin lower than this will result in the coin pair not being tracked for pauseTime minutes pauseTime is the amount of minutes to pause coin pair tracking by If you prefer to sell at a small loss rather than holding onto (pausing) sell coin pairs, the lossMarginThreshold trade parameter should be set appropriately and then the sell pause parameter may be omitted. balance: pauseTime is the amount of minutes you would like to wait in between balance notification Slack messages (i.e. every x minutes, you will receive a Slack message containing a breakdown of your exchange balance and the percentage change since your last balance notification message).
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page