60 líneas de código para implementar una idea: la estrategia de transcripción de contratos.

El autor:Un sueño pequeño., Creado: 2022-03-19 14:37:08, Actualizado: 2023-09-20 09:03:57

img

网格策略、马丁策略这种喜欢震荡行情的策略有其固有弊端,在ETH合约市场上也测试了一段时间的类似策略。也经常和FMZ.COM上的新老玩家们聊天分享经验。对于此类策略,有一点是非常赞同一位朋友的说法的。那就是币圈中做合约,做多相对于做空风险小了那么一丢丢。或者简单说就是下跌最惨就是归零,上涨是无限的。

Entonces, Martin, ¿es que las estrategias como hacer más, no hacer nada, y tirar de un transcriptor distribuido a larga distancia son más riesgosas que hacer dos partes?

基于FMZ.COM迅捷开发

El código para implementar esta idea es realmente muy simple, gracias a la flexibilidad de la plataforma, el envase de la interfaz, el sistema de resonancia potente, etc. El código entero tiene solo 60 líneas (mucho de lo que se puede resumir no se resume para las especificaciones de escritura de código).

El diseño de la estrategia es muy simple: dependiendo del precio inicial al comienzo de la lógica, el intervalo de distancia para colgar la factura, el precio continúa bajando y continúa colgando la factura, continúa copiando. Luego, cuelgue el orden de liquidación después de que el precio de la tenencia aumente cierto diferencial de ganancia, y espere el equilibrio. Si el equilibrio, repita el precio inicial en el precio actual.

El código fuente de la estrategia:

function cancelAll() {
    while (true) {
        var orders = _C(exchange.GetOrders)
        if (orders.length == 0) { 
            break 
        }
        for (var i = 0 ; i < orders.length ; i++) {
            exchange.CancelOrder(orders[i].Id, orders[i])
            Sleep(interval)
        }
    }
}

function getLong(arr, kind) {
    var ret = null 
    for (var i = 0 ; i < arr.length ; i++) {
        if (arr[i].Type == (kind == "pos" ? PD_LONG : ORDER_TYPE_BUY)) {
            ret = arr[i]
        }
    }
    return ret
}

function pendingBidOrders(firstPrice) {
    var index = 0
    var amount = baseAmount
    while (true) {
        var pos = _C(exchange.GetPosition)
        var price = firstPrice - index * baseSpacing
        amount *= ratio
        index++
        exchange.SetDirection("buy")
        exchange.Buy(price, amount)        
        if (pos.length != 0) {
            var longPos = getLong(pos, "pos")
            if (longPos) {
                exchange.SetDirection("closebuy")
                exchange.Sell(longPos.Price + profitTarget, longPos.Amount)
            }
        }
        while (true) {
            Sleep(interval)
            if (!getLong(_C(exchange.GetOrders), "orders")) {
                cancelAll()
                break
            }
            if (!getLong(_C(exchange.GetPosition), "pos")) {
                cancelAll()
                return 
            }
        }
    }
}

function main() {
    exchange.SetContractType(symbol)
    while (true) {
        pendingBidOrders(_C(exchange.GetTicker).Last)
    }
}

El diseño de los parámetros es muy simple:

img

Sólo estos parámetros.

Veamos el efecto de estas docenas de líneas de código.

En la página web de la empresa, se puede ver una lista de las aplicaciones que se están utilizando para realizar el análisis de tiempo.

img

La prueba está en marcha:

img

img

Parece que hay muchas redes, el sabor de las estrategias tipo Martin. Los nuevos estudiantes que comienzan a aprender no tienen miedo de las largas estrategias y son fáciles de disuadir. Las estrategias cortas y refinadas son más adecuadas para la introducción, son más fáciles de digerir las ideas estratégicas, y aprenden el diseño lógico.

El código estratégico se utiliza sólo para el aprendizaje, la investigación y el aprendizaje.


Relacionados

Más.

¿Qué es esto?/upload/asset/1dd6dcfd4579dc0b239a6.jpeg /upload/asset/1dd6dcfd4579dc0b239a6.jpeg Después de ejecutar, se producen errores y luego se cuelgan, se deshacen de un ciclo infinito, ¿cómo resolverlo?

Los sueños cuestan ocho cifras.¿Esta estrategia solo funciona en el Bitcoin?

Los sueños cuestan ocho cifras.¿Qué significa el coeficiente de crecimiento de las posiciones?

Los sueños cuestan ocho cifras.¿Por qué no hay una dirección de la política?

Un sueño pequeño.Si se ejecutan varios discos físicos, si se ejecutan dos discos físicos en un servidor, la frecuencia se duplicará, etc.;

¿Qué es esto?/upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg /upload/asset/1dd36e54848c3bdf8c759.jpeg Y lo que me parece lógico es que el parámetro de dos vueltas es 120 veces por minuto, no es más que el límite de 1200 visitas por minuto.

Un sueño pequeño.Hola, esto no tiene nada que ver con la política, puedes configurar el intervalo de consultas en los parámetros del modelo de Mac, y configurarlo un poco más grande. Si tienes varios discos físicos en un servidor que acceden a una interfaz de intercambio, la frecuencia se duplicará y es fácil que se sobrepase la frecuencia.

¿Qué es esto?/upload/asset/1dce38677beaf3c7ca065.jpeg /upload/asset/1dce38677beaf3c7ca065.jpeg Ahora bien, si Binance no puede soportar la política de lenguaje de Mac, se le indicará cómo actualizar en tiempo real con la web para evitar el bloqueo de la API.

Un sueño pequeño.No soy muy amable y acabo de escribir en apoyo de la cuantificación de FMZ.

¿Qué es esto?Bien, gracias. Ya lo sé.

Un sueño pequeño.Hola, esta es una estrategia de enseñanza, principalmente para explicar la idea de que se puede ejecutar un contrato perpetuo en binan, y correr OK requiere una modificación de la estrategia. La razón del problema es que el siguiente número de unidades es un número decimal, OKX requiere que el siguiente número sea un número entero de contratos.

Un sueño pequeño.Los parámetros pueden ser ajustados para que todos funcionen.

Un sueño pequeño.Esta estrategia es sólo una estrategia de enseñanza, no se trata de la realidad, la revisión de la investigación de aprendizaje puede ser. Copia el código fuente de la estrategia, pero también añadir parámetros de la estrategia, parámetros como la imagen de pantalla en el artículo.

Un sueño pequeño.Si el valor es 2, entonces el valor es 2 veces mayor.