2020-01-05 19:16:13 -06:00
[
{
"id" : "6d543cb4.ed3084" ,
"type" : "tab" ,
"label" : "Kraken Trading" ,
"disabled" : false ,
"info" : ""
} ,
2020-01-07 09:22:34 -06:00
{
"id" : "d8e8a587.a39408" ,
"type" : "tab" ,
"label" : "HTML Queries" ,
"disabled" : false ,
"info" : ""
} ,
{
"id" : "af98615f.cf9ce" ,
"type" : "subflow" ,
"name" : "DB Data to HTML Table" ,
"info" : "" ,
"category" : "" ,
"in" : [
{
"x" : 20 ,
"y" : 80 ,
"wires" : [
{
"id" : "3ff8fa1b.3148f6"
}
]
}
] ,
"out" : [
{
"x" : 320 ,
"y" : 240 ,
"wires" : [
{
"id" : "71b8fd74.2d9404" ,
"port" : 0
}
]
}
] ,
"env" : [ ] ,
"color" : "#DDAA99"
} ,
2020-01-05 19:16:13 -06:00
{
"id" : "42702610.230028" ,
"type" : "kraken-credentials" ,
"z" : "" ,
"name" : "DFLT"
} ,
{
"id" : "c0dcbde0.3085" ,
"type" : "sqlitedb" ,
"z" : "" ,
"db" : "KrakenTradingDB.sqlite3" ,
"mode" : "RW"
} ,
2020-01-07 09:22:34 -06:00
{
"id" : "4378beea.a2c7f" ,
"type" : "sqlitedb" ,
"z" : "" ,
"db" : "KrakenTradingDB.sqlite3" ,
"mode" : "RWC"
} ,
2020-01-05 19:16:13 -06:00
{
"id" : "b8c92875.131c58" ,
"type" : "get-server-time" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"x" : 310 ,
"y" : 240 ,
"wires" : [
[
"63e56415.01466c"
] ,
[
"1637654a.83336b"
]
]
} ,
{
"id" : "d11eed52.456ac" ,
"type" : "inject" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"topic" : "" ,
"payload" : "" ,
"payloadType" : "date" ,
"repeat" : "" ,
"crontab" : "" ,
"once" : false ,
"onceDelay" : 0.1 ,
"x" : 120 ,
"y" : 240 ,
"wires" : [
[
"b8c92875.131c58"
]
]
} ,
{
"id" : "63e56415.01466c" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"active" : true ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "false" ,
2020-01-06 20:57:03 -06:00
"x" : 550 ,
"y" : 220 ,
2020-01-05 19:16:13 -06:00
"wires" : [ ]
} ,
{
"id" : "1637654a.83336b" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"active" : true ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "false" ,
"x" : 560 ,
"y" : 320 ,
"wires" : [ ]
} ,
{
"id" : "978bdbc5.1c3508" ,
"type" : "get-account-balance" ,
"z" : "6d543cb4.ed3084" ,
"kraken" : "42702610.230028" ,
"name" : "" ,
"x" : 340 ,
"y" : 480 ,
"wires" : [
[
"5fd28dbd.7d1504"
] ,
[
"8d9b208b.f68a7"
]
]
} ,
{
"id" : "5fd28dbd.7d1504" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Kraken-Balance" ,
"active" : true ,
"tosidebar" : true ,
"console" : true ,
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 600 ,
"y" : 460 ,
"wires" : [ ]
} ,
{
"id" : "8d9b208b.f68a7" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Kraken Balance ERROR" ,
"active" : true ,
"tosidebar" : true ,
"console" : true ,
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 630 ,
"y" : 540 ,
"wires" : [ ]
} ,
{
"id" : "586b4d14.eca6f4" ,
"type" : "inject" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"topic" : "" ,
"payload" : "" ,
"payloadType" : "date" ,
"repeat" : "18000" ,
"crontab" : "" ,
"once" : false ,
"onceDelay" : 0.1 ,
"x" : 130 ,
"y" : 480 ,
"wires" : [
[
"978bdbc5.1c3508"
]
]
} ,
{
"id" : "a669c08c.d0185" ,
"type" : "sqlite" ,
"z" : "6d543cb4.ed3084" ,
"mydb" : "c0dcbde0.3085" ,
"sqlquery" : "msg.topic" ,
"sql" : "" ,
"name" : "" ,
2020-01-06 20:57:03 -06:00
"x" : 890 ,
"y" : 720 ,
2020-01-05 19:16:13 -06:00
"wires" : [
[ ]
]
} ,
{
"id" : "4f94e60f.4d3838" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Build Insert Statement" ,
"func" : "msg.topic=\"Insert into KrakenQuotes (Symbol,Data) values ('XETCZUSD','\" + JSON.stringify(msg.payload.XETCZUSD) + \"');\"\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
2020-01-06 20:57:03 -06:00
"x" : 600 ,
"y" : 760 ,
2020-01-05 19:16:13 -06:00
"wires" : [
[
"853572da.0b0bf" ,
"a669c08c.d0185"
]
]
} ,
{
"id" : "853572da.0b0bf" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"active" : false ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "true" ,
"targetType" : "full" ,
2020-01-06 20:57:03 -06:00
"x" : 830 ,
"y" : 780 ,
"wires" : [ ]
} ,
{
"id" : "b6c88df3.41573" ,
"type" : "get-ticker-information" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"x" : 350 ,
"y" : 1040 ,
"wires" : [
[
"8f27b1c3.3277e" ,
"1a447d86.305162" ,
"4f94e60f.4d3838"
] ,
[
"57c6ead4.4943d4"
]
]
} ,
{
"id" : "b131c158.9b6e5" ,
"type" : "inject" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"topic" : "" ,
"payload" : "{\"pair\":\"XETCZUSD\"}" ,
"payloadType" : "json" ,
"repeat" : "60" ,
"crontab" : "" ,
"once" : false ,
"onceDelay" : 0.1 ,
"x" : 160 ,
"y" : 1040 ,
"wires" : [
[
"b6c88df3.41573"
]
]
} ,
{
"id" : "8f27b1c3.3277e" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"active" : false ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "false" ,
"x" : 590 ,
2020-01-05 19:16:13 -06:00
"y" : 880 ,
"wires" : [ ]
} ,
{
2020-01-06 20:57:03 -06:00
"id" : "57c6ead4.4943d4" ,
2020-01-05 19:16:13 -06:00
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
2020-01-07 09:22:34 -06:00
"name" : "Ticker Retrieval Error" ,
2020-01-05 19:16:13 -06:00
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
2020-01-07 09:22:34 -06:00
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 510 ,
"y" : 1100 ,
2020-01-06 20:57:03 -06:00
"wires" : [ ]
} ,
{
"id" : "1a447d86.305162" ,
"type" : "switch" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Initialization Needed?" ,
"property" : "lastExecPrice" ,
"propertyType" : "flow" ,
"rules" : [
{
"t" : "null"
} ,
{
"t" : "else"
}
] ,
"checkall" : "true" ,
"repair" : false ,
"outputs" : 2 ,
"x" : 560 ,
"y" : 1020 ,
"wires" : [
[
"b14715f9.da01b8"
] ,
[
"746dd800.489408" ,
"3fcb4bfe.6d4b84"
]
]
} ,
{
"id" : "b14715f9.da01b8" ,
"type" : "change" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"rules" : [
{
"t" : "set" ,
"p" : "lastExecPrice" ,
"pt" : "flow" ,
"to" : "payload.XETCZUSD.a[0]" ,
"tot" : "msg"
} ,
{
"t" : "set" ,
"p" : "maxVolume" ,
"pt" : "flow" ,
"to" : "10" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "minVolume" ,
"pt" : "flow" ,
"to" : "0" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "currVolume" ,
"pt" : "flow" ,
"to" : "0" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "delta" ,
"pt" : "flow" ,
"to" : "0.1" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "grosBalance" ,
"pt" : "flow" ,
"to" : "0" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "commission" ,
"pt" : "flow" ,
"to" : "0" ,
"tot" : "num"
} ,
{
"t" : "set" ,
"p" : "acctBalance" ,
"pt" : "flow" ,
"to" : "100" ,
"tot" : "num"
}
] ,
"action" : "" ,
"property" : "" ,
"from" : "" ,
"to" : "" ,
"reg" : false ,
"x" : 840 ,
"y" : 960 ,
"wires" : [
[ ]
]
} ,
{
"id" : "713645b4.f9ba7c" ,
"type" : "switch" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Action" ,
"property" : "action" ,
"propertyType" : "msg" ,
"rules" : [
{
"t" : "eq" ,
"v" : "sell" ,
"vt" : "str"
} ,
{
"t" : "eq" ,
"v" : "buy" ,
"vt" : "str"
} ,
{
"t" : "else"
}
] ,
"checkall" : "true" ,
"repair" : false ,
"outputs" : 3 ,
"x" : 1050 ,
"y" : 1100 ,
"wires" : [
[
"8fc8be9f.e3552" ,
"894f2795.914b38"
] ,
[
"9073f8dd.8a8558" ,
"e961895.42ab678"
] ,
[
"1bc0ea09.db8676"
]
]
} ,
{
"id" : "8fc8be9f.e3552" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "gt (Sell)" ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-05 19:16:13 -06:00
"tostatus" : false ,
"complete" : "true" ,
"targetType" : "full" ,
2020-01-06 20:57:03 -06:00
"x" : 1400 ,
"y" : 1020 ,
2020-01-05 19:16:13 -06:00
"wires" : [ ]
2020-01-06 20:57:03 -06:00
} ,
{
"id" : "9073f8dd.8a8558" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "lt (buy)" ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
"complete" : "true" ,
"targetType" : "full" ,
2020-01-07 09:22:34 -06:00
"x" : 1400 ,
2020-01-06 20:57:03 -06:00
"y" : 1100 ,
"wires" : [ ]
} ,
{
"id" : "1bc0ea09.db8676" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "small" ,
"active" : false ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 1370 ,
"y" : 1240 ,
"wires" : [ ]
} ,
{
"id" : "746dd800.489408" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"active" : false ,
"tosidebar" : true ,
"console" : false ,
"tostatus" : false ,
"complete" : "{\"le\":$flowContext('lastExecPrice'),\"cp\":payload.XETCZUSD.a[0] }" ,
"targetType" : "jsonata" ,
"x" : 760 ,
"y" : 1180 ,
"wires" : [ ]
} ,
{
"id" : "37af9cb0.cd7d74" ,
"type" : "inject" ,
"z" : "6d543cb4.ed3084" ,
"name" : "" ,
"topic" : "" ,
"payload" : "" ,
"payloadType" : "date" ,
"repeat" : "" ,
"crontab" : "" ,
"once" : false ,
"onceDelay" : 0.1 ,
"x" : 660 ,
"y" : 940 ,
"wires" : [
[
"b14715f9.da01b8"
]
]
} ,
{
"id" : "894f2795.914b38" ,
"type" : "switch" ,
"z" : "6d543cb4.ed3084" ,
"name" : "MinReached?" ,
"property" : "currVolume" ,
"propertyType" : "flow" ,
"rules" : [
{
"t" : "gt" ,
"v" : "minVolume" ,
"vt" : "flow"
} ,
{
"t" : "else"
}
] ,
"checkall" : "true" ,
"repair" : false ,
"outputs" : 2 ,
"x" : 1500 ,
"y" : 1060 ,
"wires" : [
[
"db4dcb29.89cd38" ,
"7a524b14.ab2ea4"
] ,
[
"c6b046f0.da94b8" ,
"10898ef6.fab381"
]
]
} ,
{
"id" : "c6b046f0.da94b8" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Not Selling, min Volume reached." ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 1800 ,
"y" : 1100 ,
"wires" : [ ]
} ,
{
"id" : "db4dcb29.89cd38" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "SELLING!" ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
2020-01-07 09:22:34 -06:00
"x" : 1730 ,
2020-01-06 20:57:03 -06:00
"y" : 1020 ,
"wires" : [ ]
} ,
{
"id" : "9ff35104.7db0d" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "BUYING!" ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
2020-01-07 09:22:34 -06:00
"x" : 1710 ,
2020-01-06 20:57:03 -06:00
"y" : 1180 ,
"wires" : [ ]
} ,
{
"id" : "e961895.42ab678" ,
"type" : "switch" ,
"z" : "6d543cb4.ed3084" ,
"name" : "MaxReached?" ,
"property" : "currVolume" ,
"propertyType" : "flow" ,
"rules" : [
{
"t" : "lt" ,
"v" : "maxVolume" ,
"vt" : "flow"
} ,
{
"t" : "else"
}
] ,
"checkall" : "true" ,
"repair" : false ,
"outputs" : 2 ,
"x" : 1500 ,
"y" : 1200 ,
"wires" : [
[
"9ff35104.7db0d" ,
"11de6ea9.7cbab1"
] ,
[
"cf8bb8be.0de778" ,
"b1857f61.f3b9a"
]
]
} ,
{
"id" : "cf8bb8be.0de778" ,
"type" : "debug" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Not buying, max Volume reached." ,
"active" : true ,
"tosidebar" : true ,
2020-01-07 09:22:34 -06:00
"console" : true ,
2020-01-06 20:57:03 -06:00
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
2020-01-07 09:22:34 -06:00
"x" : 1790 ,
2020-01-06 20:57:03 -06:00
"y" : 1260 ,
"wires" : [ ]
} ,
{
"id" : "3fcb4bfe.6d4b84" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "Determine Action" ,
"func" : "//$number(payload.XETCZUSD.a[0]) - $number($flowContext('lastExecPrice'))\n\nconst delta=flow.get('delta'); // how much price move to take action?\nlet askPrice=msg.payload.XETCZUSD.a[0];\nlet bidPrice=msg.payload.XETCZUSD.b[0];\nlet lastExecPrice=flow.get('lastExecPrice');\n\nmsg.lastExecPrice=lastExecPrice;\n\nif (bidPrice>lastExecPrice+delta) {\n msg.action=\"sell\";\n msg.price=bidPrice;\n} else if (askPrice<lastExecPrice-delta) {\n msg.action=\"buy\";\n msg.price=askPrice;\n} else {\n msg.action=\"nothing\";\n}\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 890 ,
"y" : 1100 ,
"wires" : [
[
"713645b4.f9ba7c"
]
]
} ,
{
"id" : "7a524b14.ab2ea4" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "SellAction" ,
"func" : "let commission = flow.get('commission');\nlet grosBalance = flow.get('grosBalance');\nlet acctBalance = flow.get('acctBalance');\nlet delta = flow.get('delta');\n\nlet sellPrice = Number(msg.payload.XETCZUSD.b[0]);\n\ncommission += sellPrice*0.0026;\ngrosBalance -= 1;\nacctBalance += sellPrice;\n\nflow.set('commission',commission);\nflow.set('grosBalance',grosBalance);\nflow.set('acctBalance',acctBalance);\n\nflow.set('lastExecPrice',sellPrice);\nflow.set('currVolume',flow.get('currVolume')-1);\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 1710 ,
"y" : 980 ,
"wires" : [
[ ]
]
} ,
{
"id" : "11de6ea9.7cbab1" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "BuyAction" ,
"func" : "let commission = flow.get('commission');\nlet grosBalance = flow.get('grosBalance');\nlet acctBalance = flow.get('acctBalance');\nlet delta = flow.get('delta');\n\nlet buyPrice = Number(msg.payload.XETCZUSD.a[0]);\n\ncommission += buyPrice*0.0026;\ngrosBalance += 1;\nacctBalance -= buyPrice;\n\nflow.set('commission',commission);\nflow.set('grosBalance',grosBalance);\nflow.set('acctBalance',acctBalance);\n\nflow.set('lastExecPrice',buyPrice);\nflow.set('currVolume',flow.get('currVolume')+1);\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 1700 ,
"y" : 1140 ,
"wires" : [
[ ]
]
} ,
{
"id" : "10898ef6.fab381" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "NoSellAction" ,
"func" : "let sellPrice = Number(msg.payload.XETCZUSD.b[0]);\n\nflow.set('lastExecPrice',sellPrice);\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 1730 ,
"y" : 1060 ,
"wires" : [
[ ]
]
} ,
{
"id" : "b1857f61.f3b9a" ,
"type" : "function" ,
"z" : "6d543cb4.ed3084" ,
"name" : "NoBuyAction" ,
"func" : "let buyPrice = Number(msg.payload.XETCZUSD.a[0]);\n\nflow.set('lastExecPrice',sellPrice);\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 1710 ,
"y" : 1220 ,
"wires" : [
[ ]
]
2020-01-07 09:22:34 -06:00
} ,
{
"id" : "71b8fd74.2d9404" ,
"type" : "template" ,
"z" : "af98615f.cf9ce" ,
"name" : "HTML" ,
"field" : "payload" ,
"fieldType" : "msg" ,
"format" : "handlebars" ,
"syntax" : "mustache" ,
"template" : "<html>\n <head>\n <title>{{payload.title}}</title>\n <style>{{payload.style}}</style>\n </head>\n<body>\n<table border='1'>\n <tr>\n {{#payload.header}}\n <th>{{.}}</th>\n {{/payload.header}}\n </tr>\n {{#payload.data}}\n <tr>\n {{#.}}\n <td><pre>{{.}}</pre></td>\n {{/.}}\n </tr>\n {{/payload.data}}\n</table>\n</body>\n</html>" ,
"output" : "str" ,
"x" : 190 ,
"y" : 240 ,
"wires" : [
[ ]
]
} ,
{
"id" : "3ff8fa1b.3148f6" ,
"type" : "function" ,
"z" : "af98615f.cf9ce" ,
"name" : "JSON Obj -> Array split Header and Data" ,
"func" : "function toArray(json_data){\n for(var i in json_data)\n result.push([i, json_data [i]]);\n}\n\nfunction getHeader(json_data){\n let keys=Object.keys(json_data);\n return keys;\n}\n\nlet pl=msg.payload;\ndelete msg.payload;\n\nmsg.payload={};\nmsg.payload.header=[];\nmsg.payload.data=[];\nmsg.payload.title=msg.title;\n\nlet y=[];\nfor(var i in pl) {\n if (i==1) {\n msg.payload.header=getHeader(pl[i]);\n }\n let x=[];\n for (var j in pl[i]){\n x.push(pl[i][j]);\n }\n y.push(x);\n}\n\nmsg.payload.data=y;\n\nreturn msg;" ,
"outputs" : 1 ,
"noerr" : 0 ,
"x" : 260 ,
"y" : 80 ,
"wires" : [
[
"325628f8.f9bb48"
]
]
} ,
{
"id" : "325628f8.f9bb48" ,
"type" : "template" ,
"z" : "af98615f.cf9ce" ,
"name" : "CSS" ,
"field" : "payload.style" ,
"fieldType" : "msg" ,
"format" : "handlebars" ,
"syntax" : "mustache" ,
"template" : "html,\nbody {\n height: 100%;\n}\nbody {\n margin: 0;\n background: #222222;\n font-family: sans-serif;\n font-weight: 100;\n}\n.container {\n position: absolute;\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\ntable {\n width: 800px;\n border-collapse: collapse;\n overflow: hidden;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n}\ntd {\n padding: 0px;\n background-color: rgba(255, 255, 255, 0.2);\n color: #ffffff;\n text-align: left;\n}\npre {\n margin: 0;\n text-align: left;\n}\nth {\n background-color: #27206f;\n color: yellow;\n}\ntbody tr:hover {\n background-color: rgba(255, 255, 255, 0.3);\n}\ntbody td {\n position: relative;\n}\ntbody td:hover:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: -9999px;\n bottom: -9999px;\n background-color: rgba(255, 255, 255, 0.2);\n z-index: -1;\n}\n" ,
"output" : "str" ,
"x" : 190 ,
"y" : 160 ,
"wires" : [
[
"71b8fd74.2d9404"
]
]
} ,
{
"id" : "8b96370c.e63028" ,
"type" : "debug" ,
"z" : "d8e8a587.a39408" ,
"d" : true ,
"name" : "" ,
"active" : true ,
"tosidebar" : true ,
"console" : true ,
"tostatus" : false ,
"complete" : "payload" ,
"targetType" : "msg" ,
"x" : 360 ,
"y" : 100 ,
"wires" : [ ]
} ,
{
"id" : "448c23fb.54356c" ,
"type" : "http response" ,
"z" : "d8e8a587.a39408" ,
"name" : "" ,
"statusCode" : "" ,
"headers" : { } ,
"x" : 1000 ,
"y" : 140 ,
"wires" : [ ]
} ,
{
"id" : "e7546e50.b4e6" ,
"type" : "sqlite" ,
"z" : "d8e8a587.a39408" ,
"mydb" : "4378beea.a2c7f" ,
"sqlquery" : "fixed" ,
"sql" : "select * from TradeGeneralLog order by ID desc limit 10000;" ,
"name" : "" ,
"x" : 680 ,
"y" : 140 ,
"wires" : [
[
"b67c9c51.fda15"
]
]
} ,
{
"id" : "79f2b3b4.db6cdc" ,
"type" : "change" ,
"z" : "d8e8a587.a39408" ,
"name" : "Set Title (Manual)" ,
"rules" : [
{
"t" : "set" ,
"p" : "title" ,
"pt" : "msg" ,
"to" : "LOGs" ,
"tot" : "str"
}
] ,
"action" : "" ,
"property" : "" ,
"from" : "" ,
"to" : "" ,
"reg" : false ,
"x" : 300 ,
"y" : 140 ,
"wires" : [
[
"e7546e50.b4e6" ,
"8b96370c.e63028"
]
]
} ,
{
"id" : "b67c9c51.fda15" ,
"type" : "subflow:af98615f.cf9ce" ,
"z" : "d8e8a587.a39408" ,
"name" : "" ,
"env" : [ ] ,
"x" : 760 ,
"y" : 220 ,
"wires" : [
[
"448c23fb.54356c"
]
]
} ,
{
"id" : "7f957960.b6cd58" ,
"type" : "http in" ,
"z" : "d8e8a587.a39408" ,
"name" : "" ,
"url" : "/getLog" ,
"method" : "get" ,
"upload" : false ,
"swaggerDoc" : "" ,
"x" : 80 ,
"y" : 140 ,
"wires" : [
[
"79f2b3b4.db6cdc"
]
]
2020-01-05 19:16:13 -06:00
}
]