Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gekkoga wan`t start #2

Closed
failhunterby opened this issue Nov 9, 2017 · 9 comments
Closed

gekkoga wan`t start #2

failhunterby opened this issue Nov 9, 2017 · 9 comments

Comments

@failhunterby
Copy link

Getting error:

  async loadBreakPoint() {
        ^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier```
@generalectric
Copy link
Collaborator

Upgrade your node... node > v7.x.x is required

@sanitariu
Copy link

I have problems runnning this on node 8.9.1.
First terminal is giving that error:
xxx POST /api/backtest 500 1,060ms -

Error: non-error thrown: Child process has died.
at Object.onerror (/home/genetic/gekko/node_modules/koa/lib/context.js:105:40)
at
at process._tickCallback (internal/process/next_tick.js:188:7)


GeneticA terminal is giving many errors like:

/gekko/gekkoga$ node run -c config/config.js
No previous run data, starting from scratch!
Starting training with: 4 units
{ StatusCodeError: 500 - "Internal Server Error"
at new StatusCodeError (/home/genetic/gekko/node_modules/request-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/home/genetic/gekko/node_modules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/home/genetic/gekko/node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/home/genetic/gekko/node_modules/request/request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (/home/genetic/gekko/node_modules/request/request.js:1171:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (/home/genetic/gekko/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
name: 'StatusCodeError',
statusCode: 500,

Maybe i miss something ?
Can you help ?
Thanks.

@dinankou
Copy link

dinankou commented Nov 10, 2017

It works fine on mine, after some workaround though...
I just have a kind of time out deconnection from the server after a long backtest. but i can easily restart the ga, and it continues from where it stopped.

I had to upgrade node, though, reinstall gekko and its dependencies, then reinstall gekkoga and the other npm packages mentionned on http://gekkowarez.com/gekko-genetic-algorithm/

Side question to @generalectric : what are the variables on which the GA is working in your sample config file ? seems to me its only candle size, history size and thresholds. Not 'signal', nor the short / long EMAs am i correct ?

edit : running on windows 10

@generalectric
Copy link
Collaborator

Correct in the sample the macd long short signal are hard coded.. So it's only doing candles thresholds and history size.

You reminded me.. I'm going to move the timeout setting into the config. Keep in mind when this happens it will break configs.. So keep an eye out for commits where Sample-config.js has new stuff added to it.. Because you will need to add them to your config in the event you update

@generalectric
Copy link
Collaborator

@sanitariu that's usually a face-palm error... Like when I realize I forgot something silly and wanna face palm myself. The error catching is really good.. You can usually find out exactly where the error is.. But in this case it's most likely something basic like no data.. Bad daterange... Bad stratname.. Are some examples probably the most common is I forgot to change stratname when I get that

@sanitariu
Copy link

Hello,
This is how I install all:

git clone git://github.com/askmike/gekko.git
npm install --only=production
npm install talib
I edit here web/vue/UIconfig.js and change the port to 3002
I changed access for 0.0.0.0
And instead localhost i am using 192.168.1.129
Here how it looks like:

const CONFIG = {
headless: true,
api: {
host: '0.0.0.0',
port: 3002,
},
ui: {
ssl: false,
host: '192.168.1.129',
port: 3002,
path: '/'
},
adapter: 'sqlite'
}

if(typeof window === 'undefined')
module.exports = CONFIG;
else
window.CONFIG = CONFIG;

Now running the node:
~/gekko/web$ node --max-old-space-size=8192 server.js
TAlib is enabled

Serving Gekko UI on http://192.168.1.129:3002/

Everything is fine. And i can access on web too.

Now gekkoga part in another terminal:
cd gekko
git clone https://github.com/gekkowarez/gekkoga.git
npm install random-ext
npm install fs-extra
cd gekkoga/config
cp sample-config.js your-new.js
Now i edit your-new.js and replace localhost:3000 with 192.168.1.129:3002
cd ..
gekko/gekkoga$ node run -c config/your-new.js

And now crash as before. I tried 3 times from scratch. Maybe i miss something
very little.
If anyone see it please help.

Error on terminal 1:

xxx POST /api/backtest 500 874ms -

Error: non-error thrown: Child process has died.
at Object.onerror (/home/genetic/gekko/node_modules/koa/lib/context.js:105:40)
at
at process._tickCallback (internal/process/next_tick.js:188:7)

Error on terminal 2 where running gekkoga:


node run -c config/your-new.js
No previous run data, starting from scratch!
Starting training with: 4 units
{ StatusCodeError: 500 - "Internal Server Error"
at new StatusCodeError (/home/genetic/gekko/node_modules/request-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/home/genetic/gekko/node_modules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/home/genetic/gekko/node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/home/genetic/gekko/node_modules/request/request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (/home/genetic/gekko/node_modules/request/request.js:1171:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (/home/genetic/gekko/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
name: 'StatusCodeError',
statusCode: 500,
message: '500 - "Internal Server Error"',
error: 'Internal Server Error',
options:
{ url: 'http://192.168.1.129:3002/api/backtest',
json: true,
body: { gekkoConfig: [Object], data: [Object] },
headers: { 'Content-Type': 'application/json' },
timeout: 900000,
method: 'POST',
callback: [Function: RP$callback],
transform: undefined,
simple: true,
resolveWithFullResponse: false,
transform2xxOnly: false },
response:
IncomingMessage {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: [Object],
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: true,
endEmitted: true,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
destroyed: false,
defaultEncoding: 'utf8',
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: false,
domain: null,
_events:
{ end: [Array],
close: [Array],
data: [Function],
error: [Function] },
_eventsCount: 4,
_maxListeners: undefined,
socket:
Socket {
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: null,
_readableState: [Object],
readable: false,
domain: null,
_events: [Object],
_eventsCount: 9,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
_bytesDispatched: 934,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: null,
_server: null,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleTimeout: -1,
_idleNext: null,
_idlePrev: null,
_idleStart: 1199,
_destroyed: false,
[Symbol(asyncId)]: 18,
[Symbol(bytesRead)]: 176,
[Symbol(asyncId)]: 53,
[Symbol(triggerAsyncId)]: 30 },
connection:
Socket {
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: null,
_readableState: [Object],
readable: false,
domain: null,
_events: [Object],
_eventsCount: 9,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
_bytesDispatched: 934,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: null,
_server: null,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleTimeout: -1,
_idleNext: null,
_idlePrev: null,
_idleStart: 1199,
_destroyed: false,
[Symbol(asyncId)]: 18,
[Symbol(bytesRead)]: 176,
[Symbol(asyncId)]: 53,
[Symbol(triggerAsyncId)]: 30 },
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers:
{ 'content-type': 'text/plain; charset=utf-8',
'content-length': '21',
date: 'Fri, 10 Nov 2017 13:44:49 GMT',
connection: 'close' },
rawHeaders:
[ 'Content-Type',
'text/plain; charset=utf-8',
'Content-Length',
'21',
'Date',
'Fri, 10 Nov 2017 13:44:49 GMT',
'Connection',
'close' ],
trailers: {},
rawTrailers: [],
upgrade: false,
url: '',
method: null,
statusCode: 500,
statusMessage: 'Internal Server Error',
client:
Socket {
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: null,
_readableState: [Object],
readable: false,
domain: null,
_events: [Object],
_eventsCount: 9,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
_bytesDispatched: 934,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: null,
_server: null,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleTimeout: -1,
_idleNext: null,
_idlePrev: null,
_idleStart: 1199,
_destroyed: false,
[Symbol(asyncId)]: 18,
[Symbol(bytesRead)]: 176,
[Symbol(asyncId)]: 53,
[Symbol(triggerAsyncId)]: 30 },
_consuming: true,
_dumped: false,
req:
ClientRequest {
domain: null,
_events: [Object],
_eventsCount: 6,
_maxListeners: undefined,
output: [],
outputEncodings: [],
outputCallbacks: [],
outputSize: 0,
writable: true,
_last: true,
upgrading: false,
chunkedEncoding: false,
shouldKeepAlive: false,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [Object],
connection: [Object],
_header: 'POST /api/backtest HTTP/1.1\r\nContent-Type: application/json\r\nhost: 192.168.1.129:3002\r\naccept: application/json\r\ncontent-length: 779\r\nConnection: close\r\n\r\n',
_onPendingData: [Function: noopPendingOutput],
agent: [Object],
socketPath: undefined,
timeout: undefined,
method: 'POST',
path: '/api/backtest',
_ended: true,
res: [Circular],
aborted: undefined,
timeoutCb: [Function: emitTimeout],
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
[Symbol(outHeadersKey)]: [Object] },
request:
Request {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
body: '{"gekkoConfig":{"watch":{"exchange":"poloniex","currency":"USDT","asset":"BTC"},"paperTrader":{"slippage":0.05,"feeTaker":0.25,"feeMaker":0.25,"feeUsing":"taker","simulationBalance":{"asset":1,"currency":1},"reportRoundtrips":true,"enabled":true},"writer":{"enabled":false,"logpath":""},"tradingAdvisor":{"enabled":true,"method":"MACD","candleSize":240,"historySize":70},"trader":{"enabled":false},"backtest":{"daterange":{"from":"2017-07-01 00:00","to":"2017-09-07 00:00"}},"performanceAnalyzer":{"riskFreeReturn":5,"enabled":true},"valid":true,"MACD":{"historySize":70,"short":10,"long":21,"signal":9,"thresholds":{"up":"10.26","down":"-4.60"},"candleSize":240}},"data":{"candleProps":["close","start"],"indicatorResults":false,"report":true,"roundtrips":false,"trades":false}}',
headers: [Object],
timeout: 900000,
method: 'POST',
readable: true,
writable: true,
explicitMethod: true,
_qs: [Object],
_auth: [Object],
_oauth: [Object],
_multipart: [Object],
_redirect: [Object],
_tunnel: [Object],
_rp_resolve: [Function],
_rp_reject: [Function],
_rp_promise: [Object],
_rp_callbackOrig: undefined,
callback: [Function],
_rp_options: [Object],
setHeader: [Function],
hasHeader: [Function],
getHeader: [Function],
removeHeader: [Function],
localAddress: undefined,
pool: {},
dests: [],
__isRequestRequest: true,
_callback: [Function: RP$callback],
uri: [Object],
proxy: null,
tunnel: false,
setHost: true,
originalCookieHeader: undefined,
_disableCookies: true,
_jar: undefined,
port: '3002',
host: '192.168.1.129',
path: '/api/backtest',
_json: true,
httpModule: [Object],
agentClass: [Object],
agent: [Object],
_started: true,
href: 'http://192.168.1.129:3002/api/backtest',
req: [Object],
ntick: true,
timeoutTimer: null,
response: [Circular],
originalHost: '192.168.1.129:3002',
originalHostHeaderName: 'host',
responseContent: [Circular],
_destdata: true,
_ended: true,
_callbackCalled: true },
toJSON: [Function: responseToJSON],
caseless: Caseless { dict: [Object] },
read: [Function],
body: 'Internal Server Error' } }

@sanitariu
Copy link

sanitariu commented Nov 10, 2017

Ok i saw the problem. Before running i must import the data specified in the config file and for that period.
Now trying to make it somehow live...

@sanitariu
Copy link

To generalectric: it will be good to add something/somewhere to print .... "You do not have data, or waiting for data" and not crashing.

@Gebrax
Copy link

Gebrax commented Dec 29, 2017

i adjust my gekkoga config file to exact date of imported data n its work. thankyou @sanitariu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants