资源加载中... loading...

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