rest versão OKEX estratégia de hedge de longo prazo

Autora:Sonhos pequenos, Data: 2019-04-17 13:30:36
Tags:Estudo

A estratégia de hedgeamento de longo prazo da OKEX é simplificada.

img

  • O contrato é apenas um conjunto, o contra-contrato pode ser modificado, o contrato deve ser trocado, ou seja, o contra-contrato.

  • Adicione dois objetos de troca, o primeiro no trimestre, o segundo na semana.

  • O código é simplificado, o espaço para a otimização é grande, a estratégia de ensino é cuidadosa e real, e há um certo risco no tempo.

  • Bem-vindo a feedback BUG.

A estratégia de ensino, o uso prático e prudente.

A estratégia de ensino, o uso prático e prudente.

A estratégia de ensino, o uso prático e prudente.


function Hedge (isOpen, priceA, priceB) {
    exchanges[0].SetDirection(isOpen ? "sell" : "closesell")
    exchanges[1].SetDirection(isOpen ? "buy" : "closebuy");
    (function (routineA, routineB) {
        Log(routineA.wait(), routineB.wait(), priceA, priceB)
    })(exchanges[0].Go(isOpen ? "Sell" : "Buy", priceA, _ContractNum), exchanges[1].Go(isOpen ? "Buy" : "Sell", priceB, _ContractNum));
}

var slidePrice = 5
function main () {
    var tickerA, tickerB 
    var arr = []
    for (var i = 0 ; i < _Count ; i++) {
        arr.push({open: _Begin + i * _Add, cover: _Begin + i * _Add - _Profit, isHold: false})
    }
    exchanges[0].SetContractType("quarter")
    exchanges[1].SetContractType("this_week")
    while (1) {
        var tab = {type: "table", title: "状态", cols: ["节点信息"], rows: []}
        tickerA = exchanges[0].GetTicker()
        tickerB = exchanges[1].GetTicker()

        if (tickerA && tickerB) {
            $.PlotLine("差价:A所-B所", tickerA.Last - tickerB.Last)
            for (var j = 0 ; j < arr.length; j++) {
                if (tickerA.Buy - tickerB.Sell > arr[j].open && !arr[j].isHold) {
                    Hedge(true, tickerA.Buy - slidePrice, tickerB.Sell + slidePrice)
                    arr[j].isHold = true
                }
                if (tickerA.Sell - tickerB.Buy < arr[j].cover && arr[j].isHold) {
                    Hedge(false, tickerA.Sell + slidePrice, tickerB.Buy - slidePrice)
                    arr[j].isHold = false 
                }
                tab.rows.push([JSON.stringify(arr[j])])
            }
        }
        LogStatus(_D(), "\n `" + JSON.stringify(tab) + "`")
        Sleep(500)
    }
}

Relacionados

Mais.

Eu amo o Jimmy.Exchanges[0].Go ((() não está descrito na documentação da função?

1998Olá, autor, por favor, essa estratégia ainda funciona?

FmzeroOnde estão os vídeos didáticos?

Eu amo o Jimmy.Oh, obrigado, vi, aprendi.

Sonhos pequenosA documentação da API está disponível em https://www.fmz.com/api#exchange.go...

Sonhos pequenosA estratégia é uma estratégia pedagógica, cuidadosa e prática. Pode ser modificada, ampliada e otimizada por si mesma.

Sonhos pequenosO código-fonte é muito simples e simples de entender.