
Los amigos que desarrollan en la Plataforma de Comercio Cuantitativo Inventor a menudo pueden tener estas necesidades:
Al desarrollar una estrategia de alquiler, desea establecer diferentes restricciones de fondos para la estrategia, establecer diferentes restricciones de cambio para el alquiler de la estrategia (limitar el intercambio de la operación de la estrategia) o desea establecer restricciones de configuración de cuenta de cambio para el alquiler de la estrategia (especificar Esta estrategia solo se puede utilizar con cuentas que se hayan acordado previamente. Cuando el usuario de la estrategia utiliza otras cuentas, la estrategia solicita que se realicen más transacciones, etc.
Obviamente, estos no se pueden codificar en el código, porque si lo están, no se pueden codificar en el código. Todos los usuarios estarán sujetos a estas restricciones y no será posible controlar diferentes permisos de uso para diferentes grupos de usuarios.
Con base en los escenarios de demanda anteriores, la Plataforma de Comercio Cuantitativo Inventor ha ampliado sus funciones con nuevas funciones:Configuración de metadatos del código de registro de alquiler de pólizas
Al crear un código de registro, puede especificar un metadatoMeta, los datos son una cadena. Nota: Al generar un código de registro, la longitud de Meta no puede exceder los 190 caracteres.
Por ejemplo, soy un desarrollador de estrategias. Desarrollé una estrategia para el par de operaciones al contado BTC_USDT. La estrategia es solo de compra (inicialmente solo la moneda cotizada)QuoteCurrencyEs decir, USDT. Una vez que lo compres, tendrás una moneda para intercambiar.BaseCurrencyQuiero alquilar esta estrategia, el nombre de la estrategia estest1。
Se puede observar que el diseño de las limitaciones de la estrategia debe diseñarse específicamente en combinación con las circunstancias específicas de la estrategia. Este ejemplo es una demostración de una estrategia spot. ¿Qué sucede si la estrategia es una estrategia de futuros? Luego es necesario limitar la información de la posición de futuros (en base a los datos de posición devueltos por GetPosition). Cuando la estrategia detecta que la posición excede el límite, la lógica de apertura de la orden ya no se ejecutará (se debe ejecutar otra lógica normalmente, como el cierre de posiciones).
Por lo tanto, estos diseños deben ser específicos en combinación con la estrategia en sí. Este ejemplo es solo un ejemplo ilustrativo simple y puede no tener valor práctico.
Código fuente de la estrategia:
function main() {
// 策略允许的计价币最大资产数值
var maxBaseCurrency = null
// 获取创建注册码时的元数据
var level = GetMeta()
// 检测Meta对应的条件
if (level == "level1") {
// -1为不限制
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()
// 检测资产数值
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// 停止执行策略交易逻辑
LogStatus(_D(), "持仓超过注册码的使用限定,不再执行策略交易逻辑!")
continue
}
// 其它交易逻辑
// 正常输出状态栏信息
LogStatus(_D(), "策略正常运行!ticker数据:\n", ticker)
}
}
Al crear un código de registro, busque la política test1 en la biblioteca de políticas y haga clic enPunto de acción, haga clicvender。

Hacer clicVenta interna。

Haga clic en la “llave pequeña” para configurar los metadatos del código de registro.

A continuación, escribe la información que deseas limitar.MetaLos controles, como las diversas estrategias diseñadas en este ejemplo, utilizan niveles:

Primero configuramos el control Metalevel1, para que el código de registro creado tenga la estrategia test1level1calificación.
Se ha creado el código de registro:
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
El arrendador de la estrategia envía este código de registro al arrendatario de la estrategia.
Por ejemplo, en este momento uso este código de registro en mi otra cuenta (strategy renter) para obtener el derecho a usar la estrategia test1.

Alquile una estrategia: cree una cuenta real, use test1 como estrategia, agregue un objeto de intercambio spot de WexApp (WexApp es una cuenta simulada en la plataforma FMZ) y ejecute la cuenta real.

Se puede ver que la estrategia se está ejecutando normalmente, lo que indicalevel1El nivel no limita el número de posiciones mantenidas (la cantidad de monedas mantenidas en la cuenta al contado).
Cuando se ha utilizado el código de registro de la política, si el desarrollador de la política necesita ajustar los metadatos del código de registro emitido, este se puede modificar.
En la biblioteca de estrategias, vender registro.

Los metadatos se pueden modificar.

Modificamos los Metadatos del código de registro anterior alevel3, luego el usuario de la estrategia aquí reinicia la prueba en tiempo real.

Como puedes ver en la imagen de arriba,level3El límite máximo de nivel de tenencia es 1 moneda.
Al alquilar pólizas según diferentes grupos de usuarios y niveles de pago, se configuran metadatos específicos para lograr un control jerárquico de las políticas.
Por supuesto, lo anterior solo enumera los requisitos de control y limitación más comunes. Existen varios requisitos similares que se pueden lograr utilizando esta función.