rest versión OKEX estrategia de cobertura a largo plazo (enseñanza)

El autor:Un sueño pequeño., Fecha: 2019-04-17 13:30:36
Las etiquetas:Estudio

Estrategia de cobertura a largo plazo de OKEX (enseñanza)

img

  • Sólo hacer el primer juego, el contrajuego puede ser modificado, el contrato cambiado, es decir, el contrajuego.

  • Añade dos objetos de intercambio, el primer trimestre, el segundo en la misma semana.

  • Se ha simplificado todo el código que se puede simplificar, hay mucho espacio para optimizar, la estrategia de enseñanza es cautelosa y realista, y hay cierto riesgo a lo largo del tiempo.

  • Bienvenido a los comentarios BUG.

Las estrategias de enseñanza, la práctica y la prudencia.

Las estrategias de enseñanza, la práctica y la prudencia.

Las estrategias de enseñanza, la práctica y la prudencia.


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

Más.

Quiero a Jimmy.Exchanges[0].Go() no está explicado en la documentación de esta función. ¿De dónde viene, qué significa?

El año 1998Hola, autor, por favor, ¿esta estrategia todavía funciona?

No hay nada.¿Dónde está el video de enseñanza?

Quiero a Jimmy.Oh, gracias, lo vi, lo aprendí

Un sueño pequeño.La documentación de la API está disponible en https://www.fmz.com/api#exchange.go...

Un sueño pequeño.Las estrategias son estrategias para la enseñanza, y pueden ser modificadas, ampliadas u optimizadas por sí mismas.

Un sueño pequeño.El código fuente es muy simple y se entiende a simple vista.