Git Product home page Git Product logo

intellitrader's People

Contributors

jazzonaut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intellitrader's Issues

Enhancement - "Bag Splitter"

Hi Jazzo,

Being able to split bags into multiple coins would help getting rid of them. Let's say if a bag reaches a certain value or/and age, then IT will fraction it into multiple coins (defined number by users or divied by the initial buy cost, etc.). Basically it is swapping a bag into multiple coins to ease it's dilution. Also DCA count needs resetting, so we can start DCA over the new splitted coins.

Example:
"MaxBagValue": 0.4,
"MaxBagAge": 1.5,
If a bag reaches 0.4 BTC and is 1.5 days old, IT will fraction it.

Thanks,
KH

Fix Negative DCA

My DCA trading live seems to be off by -1. Virtual Trading with the same bot was fine.

image

Enhancement - Backtesting - AddHistoricDataTimeStamp

When running backtest i sometimes get very bad sell i would like to see what went wrong on the chart for that i would need time and date from the ticker. Only needed while backtesting ๐Ÿ‘
Thank you !

Dumb User Protection System - Coloured Borders

Hi,

Would it be possible to have basic UI theme-ability, I am running two bots and I have twice altered settigns for the wrong bot. So I was wondering if we could set the border background colour as a setting to help remind me and perhaps others what bot they are editing

New trading rule modifier "BuyPriceOverride"

Pair specific condition to reset the buy price and set the DCA level to 0 to allow the bot to trade out portions of bags. Would just require that the user create a sales order for a percentage of the pair at the exchange at an unachievable price (eg double the current price), then set these parameters so that the bot can trade out the remaining portion. Rinse and repeat until the bag is sold off.

The issue at present is if we create the sales order at the exchange, the bot does pick up the proper amount for sale, but uses the total amount (through purchase history) to calculate the price after the pair DCAs. For example, I have a pair that was at -42%, created a sales order for 87.5% of the amount I held so that I had sufficient funds on the account to DCA the remaining quantity 5 times if necessary. After the first DCA the margin dropped to -21% but the bot then recalculated the value and changed that to -36%. It has now DCA'd 3 times, which should have it down to around 6%, but it is still at nearly 22% instead, which means it will never climb its way out. I don't want to have to set up PT to do this because I can't replicate my DCA conditions in PT (without a lot of effort).

This idea could be extended to allow for automatic bag busting, but would require a fair bit more code to implement. This override would allow us to do it manually.

Enhancement - Fees!

Hi Jazzo,

For more accurate testing, fees should be taken into consideration while backtesting and paper trading.

Thanks,
KH

BIN data Converter to CSV

Include bin data Converter to CSV so that we could get the Backtesting data in readable format for analysis purposes ๐Ÿ‘

best profitable setting?

Hello can i know Whats is the best profitable Setting on this project for auto live trading? and can this project tracking and order multiple coins? Thanks You!

Enhancement - Process names on linux

Hi, would it be possible to use the Instane Name as a process name on Linux, I am running multiple instances and they all show 'dotnet' as their process name.

Enhancement of Ratings in dashboard

Dear Jazzo,

it has passed many days since we added the possibility of multiple rating i believe the column Rating in the dashboard needs some more love.

image

I believe the column does show the 15 minute rating at the moment correct me if i am wrong ๐Ÿ’ฏ

Maybe renaming it into Avg. Rating and calculate average of the ratings and if user selects a line then list all the individual ratings like in the market page one under each other ๐Ÿ‘

Addition of Min / Max percentage spread

First !

The addition of min / max percentage spread would be amazing !

The size of the bid-ask spread from one asset to another differs mainly because of the difference in liquidity of each asset.

Explanation:

Percentage difference between highest bid and lowest ask. The smaller the spread the greater the price action / liquidity.

Build on Linux

Hello,
is there a guide to build\launch intellitrader on an ubuntu machine instead of downloading it from the release page?

thanks!

"BuyMaxCost" in Beta is now "amount" instead of "cost" in currency

In the beta version 1.1 the value of "BuyMaxCost" suddenly doesn't resemble te cost in BTC or USDT but the amount of coins bought, because each coin has it's own price, it's hard to tune the trader this way, I think the true cost in currency like in version 1.0 is much more practical.

Hide Negative profit in swapped pairs

Hi,

I have an idea for an enhancement, but this is just a rough idea, it needs more thought than I show here:

So as I understand it when a pair is running at a loss and gets swapped to a new pair, the loss is taken to the new pair, and this is recorded as a negative profit it the stats table.

I think there might be a better way to represent this as a swap, and not show the negative profit. I haven't given it a lot of thought, but maybe show an arrow, or even an empty cell to make it clear that this trade was not an actually loss but instead swapped.

I know there is the swapped column, but maybe this can be better represented visually

Summary line for a days stats

Hi, when we view the stat page, there are rows of dates and the columns being a summary of that days trading.

When we open one of these rows to dig deeper could it show the summary on that days page too?

Add Dust Section

Trading live leaves "Dust" in the trading dashboard. Would be nice to have a "Dust" section with the ability to convert to BNB.

image

Enhancement - Adding informations and controls for the telegram bot

Hello,

Controlling our bots with telegram would allow us to easily check(on our phone) what is going on with our bots and be able to react fast in case of a big market change to not lose money.

Some exemples out of the blue:

/balance : Display our current balance (maybe also displaying the global market rating with it)
/daily : Display our daily profit % and number
/open : Display our current open orders
/stopbuy "botname/id" : Stopping buy orders for the x bot
/stopdca "botname/id" : Stopping DCA for the x bot
/stopall : To stop all trading operation on all the bots without stoping the processes
/startall : Start all the bots that were stoped previously
...
...
You get the idea.

Pretty much the things we can do on the web ui, but it would allow us to react much faster.

Enhancement: Bag Dilution

So this will really add to an already powerful program.

Swapping coins out is very good, but it digs out of deep bags very slowly. If we added a bag dilution option/functionality this would really bring IT to an entirely different level.

The idea is to create a rule that will flag deep bags for dilution, this would be customizable. E.G. Age, DCA levels, Margin, and pretty much any other setting that you could want, would be acceptable.

For example The new action would be "Dilution" as opposed to "Swap". Once a bag is set for Dilution it moves "Logically" moves from the dashboard to the Dilution tab, now keep in mind you could also KEEP the pair in the dashboard and just have a "dilution" signal on it, it would keep potential over all updates on margin, and what not. But the trading on this pair would be suspended.

Now the bot needs to be able to look at the available balance and decide if it needs to sell off a small portion of the bag to have liquid assests to be able to work off small pieces of the bag, or if the available assets are already available. If it has to sell off a portion, it should keep track of the amount and margin it sells off the portion for. This can then be added back into the final piece of the bag so that you don't actually lose that capital.

The bot will then logically split off a percentage of the bag, and use the newly available assets to attempt to turn this smaller chunk into profit by aggressively DCAing it down (Again using whatever DCA rules that you, the user, decide to use I.E. it's customizable). Once that first "chunk" is cleared it will pave the way for other smaller chunks to be worked out.

Now I don't know if using swapping is possible, that's up to Jazzo to decide. However I do believe that combining what we have, with something like this would bring IT to a whole new level.

Option to set a maximum spend (not BuyMinBallance)

Could we have an alternative control setting to the BuyMinBalance options, the problem with buy min balance is lets say I have 1 BTC, and I tell the bot to use a Setting of BuyMinBalance of 0.5 btc.

Then the bot spends up to 0.5 BTC in its trading and swapping etc, but if I then add another 0.5 BTC to the account the bot will spend it.

If we could tell the bot it is only allowed to spend 0.5 BTC then when I add more BTC the bot wont touch it.

I hope that makes sense

Enhancement - BNB!

Hi Jazzo,

Could we have BNB simulation when backtesting and paper trading, please?
Something like "VirtualAccountInitialBNBBalance": 1.

Thanks a lot,
KH

Swap Chart

Add a way to follow your swap progress. Either a separate chart or it could be as easy as adding a random color the first time it swaps so that you can find it easily in the stats.

Enhencement - Telegram message formating

Hello,

Just a simple reformatting of the telegram messages to be able to read them easier:

"(Main) Bought TUSDBTC. Amount: 99999, Price: 999999, Cost: 999999"

"(Main) Bought TUSDBTC
Amount: 99999
Price: 999999
Cost: 999999"

Enhancement - Backtesting

Chain Backtesting possibility ... would be awesome to chain backtests one after another with different configuration (mainly rules file but might also be trading file) to maybe let the backtest run over night.

Crash when Binance is down

Hi, I am getting this error tonight while Binnace is in maintenance mod.

/opt/it/bot1/Publish$ ./IntelliTrader.sh
Welcome to IntelliTrader, The Intelligent Cryptocurrency Trading Bot.
Always use Enter/Return key to exit the program to avoid corrupting the data.
19:57:40 [INF] Start Core service (Version: 0.9.9.9)...
19:57:40 [INF] Start Health Check service...
19:57:40 [INF] Health Check service started
19:57:40 [INF] Start Trading service (Virtual: True)...
19:57:40 [INF] Start Binance Exchange service...
19:57:40 [INF] Get initial ticker values...
19:57:41 [ERR] Unhandled exception occured - ExchangeSharp.APIException: <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>

   at ExchangeSharp.APIRequestMaker.MakeRequestAsync(String url, String baseUrl, Dictionary`2 payload, String method) in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/APIRequestMaker.cs:line 130
   at ExchangeSharp.BaseAPI.MakeJsonRequestAsync[T](String url, String baseUrl, Dictionary`2 payload, String requestMethod) in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/BaseAPI.cs:line 388
   at ExchangeSharp.ExchangeBinanceAPI.OnGetTickersAsync() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeBinanceAPI.cs:line 264
   at ExchangeSharp.ExchangeAPI.GetTickersAsync() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeAPI.cs:line 689
   at ExchangeSharp.ExchangeAPI.GetTickers() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeAPI.cs:line 680
   at IntelliTrader.Exchange.Binance.BinanceExchangeService.Start(Boolean virtualTrading) in /opt/it/bot1/IntelliTrader.Exchange.Binance/Services/BinanceExchangeService.cs:line 50
   at IntelliTrader.Trading.TradingService.Start() in /opt/it/bot1/IntelliTrader.Trading/Services/TradingService.cs:line 74
   at IntelliTrader.Core.CoreService.Start() in /opt/it/bot1/IntelliTrader.Core/Services/CoreService.cs:line 68
   at IntelliTrader.Program.StartCoreService() in /opt/it/bot1/IntelliTrader/Program.cs:line 37
   at IntelliTrader.Program.Main(String[] args) in /opt/it/bot1/IntelliTrader/Program.cs:line 31

Unhandled Exception: ExchangeSharp.APIException: <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>

   at ExchangeSharp.APIRequestMaker.MakeRequestAsync(String url, String baseUrl, Dictionary`2 payload, String method) in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/APIRequestMaker.cs:line 130
   at ExchangeSharp.BaseAPI.MakeJsonRequestAsync[T](String url, String baseUrl, Dictionary`2 payload, String requestMethod) in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/BaseAPI.cs:line 388
   at ExchangeSharp.ExchangeBinanceAPI.OnGetTickersAsync() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeBinanceAPI.cs:line 264
   at ExchangeSharp.ExchangeAPI.GetTickersAsync() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeAPI.cs:line 689
   at ExchangeSharp.ExchangeAPI.GetTickers() in /opt/it/bot1/Submodules/ExchangeSharp/ExchangeSharp/API/Exchanges/ExchangeAPI.cs:line 680
   at IntelliTrader.Exchange.Binance.BinanceExchangeService.Start(Boolean virtualTrading) in /opt/it/bot1/IntelliTrader.Exchange.Binance/Services/BinanceExchangeService.cs:line 50
   at IntelliTrader.Trading.TradingService.Start() in /opt/it/bot1/IntelliTrader.Trading/Services/TradingService.cs:line 74
   at IntelliTrader.Core.CoreService.Start() in /opt/it/bot1/IntelliTrader.Core/Services/CoreService.cs:line 68
   at IntelliTrader.Program.StartCoreService() in /opt/it/bot1/IntelliTrader/Program.cs:line 37
   at IntelliTrader.Program.Main(String[] args) in /opt/it/bot1/IntelliTrader/Program.cs:line 31
./IntelliTrader.sh: line 4: 16160 Aborted                 (core dumped) /usr/share/dotnet/dotnet /opt/it/bot1/Publish/bin/IntelliTrader.dll
./IntelliTrader.sh: line 5: syntax error near unexpected token `0'
./IntelliTrader.sh: line 5: `exit(0)'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.