Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 39,322
» Latest member: DishisdesignJewellery
» Forum threads: 926
» Forum posts: 6,383

Full Statistics

Online Users
There are currently 370 online users.
» 0 Member(s) | 370 Guest(s)

Latest Threads
An official Gekko service...
Forum: Announcements
Last Post: tanvirai
11-20-2025, 12:18 PM
» Replies: 113
» Views: 291,590
Gekko development status ...
Forum: Announcements
Last Post: erectilenovus
11-17-2025, 11:36 AM
» Replies: 753
» Views: 1,767,869
Gekko 0.6 released
Forum: Announcements
Last Post: soniyathakur
11-02-2025, 12:21 PM
» Replies: 129
» Views: 380,280
Gekko with malware spotte...
Forum: Announcements
Last Post: cofffee124
10-30-2025, 09:56 AM
» Replies: 216
» Views: 345,996
New Gekko UI in the works
Forum: Announcements
Last Post: cofffee124
09-04-2025, 08:12 AM
» Replies: 186
» Views: 390,447
How to add Binance Future...
Forum: Technical Support
Last Post: Xavier32
10-07-2021, 02:20 PM
» Replies: 47
» Views: 159,116
Bittrex Configuration hel...
Forum: Bittrex
Last Post: yirzolusto
10-07-2021, 07:39 AM
» Replies: 6
» Views: 31,835
[Question] Why does gekko...
Forum: General Discussion
Last Post: cryptocurrency0
10-06-2021, 01:16 PM
» Replies: 16
» Views: 70,988
a couple of technical Que...
Forum: Technical Support
Last Post: mtom78632
10-06-2021, 11:08 AM
» Replies: 25
» Views: 87,737
Is there any way to make ...
Forum: Custom Systems
Last Post: seorun
10-05-2021, 08:20 AM
» Replies: 42
» Views: 134,734

 
  SQLITE_CORRUPT error
Posted by: chad.mercer - 02-12-2018, 08:40 PM - Forum: Technical Support - Replies (3)

Installed gekko on Bash for Windows per the instructions.  UI is working fine.  (Still can't get tulind to install, but that's not the purpose of this post.)

I'm doing a number of imports, and I keep getting errors like this in between "Child process has died." popups:

Quote:{ Error: SQLITE_CORRUPT: database disk image is malformed errno: 11, code: 'SQLITE_CORRUPT' }

The import process seems just a bit flaky.

Any thoughts?


  Exchange blinktrade
Posted by: mauroprojetos - 02-12-2018, 01:58 PM - Forum: Feature Requests - Replies (1)

[color=rgba(0, 0, 0, 0.87)]Friends need to deploy exchange blinktrade
If you have someone interested I give a reward of 0.003 BTC


Follow the API
https://www.npmjs.com/package/blinktrade
[/color]


  Telegram timeout
Posted by: gibba - 02-12-2018, 01:22 PM - Forum: Technical Support - Replies (4)

Hello

i'm using commandline with Telegram alerts setup in the config.js, after some hours i received this error:

Code:
Unhandled rejection TimeoutError: operation timed out
   at afterTimeout (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/timers.js:16:15)
   at Timeout.timeoutTimeout [as _onTimeout] (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/timers.js:59:9)
   at ontimeout (timers.js:458:11)
   at tryOnTimeout (timers.js:296:5)
   at Timer.listOnTimeout (timers.js:259:5)
Unhandled rejection Error: 502 <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.12.2</center>
</body>
</html>

   at ~/bin/gekko/node_modules/node-telegram-bot-api/lib/telegramPolling.js:133:17
   at tryCatcher (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/util.js:26:23)
   at Promise._settlePromiseFromHandler (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/promise.js:510:31)
   at Promise._settlePromiseAt (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/promise.js:584:18)
   at Promise._settlePromises (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/promise.js:700:14)
   at Async._drainQueue (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/async.js:123:16)
   at Async._drainQueues (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/async.js:133:10)
   at Immediate.Async.drainQueues [as _onImmediate] (~/bin/gekko/node_modules/node-telegram-bot-api/node_modules/request-promise/node_modules/bluebird/js/main/async.js:15:14)
   at runCallback (timers.js:756:18)
   at tryOnImmediate (timers.js:717:5)
   at processImmediate [as _immediateCallback] (timers.js:697:5)
Unhandled rejection Error: 502 <html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.12.2</center>
</body>
</html>

Now Telegram alerts stopped to work.
Searching on the web it seems that the timeout limit need to be increased. I don't know if in the plugin library or in the node-telegram-bot-api.

I hope this can help devs solving the problem


  Cannot install Tulip Indicators
Posted by: Sylvesta - 02-12-2018, 01:14 PM - Forum: Technical Discussion - Replies (4)

Hi All, hoping someone can help me here.

So trying to stall the tulip indicator using:

Code:
npm install tulind

I get the following error and not too sure what it means besides it cant get the download from the server:

> tulind@0.8.9 install /home/Sylvesta/gekko/node_modules/tulind
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://tulipnode.s3.amazonaws.com/tulin...x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for tulind@0.8.9 and node@8.9.4 (node-v57 ABI, glibc) (falling back to source compile with node-gyp)
make: Entering directory '/home/Sylvesta/gekko/node_modules/tulind/build'
  CXX(target) Release/obj.target/tulind/tulind.o
../tulind.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE startbyindex(Nan::NAN_METHOD_ARGS_TYPE)’:
../tulind.cpp:72:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (ind->options != options->Length()) {
                      ^
../tulind.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE callbyindex(Nan::NAN_METHOD_ARGS_TYPE)’:
../tulind.cpp:127:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (ind->inputs != inputs->Length()) {
                     ^
../tulind.cpp:134:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (ind->options != options->Length()) {
                      ^
  CC(target) Release/obj.target/tulind/external/tiamalgamation.o
  SOLINK_MODULE(target) /home/Sylvesta/gekko/node_modules/tulind/lib/binding/Release/node-v57-linux-x64/tulind.node
  COPY Release/tulind.node
make: Leaving directory '/home/Sylvesta/gekko/node_modules/tulind/build'
+ tulind@0.8.9
updated 1 package in 10.175s

Anyone have an idea or a workaround for me please?

Cheers!


  Add Kucoin support
Posted by: Wekende - 02-12-2018, 02:04 AM - Forum: Feature Requests - Replies (1)

Hello everyone,

I really would love to test out this bot on the exchange i'm normally trading on, Kucoin. If somebody would take the time and effort to write it i would greatly appreciate it. As far as i know there is already an API for this exchange for node/javascript so only a few adjustments would have to be made i think.


  Strategies repositories
Posted by: xFFFFF - 02-11-2018, 10:51 PM - Forum: Strategy Development - Replies (11)

I uploaded various strategies which I found at Git, Google and here. Repository is in progress - I must do backtests for all what I have. Tomorrow will add more strategies and backtests Smile

https://github.com/xFFFFF/Gekko-Strategies


Question Accuracy of tulip indicators?
Posted by: tommiehansen - 02-11-2018, 10:48 PM - Forum: Technical Discussion - No Replies

I know the accuracy of the indicators (all indicators) has come into question before, but when i ran a really long backtest now it just seems the return performance is too good?

Dataset
Pair: USDT-ETH
Exchange: poloniex
From: 2015-08-08 06:15
To: 2017-11-07 14:37
Duration: 2 years, 3 months, 12 hours, 52 minutes

Params
Candle Size: 15 minutes
Warmup period: 10

Paper trader
All on default

Strategy params

None, since they are defined within the js (see source @ tinit())

Strategy
RSI_BULL_BEAR_ADX

Results (screen)
https://i.imgur.com/L2iPfHV.png
Over 4.4 million percent (!) vs market @ 17 950%
Note: Output chart is cut since i resized the window after completion (it doesn't auto-resize)

Results 2 (screen); 5 minute candles instead of 15
+83 573 824% (yes, over 83 million percent return) which seems implausible
Screen: https://i.imgur.com/bB33jX4.jpg

Other
Running Gekko stable branch

Strategy source

Code:
/*
    RSI Bull and Bear + ADX modifier
    1. Use different RSI-strategies depending on a longer trend
    2. But modify this slighly if shorter BULL/BEAR is detected
    -
    8 feb 2017
    -
    (CC-BY-SA 4.0) Tommie Hansen
    https://creativecommons.org/licenses/by-sa/4.0/
*/

// req's
var log = require ('../core/log.js');
var config = require ('../core/util.js').getConfig();

// strategy
var strat = {
    
    /* INIT */
    init: function()
    {
        this.name = 'RSI Bull and Bear + ADX';
        this.requiredHistory = config.tradingAdvisor.historySize;
        this.resetTrend();        
        
        // debug? set to flase to disable all logging/messages/stats (improves performance)
        this.debug = false;
        
        // performance
        config.backtest.batchSize = 1000; // increase performance
        config.silent = true;
        config.debug = false;
        
        /* TEMP: set params */
        this.settings.SMA_long = 1000; // default 1000
        this.settings.SMA_short = 50; // default 50
        
        this.settings.BULL_RSI = 10; // timeperiod
        this.settings.BULL_RSI_high = 80; // default 80
        this.settings.BULL_RSI_low = 60; // default 60
        
        this.settings.BEAR_RSI = 15; // timeperiod
        this.settings.BEAR_RSI_high = 50; // default 50
        this.settings.BEAR_RSI_low = 20; // default 20
        
        this.settings.ADX = 3; // timeperiod
        this.settings.ADX_high = 70;
        this.settings.ADX_low = 50;
        
        // SMA
        this.addTulipIndicator('maSlow', 'sma', { optInTimePeriod: this.settings.SMA_long });
        this.addTulipIndicator('maFast', 'sma', { optInTimePeriod: this.settings.SMA_short });
        
        // RSI
        this.addTulipIndicator('BULL_RSI', 'rsi', { optInTimePeriod: this.settings.BULL_RSI });
        this.addTulipIndicator('BEAR_RSI', 'rsi', { optInTimePeriod: this.settings.BEAR_RSI });
        
        // ADX
        this.addTulipIndicator('ADX', 'adx', { optInTimePeriod: this.settings.ADX })
        this.adx = { max: 0, min: 0 };
        
        // debug stuff
        this.startTime = new Date();
        this.stat = {
            bear: { min: 100, max: 0 },
            bull: { min: 100, max: 0 }
        };
        
    }, // init()
    
    
    /* RESET TREND */
    resetTrend: function()
    {
        var trend = {
            duration: 0,
            direction: 'none',
            longPos: false,
        };
    
        this.trend = trend;
    },
    
    
    /* get low/high for backtest-period */
    lowHigh: function( rsi, type )
    {
        let cur;
        if( type == 'bear' ) {
            cur = this.stat.bear;
            if( rsi < cur.min ) this.stat.bear.min = rsi; // set new
            if( rsi > cur.max ) this.stat.bear.max = rsi;
        }
        else {
            cur = this.stat.bull;
            if( rsi < cur.min ) this.stat.bull.min = rsi; // set new
            if( rsi > cur.max ) this.stat.bull.max = rsi;
        }
    },
    
    
    /* CHECK */
    check: function()
    {
        
        // get all indicators
        let ind = this.tulipIndicators,
            maSlow = ind.maSlow.result.result,
            maFast = ind.maFast.result.result,
            rsi,
            adx = ind.ADX.result.result;
        
        if( this.debug ){
            if( adx < this.adx.min ) this.adx.min = adx;
            else if( adx > this.adx.max ) this.adx.max = adx;
        }
            
        // BEAR TREND
        if( maFast < maSlow )
        {
            rsi = ind.BEAR_RSI.result.result;
            let rsi_hi = this.settings.BEAR_RSI_high,
                rsi_low = this.settings.BEAR_RSI_low;
            
            // ADX trend strength?
            if( adx > this.settings.ADX_high ) rsi_hi = rsi_hi + 15;
            else if( adx < this.settings.ADX_low ) rsi_low = rsi_low -5;
                
            if( rsi > rsi_hi ) this.short();
            else if( rsi < rsi_low ) this.long();
            
            if(this.debug) this.lowHigh( rsi, 'bear' );
            //log.debug('BEAR-trend');
        }

        // BULL TREND
        else
        {
            rsi = ind.BULL_RSI.result.result;
            let rsi_hi = this.settings.BULL_RSI_high,
                rsi_low = this.settings.BULL_RSI_low;
            
            // ADX trend strength?
            if( adx > this.settings.ADX_high ) rsi_hi = rsi_hi + 5;        
            else if( adx < this.settings.ADX_low ) rsi_low = rsi_low -5;
                
            if( rsi > rsi_hi ) this.short();
            else if( rsi < rsi_low )  this.long();
            if(this.debug) this.lowHigh( rsi, 'bull' );
            //log.debug('BULL-trend');
        }
    
    }, // check()
    
    
    /* LONG */
    long: function()
    {
        if( this.trend.direction !== 'up' ) // new trend? (only act on new trends)
        {
            this.resetTrend();
            this.trend.direction = 'up';
            this.advice('long');
            if( this.debug ) log.info('Going long');
        }
        
        if( this.debug )
        {
            this.trend.duration++;
            log.info('Long since', this.trend.duration, 'candle(s)');
        }
    },
    
    
    /* SHORT */
    short: function()
    {
        // new trend? (else do things)
        if( this.trend.direction !== 'down' )
        {
            this.resetTrend();
            this.trend.direction = 'down';
            this.advice('short');
            if( this.debug ) log.info('Going short');
        }
        
        if( this.debug )
        {
            this.trend.duration++;
            log.info('Short since', this.trend.duration, 'candle(s)');
        }
    },
    
    
    /* END backtest */
    end: function()
    {
        let seconds = ((new Date()- this.startTime)/1000),
            minutes = seconds/60,
            str;
            
        minutes < 1 ? str = seconds + ' seconds' : str = minutes + ' minutes';
        
        log.info('====================================');
        log.info('Finished in ' + str);
        log.info('====================================');
    
        // print stats and messages if debug
        if(this.debug)
        {
            let stat = this.stat;
            log.info('BEAR RSI low/high: ' + stat.bear.min + ' / ' + stat.bear.max);
            log.info('BULL RSI low/high: ' + stat.bull.min + ' / ' + stat.bull.max);
            log.info('ADX min/max: ' + this.adx.min + ' / ' + this.adx.max);
        }
        
    }
    
};

module.exports = strat;


...so what's the status on how good the indicators work?


  How to add the new ico for the binance stock exchange
Posted by: ankasem - 02-11-2018, 06:36 PM - Forum: Binance - No Replies

hi all
How to add the new ico for the binance stock exchange
thank you


  binance usdt eth coin for trading
Posted by: ankasem - 02-11-2018, 02:38 PM - Forum: Binance - Replies (3)

hi all



There is a responsibility to those who use the binance stock exchange


I have eth in my wallet


Can gekko usdt start as eth (for tradebot)


otherwise I should convert it to eth usdt

thank you


  Indicators based on HIGH and LOW values
Posted by: chbinder - 02-11-2018, 12:25 PM - Forum: Strategy Development - Replies (2)

Hi all,

first of all, after having some issues with older gekko versions the current one is working like a charm. Thanks for all the great work!

I created some strategies that work fine and sure, after successfully testing more deeply I will share those here...

For my next "project" I want to create a trading strategy that works great in FOREX markets to verify if it can be used for crypto currencies, too. This strategy is based on two SMAs with the same period but calculated based on the HIGH and LOW values of the candles.

And that's why I kindly ask the community to point me to the right direction:

As I've seen all indicators (gekko, talib, tulip) are calculated based on the CLOSE values (please correct me if I'm wrong). 

Is there a way to do what I explained above? If yes, how can this be achieved?

Many thanks for your support.

Best regards,
Christian