* initial concept of a nice validation tester for exchanges
* adds some datahandler design
* expand testing
* more tests and fixes
* minor end of day fix for bithumb
* fixes implementation issues
* more test coverage and improvements, but not sure if i should continue
* fix more wrapper implementations
* adds error type, more fixes
* changes signature, fixes implementations
* fixes more wrapper implementations
* one more bit
* more cleanup
* WOW things work?
* lintle 1/1337
* mini bump
* fixes all linting
* neaten
* GetOrderInfo+ asset pair fixes+improvements
* adds new websocket test
* expand ws testing
* fix bug, expand tests, improve implementation
* code coverage of a lot of new codes
* fixes everything
* reverts accidental changes
* minor fixes from reviewing code
* removes Bitfinex cancelBatchOrder implementation
* fixes dumb baby typo for babies
* mini nit fixes
* so many nits to address
* addresses all the nits
* Titlecase
* switcheroo
* removes websocket testing for now
* fix appveyor, minor test fix
* fixes typo, re-kindles killed kode
* skip binance wrapper tests when running CI
* expired context, huobi okx fixes
* kodespull
* fix ordering
* time fix because why not
* fix exmo, others
* hopefully this fixes all of my life's problems
* last thing today
* huobi, more like hypotrophy
* golangci-lint, more like mypooroldknee-splint
* fix huobi times by removing them
* should fix okx currency issues
* blocks the application
* adds last little contingency for pairs
* addresses most nits and new problems
* lovely fixed before seeing why okx sucks
* fixes issues with okx websocket
* the classic receieieivaier
* lintle
* adds test and fixes existing tests
* expands error handling messages during setup
* fixes dumb okx bugs introduced
* quick fix for lint and exmo
* fixes nixes
* fix exmo deposit issue
* lint
* fixes issue with extra asset runs missing
* fix surprise race
* all the lint and merge fixes
* fixes surprise bugs in OKx
* fixes issues with times and chains
* fixing all the merge stuff
* merge fix
* rm logs and a panic potential
* lovely lint lament
* an easy demonstration of scenario, but not of initial purpose
* put it in the bin
* Revert "put it in the bin"
This reverts commit 15c6490f713233d43f10957367fcbf18e3818bdd.
* re-add after immediate error popup
* fix mini poor test design
* okx okay
* merge fixes
* fixes issues discovered in lovely test
* I FORGOT TO COMMIT THIS
* nit fixaroonaboo
* forgoetten test fix
* revert old okx asset intrument work
* fixes
* revert problems I didnt understand. update bybit
* fix merge bugs
* test cleanup
* further improvements
* reshuffle and lint
* rm redundant CI_TEST by rm the CI_TEST field that is redundant
* path fix
* move to its own section, dont run on 32 bit + appveyor
* lint
* fix lbank
* address nits
* let it rip
* fix failing test time range
* niteroo boogaloo
* mod tidy, use common.SimpleTimeFormat
* orders: add method to Limit to retrieve order execution limit snapshots
* currency/btcmarkets: add error and update field name to standard
* linter: fix
* limts: don't return pointer
* limit: Add notes
* glorious: nits
* linter: fix
* limit: reinstate nil check
* exchanges: change field names to be more consistent (@thrasher-) suggestion
Co-authored-by: Ryan O'Hara-Reid <ryan.oharareid@thrasher.io>
* Bump CI versions
* Specifically set go version as 1.17.x bumps it to 1.18
* Another
* Adjust AppVeyor
* Part 1 of linter issues
* Part 2
* Fix various linters and improvements
* Part 3
* Finishing touches
* Tests and EqualFold
* Fix nitterinos plus bonus requester jobs bump for exchanges with large number of tests
* Fix nitterinos and bump golangci-lint timeout for AppVeyor
* Address nits, ensure all books are returned on err due to syncer regression
* Fix the wiggins
* Fix duplication
* Fix nitterinos
* Better designed backtester funding concept
* Fleshes out funding concepts further to allow two funding types
* Adds types, finishes adding to portfolio and adds to exchange
* Fixes a bug to reveal another
* Fixes issues with purchasing
* A partial conversion to using decimal.decimal for the backtester
* Further decimal rollout. Can compile and output report
* More cleanup
* Fix rendering and initial funds issue.
* Adds new concept for trading using the exchange level funding to see what happens
* Fixes a bug in funding not being found
* New strat config to test RSI and discover issues
* Can run with pairs that contain 0 funding
* Finally fixes the arrangement to share funds
* Adds testing and funding transfer
* end of day
* More comments, more tests!
* Improves item comparisons and completes testing
* Initial attempt at new strategy which utilisies shared funding and transfers
* end of day broken
* Chronological output. Fixes output bug where multi currency.
* End of day commit
* Fixes bug where events were being overwritten in a simultaneous context
* Begins transitioning from portfolio holdings to funding holdings. Am I doing the right thing
* End of day run around
* Likely fix for holding calculations
* Improvement to template. Improvement to holdings
* DARK MODE. Report upgrades. Even handling with funds. Fix output
* Output funding to cmd
* Add new trasnferred funds "side"
* Fixing test run 1
* Test updates
* Test updating
* More test fixing
* Fixes portfolio tests
* More test fixes
* Fixes remaining tests and lints
* Fixes currencystatistics tests. Adds decimal math implementations
* Fixes hilarious bug where there could only be on holding
* Adds funding support for config. Minor fixes
* Adds documentation
* Finishes config builder support for funding
* Logs inexact conversions, updates tests. adds config validation
* The quest to understand a new funding bug begins. New strategy
* Fixes bug where wrong funding was retrieved. Expands t2b2 strat
* End of the day commit. Gotta revert the nulldecimal stuff
* Fixes tests, adds extra funding transfer feature
* Fixes initial total values, tries to add a grand total value
* Rebase fixes, documentation updates, tests for strategy
* Swaps the err statement for tests. Regenerates tests. Math warnings
* Attempts to solve Live data problems. Fixes volume
* Fixes live data missing
* can trade at any interval. skip volume sizing. volume colours.
* config regen. display fixes
* test fixes, lint fixes
* Anti-funky errors
* docs
* Rmbad
* docs
* docs update
* Simplifies err handling. Updates readmes. Data type checks
* docs. new field initial-base-funds. comment errs. config test coverage
* minMaxing
* testfix
* Fixes fee calculation, re-bans minMax being equal
* Crazy concepts to attempt to solve totals. Addresses nits
* Adds in totals calculation for exchange level funding.Uses external API
In future, this will be replaced by proper pricing supplied by the same
exchange that is requested. This is an unknown price
* rm dollar signs in cmd and report. rm bad error. fix chart decimal. padding
* re-run docs post merge
* Fixes oopsie for fee parsing
Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
* deleting the unwanted file created during testing + adding more verbose errors for cli
* wip
* checking params throughout wip
* improving errors
* wip
* thrasher patch
* better err name
* whip
* testing and fixing errors WIP
* upgrades and better errors
* broken test
* wip
* adding some tests
* using tempDir
* mini improvement
* little changes
* better time check
* fixing error
* more glorious changes
* end of day wip
* shazzy changes
* checking error
* appveyor
* last changes:
* Exchanges: Add in exchange defined tolerance settings to conform to min max amounts/price/notional etc (Initial)
* Add to tests fix linter
* Binance: Implement CMF and usdtMarginFutures fetching of currency information, addr nits
* binance: Add in test for tolerance set up
* exchanges: add in more tolerance settings and add tests
* nits: addr
* fix linter issue
* RPCServer: Use ordermanager instead of going direct to exchange
* Nits: Addr
* nits: glorious addr phase one
* nits: glorious nits phase 2
* exchange: move tolerance -> limits in order package add wrapper function, split binance functions to asset files
* nits: Addr thrasher + also include locking of limits struct when we update via syncer later on
* nits: mdc addr
* nits: glorious nits
* limits: unexport mutex
* limit: revert maths optim. and fix spelling
* limit: Add decimal package
* limit: don't check price on market order
* Orders: Add order execution checks on fake orders so as to always conform to tight specifications even in simulation
* binance: handle case where spot is not enabled but margin is
* backtester: add in amount conforming to back tested events to simulate realistic orders
* rm ln
* order limit: return amount when limit is nil and conformToAmount is requested
* nits: glorious nits + friends
* backtester/orders: fix tests
* nits: glorious nits
* nits: glorious nits
* RMLINE
* nits: more glorious nits!
* nits: pooosh
* binance: fix margin logic
* nits: Add warning, settings log and report item for exchange order execution limits
* backtester: add specific warnings in report output
* backtest: Adjust warnings