En la carga de los recursos... Cargando...

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

El autor:Los inventores cuantifican - sueños pequeños, 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í

Los inventores cuantifican - sueños pequeñosLa documentación de la API está disponible en https://www.fmz.com/api#exchange.go...

Los inventores cuantifican - sueños pequeñosLas estrategias son estrategias para la enseñanza, y pueden ser modificadas, ampliadas u optimizadas por sí mismas.

Los inventores cuantifican - sueños pequeñosEl código fuente es muy simple y se entiende a simple vista.