Estratégia de varejo único V2.0_ anualizado 130%

Autora:Quantificação de turmas, Data: 18/10/2019 às 18:01:30
Tags:Grelha

Algumas estatísticas mostram que 80% do tempo, em termos de tendências de mercado, está em uma tendência turbulenta. A estratégia de rede é uma estratégia para lidar com a turbulência. A estratégia de rede é concretamente implementada de várias maneiras, mas a essência é estabelecer uma estratégia de aumento relativamente estável, desde que a flutuação de preços atenda às condições da estratégia. Hoje, o gerente de bloco introduziu uma estratégia de quantificação, semelhante a negociação em rede, mas com base nisso, fez algumas melhorias, que podem chegar a 130% de rendimento anual em alguns casos. O gerente de bloco chamou isso de estratégia de pequeno ponto de venda, ou seja, imaginar que o operador é o operador de um pequeno ponto de venda. Ele aponta para um preço justo no mercado, uma vez que o preço justo é superior ao preço justo; ele lança o produto, abaixo do preço justo, ele compra o produto. A partir de agora, a empresa está a trabalhar com a empresa para a criação de um novo projeto. O primeiro passo: observar a volatilidade do produto, encontrar um indicador de preço justo, que pode ser uma linha média (ou 20 ciclos de uma linha de 30 minutos) ou a linha média de Brin; comprar 5 posições por defeito e registrar o preço da transação; Passo 2: Se o indicador de preço justo for inferior a 3%, indicar a compra; Se o indicador de preço justo for superior a 3%, indicar a venda; E registrar o preço da transação; Se for inferior a 5% do preço da transação anterior, recomendar a compra; superior a 5% do preço da transação, recomendar a venda; e registrar o preço da transação; Passo 3: Dependendo do posicionamento atual, decida como operar quando receber uma ordem de compra; os posicionamentos flutuam entre 10% e 9%, além desse intervalo não são operados, mas o preço de transação pode ser registrado; apenas 2 ou 1 posição é comprada por operação, evitando operações ilimitadas. A estratégia é chamada de estratégia de venda pequena de um único produto, porque a loja pequena tem apenas um produto. Para melhorar, esperamos aumentar a rotatividade de vários produtos e até mesmo fazer cobertura de vazio. Vamos fazer um teste de retrospectiva, primeiro, escolhemos o ETH com uma grande volatilidade como o commodity, o ciclo é de 1o de janeiro a 10 de outubro de 2019, com altos e baixos neste intervalo. Como pode ser visto, o retrospecto foi bom, atingindo uma taxa de anualização de 130%, além de criar uma taxa de transação de 1.651 dólares, um resultado que deve ser uma estratégia para ambas as bolsas e os traders. A desvantagem é que o recall máximo é um pouco alto, atingindo cerca de 30%; o principal recall é enviado em um estágio de queda significativa do produto. Pensar também é compreensível, porque essa estratégia é para a negociação de produtos fixos, se o preço do produto cair, talvez haja alguns produtos em alta, que ainda não tenham sido liberados para o mercado. Após a inscrição no site https://m.bihu.com/signup?i=1ewtKO&s=4&c=4, pesquise o blockchain da Internet das Coisas e entre em contato com o diretor do autor. Além disso, é necessário lembrar ao leitor que esta estratégia também se relaciona com a escolha de produtos. Tente escolher os produtos com maior volatilidade e que pareçam aumentar no longo prazo. Por outro lado, se você combinar os produtos para ajustar os parâmetros, as pequenas variações, desde que possam cobrir as taxas de processamento, também não devem ser um problema.


/*backtest
start: 2019-01-01 00:00:00
end: 2019-10-10 00:00:00
period: 1d
exchanges: [{"eid":"OKEX","currency":"ETH_USDT","stocks":0}]
args: [["OpMode",1,10989],["MaxAmount",1,10989],["TradeFee",0.001,10989]]
*/
//注册币乎后https://m.bihu.com/signup?i=1ewtKO&s=4&c=4
//搜索 物联网区块链 可以联系到作者区班主
function main() {
    var isInit = 1; //表示初始态
    var allAmount;
    var cashRatio;
    var initAccount = _C(exchange.GetAccount);
    var lastPrice;
    var wantRatio;
    var wantOper=0;//期待的操作,0不操作,1买入,-1卖出
    Log(initAccount);
    var mhigh;
    var mlow;
    while (true) {
        var mrecords = exchange.GetRecords(PERIOD_M30);
        //一定周期内的高低点
        mhigh=TA.Highest(mrecords, mnum, 'High');
        mlow=TA.Lowest(mrecords, mnum, 'Low');
        
        var midLine = (mhigh+mlow)/2;
        var ticker = _C(exchange.GetTicker);
        var account = _C(exchange.GetAccount);
        var nowPrice=ticker.Sell;
        var obj;
        
        if (isInit == 1) {  //初始化状态为默认仓;     
            //账户现金乘以比例,除以当前价格,保留小数前3位
            obj = $.Buy(_N(account.Balance * initRatio / ticker.Sell, 3));
            if (obj) { //如果购买成功,就标志开仓
                      opAmount = obj.amount;
                      lastPrice = obj.price;
                      isInit=0; //初始化成功
                      account = _C(exchange.GetAccount);
                      Log("初始开仓:购买量", opAmount);
                      Log("目前持币数", account.Stocks);
            }
        }else{ //日常操作检测
            if(nowPrice>midLine*1.03||nowPrice>lastPrice*1.07){
                wantOper=-1;
            }else if(nowPrice<midLine*0.97||nowPrice<lastPrice*0.93){
                wantOper=1;
            }else{
                wantOper=0;
            }
            
            if (wantOper==-1) { //离市平仓
                lastPrice=nowPrice; //不管买没买成功都修改了一下价格
                allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
                cashRatio=parseFloat((account.Balance/allAmount).toFixed(3));
                
                if(cashRatio>0.9){ //现金比例大于0.9,不做任何操作 
                    wantRatio=0;
                }else if(cashRatio>0.8){ //现金比例超过0.8,可以抛一成仓 
                    wantRatio=0.1;
                }else{ //其他情况都可以抛掉2成仓
                    wantRatio=0.2;
                }
                
                obj = $.Sell(_N(allAmount*wantRatio/ticker.Sell, 3)); 
                if(obj){
                    opAmount = obj.amount;
                    Log("平仓:卖出量",opAmount);
                    nowAccount = _C(exchange.GetAccount);
                    Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance);
                }
            }else if (wantOper==1) { //开仓买入
                lastPrice=nowPrice; //不管买没买成功都修改了一下价格
                allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
                cashRatio=parseFloat((account.Balance/allAmount).toFixed(3));
                //Log("准备买入",cashRatio);
                if(cashRatio<0.1){ //现金比例小于0.1,已没钱买了
                    wantRatio=0;
                }else if(cashRatio<0.2){ //现金比例超过0.2,可以买一成仓 
                    wantRatio=0.1;
                }else{ //其他情况都可以买2成仓
                    wantRatio=0.2;
                }
                
                obj = $.Buy(_N(allAmount*wantRatio/ticker.Sell, 3)); 
                if(obj){
                    opAmount = obj.amount;
                    Log("买入:买入量",opAmount);
                    nowAccount = _C(exchange.GetAccount);
                    Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance);
                }
            }
        }
        Sleep(Interval*1000);
    }
}

Relacionados

Mais.

Kangx1987O que aconteceu?