- Square
- Shannon's Demon
Shannon's Demon
Author:
FawkesPan, Date: 2017-12-21 00:28:14
Tags:
RSI
/*
Shannon's Demon Demo Code
Copyright 2018 FawkesPan
Contact : i@fawkex.me / Telegram@FawkesPan
Do What the Fuck You Want To Public License
*/
function onTick(){
var Account = exchange.GetAccount();
var Depth = exchange.GetDepth();
var Buy = Depth.Asks[1].Price;
var Sell = Depth.Bids[1].Price;
var StockValue = Account.Stocks * Buy;
var TotalValue = Account.Balance + StockValue;
var Half = TotalValue / 2;
var Records = exchange.GetRecords(PERIOD_M1);
var RSI = TA.RSI(Records, 14);
//Log("StockValue:", StockValue ," TotalValue:", TotalValue);
var LastRSI = RSI[RSI.length -1];
//Log(LastRSI);
if (StockValue / Half > DS && LastRSI > RSIS) {
Log("StockValue:", StockValue ," TotalValue:", TotalValue);
Log("StockValue Too High. Re Balancing...");
var ToBeSold = (Account.Stocks * Buy - Account.Balance) / 2 / Buy;
Log(exchange.Sell(Buy,ToBeSold));
Sleep(DELAY*1000*5);
}
if (Half / StockValue > DB && LastRSI < RSIB) {
Log("StockValue:", StockValue ," TotalValue:", TotalValue);
Log("StockValue Too Low. Re Balancing...");
var ToBeBought = (Account.Balance - Account.Stocks * Buy) / 2 / Sell;
Log(exchange.Buy(Sell,ToBeBought));
Sleep(DELAY*1000*5);
}
}
function main(){
while(true){
onTick();
Sleep(DELAY*1000);
}
}
template: strategy.tpl:40:21: executing "strategy.tpl" at <.api.GetStrategyListByName>: wrong number of args for GetStrategyListByName: want 7 got 6