Los amigos que desarrollan en la Plataforma de Comercio Cuántico FMZ a menudo pueden tener estas necesidades:
Cuando se desarrolla una estrategia de alquiler, se desea tener diferentes limitaciones de fondos en la estrategia y diferentes limitaciones de la plataforma (limitar las plataformas operadas por la estrategia), o se desea limitar la configuración de la cuenta de la plataforma (especificar la estrategia sólo puede operar en cuentas pre-acordadas; cuando el usuario de la estrategia utiliza otras cuentas, la estrategia se solicita y ya no comerciar y hacer otras operaciones).
Obviamente, estos no pueden ser codificados en forma dura, porque si son codificados en forma dura, todos los usuarios estarán sujetos a estas limitaciones, y no pueden controlar diferentes privilegios de uso para diferentes grupos de usuarios.
Sobre la base de los escenarios de demanda anteriores, la plataforma de comercio de FMZ Quant ha ampliado una nueva función:Configuración de los metadatos del código del registro de alquiler de estrategias.
Al crear un código de registro, puede especificar un metadatosMeta
Nota: La longitud de Meta no puede exceder de 190 caracteres cuando genera el código de registro.
Por ejemplo, soy un exportador de desarrollo de estrategias, y he desarrollado una estrategia con un par de comercio al contado de BTC_USDT. La estrategia sólo hace posiciones largas (inicialmente, sólo tiene la moneda de cotizaciónQuoteCurrency
, es decir, USDT; después de la compra, mantendrá una posición con elBaseCurrency
Si quiero alquilar esta estrategia, el nombre de la estrategia estest1
.
Como puede ver, las limitaciones de la estrategia deben diseñarse específicamente en combinación con la situación específica de la estrategia. Este ejemplo es una demostración de una estrategia spot, pero ¿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, la lógica de colocar una orden y abrir una posición ya no se ejecutará (otra lógica debe ejecutarse normalmente, como cerrar una posición y otras operaciones).
Por lo tanto, el diseño de esas limitaciones debe combinarse con la estrategia en sí misma; el ejemplo es solo una simple instrucción, sin el valor de uso real.
Estrategia Código fuente:
function main() {
// The maximum asset value of the quote currency allowed by the strategy
var maxBaseCurrency = null
// Obtain the metadata when the register code is created
var level = GetMeta()
// Detect the corresponding conditions of Meta
if (level == "level1") {
// -1 means no limit
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 the assets amount
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// Stop executing the strategy trading logic
LogStatus(_D(), "If the position exceeds the usage limits of register code, the strategy trading logic will no longer be executed!")
continue
}
// Other trading logic
// Normally export the information of status bar
LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
}
}
Al crear el código del registro, busque la prueba de estrategia1 en la página
Haga clicVenta interna.
Haga clic en el pequeño icono
Luego, usted necesita escribir la información de limitación en elMeta (en inglés)control, como varios niveles de uso de la estrategia diseñada en este ejemplo:
En primer lugar, hemos establecidolevel1
en el control Meta, y dejar que el código de registro creado tiene ellevel1
del ensayo1.
Una vez creado el código de registro, el vendedor de la estrategia enviará el código de registro al comprador de la estrategia.
Por ejemplo, si uso el código de registro en otra cuenta mía (como la cuenta del comprador), tendré derecho a utilizar la prueba de estrategia1.
Como comprador de estrategia, primero debe agregar un bot, elegir test1 como la estrategia, y agregar un objeto de intercambio spot de WexApp (WexApp es el bot simulado de FMZ), y luego ejecutar el bot.
Cuando puedes ver la estrategia ejecutada correctamente, eso significalevel1
no tiene límite para el importe de la posición (el importe de las monedas en la cuenta al contado).
Cuando se utiliza el código del registro de estrategias, si el desarrollador de estrategias necesita ajustar los metadatos del código de registro que se enviará, puede modificarlo por completo.
En la página
Los metadatos pueden modificarse.
Hemos cambiado los metadatos del antiguo código de registro alevel3
, y el usuario de la estrategia necesita reiniciar el bot para probar.level3
limitar el importe máximo de la posición a una moneda.
Al alquilar una estrategia, de acuerdo con diferentes grupos de usuarios y niveles de pago, se puede configurar específicamente los metadatos, para controlar la estrategia por niveles.
Por supuesto, los ejemplos mencionados anteriormente son sólo las limitaciones más comunes y las demandas de control.