Closed bitkominer closed 6 years ago
Thanks a lot for sharing! When I am working on exchange integration and I need to test buys and sells I use this strategy which triggers a signal every 3 minutes (BUY/SELL/BUY/..): https://gist.github.com/askmike/959cada3c68f0bb3904ef08e7db28073
I tried a similar approach, ie: a time-based pingpong strategy eg.: every 2, 3 or 5 minutes strikes. (I used the strategy in CoinExchange by created a js+iMacros script). Basically it's working nicely in sideways market, but it's gonna eat up our bankroll during trending market when the price goes to opposite direction than we expect.
Since gekko has integrated TA strategies, I tried to utilize it as a trigger to determine the correct time to execute buy-sell order. I've been running this approach for 2 days, and the balance is stable after >200 strikes. What I need to do is furnishing the approach by making some tweaks, either on the RSI setting, or using different TA strategy other than RSI, or making lot size management to cover market fee (which is 0.15% in Poloniex).
I'm pretty sure that the above setting I made will give nice result if we can run it in 0% market fee exchange, such as in vipbitcoin exchange which I requested @danKHUU to add it into gekko in 1186.
If you are looking for a 0 fee exchange for market makers, you can use GDAX right now :)
Since gekko has integrated TA strategies, I tried to utilize it as a trigger to determine the correct time to execute buy-sell order.
That's a lot better than mine, though I only use it to debug and program on Gekko.
If you put your strategy in a gist (and how you think this works best, eg. small candles on highly liquid pairs) I can add it to this page: https://gekko.wizb.it/docs/extending/other_software.html
You can create a gist here: https://gist.github.com/new
On Sat, Oct 28, 2017 at 10:01 AM, bitkominer notifications@github.com wrote:
I tried a similar approach, ie: a time-based pingpong strategy eg.: every 2, 3 or 5 minutes strikes. (I used the strategy in CoinExchange by created a js+iMacros script). Basically it's working nicely in sideways market, but it's gonna eat up our bankroll during trending market when the price goes to opposite direction than we expect.
Since gekko has integrated TA strategies, I tried to utilize it as a trigger to determine the correct time to execute buy-sell order. I've been running this approach for 2 days, and the balance is stable after >200 strikes. What I need to do is furnishing the approach by making some tweaks, either on the RSI setting, or using different TA strategy other than RSI, or making lot size management to cover market fee (which is 0.15% in Poloniex).
I'm pretty sure that the above setting I made will give nice result if we can run it in 0% market fee exchange, such as in vipbitcoin exchange which I requested @danKHUU https://github.com/dankhuu to add it into gekko in 1186 https://github.com/askmike/gekko/issues/1186.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/askmike/gekko/issues/1252#issuecomment-340134883, or mute the thread https://github.com/notifications/unsubscribe-auth/AA7MDyHk4iiQ92cuVPddiwyG41S_Ih4fks5swpjtgaJpZM4QJw1o .
-- PGP key at keybase.io/mikevanrossum https://keybase.io/mikevanrossum/key.asc
Great. I'll take a look on it first.
If you are looking for a 0 fee exchange for market makers, you can use GDAX right now :)
Well... the smallest order of 0.01 in GDAX is quite big, especially for "micro" traders like me :) That's why currently Poloniex is my favorite until @danKHUU comes back with vipbitcoin integration.
The above pingpong strategy can be downloaded from following gist: portfolioManager_pingpong.
It contains 2 supplemental js files to be saved inside folder: /plugins/trader/
To change back to default gekko portfolioManager, just inactivate pingpong variable inside trader.js (line#11):
var activatepingpong = false;
Ah in order for your strategy to work you also needed to patch certain files. What you can also do is create a new fork of Gekko that includes all your changes, that makes it easier for other users to run your version.
It was actually optional to patch certain files, since it can be done also inside portfolioManager individually. But it was quite complicated for some users.
I've never done creating any fork before, but I'll try to do it. Github is a new thing for me... :) Hope I can do it soon.
Thanks!
Hello @bitkominer and @askmike ,
Can you please give some advice to set this up?
I tried to set up the ping pong trader but now I still have to patch the files like askmike notices.
Any help on this? Now I get the error that I can not get market data.
Thank you.
Hi all,
I am a bit new to using bots for trading so I perhaps have some silly questions.
I installed gekko and did some backtesting of the example strategies. Now I would like to start with develop my own strategy and this pingpong strategy is interesting to start with.
I replaced the files that can be downloaded here: portfolioManager_pingpong.
Can I now simply start using the strategy RSI, and then it uses this ping pong strategy or am I making a thinking mistake?
Thanks for your help!
@askmike could you please help me with this issue? I really like to get this thing working but I seems that I cant get it running
Hi @BitKwik & @Altcoinnoob, if you just wanna give a try, here's a modified portfolioManager
No need to patch certain files, just replace the portfolioManager.js using the modified file, then run gekko as usual.
This setting can be used for poloniex (USDT-BTC), using lot size of 11K satoshi for each trade. (You might modify the lot size in variables: amounttobuy & amounttosell).
Inside config file, make following settings to get frequent buy & sell.
exchange: 'poloniex', currency: 'USDT', asset: 'BTC',
config.tradingAdvisor = { enabled: true, method: 'RSI', candleSize: 1, historySize: 3, adapter: 'sqlite'
}``
// RSI settings: config.RSI = { interval: 5, thresholds: { low: 30, high: 70, // How many candle intervals should a trend persist // before we consider it real? persistence: 2 } };
Thanks! I will give it a try
hi..@bitkominer, i have gekko installed in my rpi3 but till now i havent use it to trade in real market.i dont have any knowledge regarding programing,i only use it bactest in ui mode. how can i use your strat in UI mode, which part of the script needs to modified, and also i trade in indonesian currency.Thank you.
Hi, when i try to run the portfolioManager_pingpong with commandline live gekko i receive following error, could you please let me know how to patch files? Thx in advance,
`2018-03-05 21:22:30 (INFO): Setting up:
2018-03-05 21:22:30 (INFO): Advice logger
2018-03-05 21:22:30 (INFO):
2018-03-05 21:22:30 (INFO): Setting up:
2018-03-05 21:22:30 (INFO): Trader
2018-03-05 21:22:30 (INFO): Follows the advice and create real orders.
2018-03-05 21:22:30 (DEBUG): getting ticker, balance & fee from binance
/gekko/plugins/trader/trader.js:13
this.manager.init(next);
^
TypeError: this.manager.init is not a function at gekko/plugins/trader/trader.js:13:16) at /gekko2/gekko/core/pluginUtil.js:95:22) at /gekko2/gekko/node_modules/async/dist/async.js:1156:9 at /gekko2/gekko/node_modules/async/dist/async.js:1030:17) at /gekko2/gekko/node_modules/async/dist/async.js:1015:17) at /gekko/node_modules/async/dist/async.js:988:16 at /gekko/node_modules/async/dist/async.js:1158:13 at /gekko/core/pluginUtil.js:103:9 at Timeout._onTimeout (/gekko/node_modules/lodash/dist/lodash.js:5496:43) at ontimeout (timers.js:458:11) `
Hello guys. Many thanks for you efforts on gekko.
Is there any chance to backtest the modified portfolio manager from @bitkominer? As far as I understand the architecture, it should be hard to get meaningful results. We don't know if one or both orders will be filled or not. During backtest we can't answer that for sure, because we don't have access to the order book. Please correct me if I'm wrong. Do you really test this out with real money until it works? 🤔
have the same issue as @sterns - was attempting to edit the pingpong files for my own but realise even basic use of them fails (after rolling back my edits).
Any advice as to why this wouldn't work, maybe the new updates are clashing with this older script?
Any help greatly appreciated
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. If you feel this is very a important issue please reach out the maintainer of this project directly via e-mail: gekko at mvr dot me.
Hi, this is a sample of customized setting I made to make ping-pong trade. I'm using it to trade BTC-XRP pair in Poloniex.
1. I'm using short periode RSI to generate BUY-SELL signals. (inside config.js):
config.tradingAdvisor = { enabled: true, method: 'RSI', candleSize: 1, historySize: 3, adapter: 'sqlite', talib: { enabled: false, version: '1.0.2' } }
// RSI settings: config.RSI = { interval: 3, thresholds: { low: 30, high: 70, // How many candle intervals should a trend persist // before we consider it real? persistence: 1 } };
2. Inactivate cancel orders step. Just to let gekko execute all orders, and wait the pending orders to be executed later whenever the price movement strikes on them. (inside potfoliomanager.js):
`Manager.prototype.checkOrder = function() { var handleCheckResult = function(err, filled) { if(!filled) { //log.info(this.action, 'order was not (fully) filled, cancelling and creating new order'); //-----inactivate below line to skip cancel orders //this.exchange.cancelOrder(.last(this.orders), .bind(handleCancelResult, this));
`
3. Customize the BUY-SELL setting (inside potfolioManager.js, in the "Manager.prototype.trade" function):
`this.action = what;
var act = function() { var amounttobuy, amounttosell, price, upperprice, lowerprice, minimumbalance, minimumasset, lotsize;
Please have a try, and you might give a feedback to furnish the setting.
Note: not sure if the setting can be backtested. I'm only using it in real trade mode thru terminal and checking the result in polo trade history.