Cómo asignar datos de versiones diferentes a una estrategia alquilada mediante metadatos de código de alquiler de estrategia

El autor:- ¿ Por qué?, Creado: 2022-11-09 10:34:37, Actualizado: 2023-09-20 10:59:17

img

Aplicación de los metadatos del código de alquiler de la estrategia

Los socios que trabajan como desarrolladores en la Plataforma de Comercio Cuántico FMZ a menudo pueden tener tales necesidades:

Al desarrollar una estrategia para alquiler, es posible que desee tener diferentes restricciones de capital en la estrategia y diferentes restricciones de cambio en el arrendamiento de la estrategia (el intercambio que restringe la operación de la estrategia), o restricciones en la configuración de la cuenta de intercambio cuando desee alquilar la estrategia (especifique que esta estrategia solo puede operar la cuenta acordada de antemano y que el usuario de la estrategia no realizará ninguna negociación cuando utilice otras cuentas).

Obviamente, no se pueden escribir en el código, porque si se escriben en el código, todos los usuarios estarían sujetos a estas condiciones, y no sería posible hacer controles para diferentes grupos de usuarios con diferentes derechos de uso.

Basándose en el escenario de demanda anterior, la plataforma de negociación de FMZ Quant se amplía con una nueva función: configuración de metadatos de código de registro de alquiler de estrategias

Al crear un código de registro, puede especificar un metadatosMeta, y los datos son una cadena. Atención: La longitud del meta no puede exceder de 190 caracteres al generar el código de registro.

· Limitar la estrategia mediante el uso de metadatos del código de registro FMZ

Por ejemplo, si soy una estrategia desarrollar hotshot y he desarrollado un par de comercio al contado para BTC_USDT, y va largo sólo (hay sólo la moneda de preciosQuoteCurrencyinicialmente, es decir, USDT; después de comprar, hay moneda de comercioBaseCurrencyQuiero alquilar esta estrategia, que se llamatest1.

Se puede ver que el diseño limitado de la estrategia debe diseñarse de acuerdo con la situación específica de la estrategia. El ejemplo es una demostración de la estrategia spot. ¿Qué pasa si la estrategia es una estrategia de futuros? Entonces es necesario limitar la información de la posición de futuros (de acuerdo con los datos de posición devueltos por GetPosition). Cuando la estrategia encuentra que la posición excede el límite, no ejecutará la lógica de apertura de la posición (otra lógica debe ejecutarse normalmente, como cerrar la posición).

Por lo tanto, estos diseños deben ser específicos de la estrategia en sí. El ejemplo aquí es sólo una ilustración simple y puede no ser de uso práctico.

Código fuente de la estrategia:

function main() {
    // The maximum asset value of the denominated currency allowed by the strategy
    var maxBaseCurrency = null
    
    //Obtain the metadata when creating the registration code
    var level = GetMeta()
    
    // Detecting the conditions corresponding to Meta
    if (level == "level1") {
        // -1 is not limited
        maxBaseCurrency = -1       
    } else if (level == "level2") {
        maxBaseCurrency = 10     
    } else if (level == "level3") {
        maxBaseCurrency = 1
    } else {
        maxBaseCurrency = 0.5
    }
    
    while(1) {
        Sleep(1000)
        var ticker = exchange.GetTicker()
        
        // Detect asset values
        var acc = exchange.GetAccount()
        if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
            // Stop executing strategic trading logic
            LogStatus(_D(), "Positions exceeding the usage limit of the registration code will no longer execute the strategy trading logic!")
            continue
        }
        
        // Other trading logic
        
        // Output the status bar information normally
        LogStatus(_D(), "The strategy is running properly! ticker data:\n", ticker)
    }
}

Al crear un código de registro, encuentre la prueba de estrategia1 en la biblioteca de estrategias, haga clic en el elemento de acción de la derecha, haga clic en Rent,

img

y luego haga clic en Venta interna.

img

Haga clic en Little Wrench para establecer los metadatos del código de registro.

img

Luego escriba la información a ser calificada en el control Meta, como varios niveles de uso de estrategia diseñados en este ejemplo:

· nivel1: No hay límite en el número de puestos. · nivel2: Limitar el número máximo de posiciones a 10 monedas. · nivel3: Limitar el número máximo de posiciones a 1 moneda. · Sin configuración Meta: Cuando no hay configuración Meta, el límite máximo de posición predeterminado es de 0,5 monedas.

img

Primero, ponemoslevel1para el control Meta, de modo que el código de registro creado tiene ellevel1el nivel de la estrategia de ensayo1. Código de registro creado:

Purchase address: https://www.fmz.com/m/s/282900
Registration code: 7af0c24404b268812c97b55d073c1867

El arrendador de estrategia envía el código de registro al arrendatario de estrategia.

· La estrategia de uso para los arrendatarios de estrategia

Estrategia arrendatario crear un bot real, utilizar la estrategia de prueba1, añadir un objeto WexApp Spot Exchange (WexApp es una demostración de la plataforma FMZ), ejecutarlo.

· Modificar los metadatos

Cuando se haya utilizado el código de registro de la estrategia, también puede modificarse si el desarrollador de la estrategia necesita ajustar los datos meta del código de registro emitido.

Los metadatos pueden modificarse en la Biblioteca de Estrategias, Registro de Ventas.

Hemos cambiado los datos Meta del código de registro anterior alevel3,

img

Luego el usuario de la estrategia reinició la prueba.

· Resumen

Cuando las estrategias de arrendamiento se basan en diferentes grupos de usuarios y diferentes niveles de pago, los metadatos se configuran específicamente para lograr un control jerárquico de la estrategia.

Por supuesto, lo anterior solo enumera los requisitos de limitación y control más comunes.


Más.