avatar of 发明者量化-小小梦 发明者量化-小小梦
Seguir Mensajes Privados
4
Seguir
1271
Seguidores

Mi estrategia lingüística impulsa cambios de posición en aplicaciones móviles y WeChat en tiempo real

Creado el: 2021-08-10 17:06:46, Actualizado el: 2023-09-20 11:10:28
comments   0
hits   1741

Mi estrategia lingüística impulsa cambios de posición en aplicaciones móviles y WeChat en tiempo real

I. Resumen

A medida que las estrategias de trading cuantitativo siguen mejorando, los usuarios tienen cada vez mayores requisitos de notificaciones push en tiempo real de los cambios de posición. Por ejemplo, los registros web en línea, las aplicaciones móviles, WeChat, etc. necesitan transmitir de forma proactiva los cambios en las posiciones de la cuenta a la plataforma. en tiempo real. Navegadores, teléfonos móviles, etc. Para este propósito, este artículo utiliza la estrategia My Language de Inventor Quantitative (FMZ.COM) para realizar el envío de posiciones en tiempo real a aplicaciones móviles y WeChat.

Haga clic en https://www.fmz.com/strategy/305785 para obtener el código fuente completo de este artículo. Le sugiero que pruebe con algún código.

2. Estrategia comercial de demostración

A modo de demostración, este artículo hará referencia a la estrategia de trading anterior de William W%R. La dirección del enlace de la estrategia es: https://www.fmz.com/strategy/283024. La lógica de la estrategia se compone del valor de William y el movimiento Promedio. La estrategia completa y la configuración de la prueba de retorno, puede hacer clic en este enlace para obtenerla, a continuación se muestra el código para esta estrategia:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

3. Mi mejora del lenguaje

El lenguaje My de FMZ.COM es una encapsulación adicional del lenguaje JavaScript, que está diseñado para ayudar a los principiantes cuantitativos a comenzar mejor. My language tiene las características de una sintaxis concisa y puede manejar cierta lógica de estrategia simple, pero no es adecuado para algunas estrategias complejas. La estrategia se verá forzada. Para ello, el inventor Quantized lanzó funciones de mejora del lenguaje basadas en My language. Como se muestra en el siguiente ejemplo de código:

%%
// 这里面可以调用发明者量化的任何API 
scope.TEST = function(obj) {
    return obj.val * 100;
}
%% 
收盘价:C;
收盘价放大100倍:TEST(C);
上一个收盘价放大100倍:TEST(REF(C, 1)); // 鼠标移动到回测的K线上就会提示变量值

Como se muestra en el código anterior, la función de mejora del lenguaje permite la programación mixta de My language y JavaScript. Para obtener explicaciones específicas, consulte el enlace del documento: https://www.fmz.com/doc/2569#%E8%AF %AD%E8 %A8%80%E5%A2%9E%E5%BC%BA

en:

1. Objeto de alcance Objeto de alcance, puede agregar propiedades y asignar funciones anónimas a las propiedades. En la parte del código del idioma Mai, puedes llamar a la función anónima a la que hace referencia este atributo.

2、scope.get_locals(‘name’) Esta función puede obtener las variables del lenguaje My, realizando así la interacción entre el lenguaje My y el lenguaje JavaScript.

4. Cambios de posición de empuje

En la estrategia Mi lenguaje, la función BKVOL puede obtener el número de lotes de la señal de compra, es decir, la posición larga actual. La función SKVOL puede obtener el número de lotes de señales de venta, es decir, la posición corta actual. Luego podemos calcular el estado de cambio de posición actual restando SKVOL de BKVOL. Como se muestra en el siguiente código:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

%%
// 下面代码附加到任何My语言策略最后都可以实现仓位变化推送到手机App与微信
if (typeof(scope._tmp) !== 'number') {
    scope._tmp = 0;
}
var pos = scope.get_locals('BKVOL') - scope.get_locals('SKVOL');
if (pos != scope._tmp) {
   scope._tmp = pos;
   Log('通知仓位变化:', scope.symbol, pos, '@');
}
%%

En el código anterior, juntamos la estrategia comercial de William W%R y la función de empuje de cambio de posición, a fin de lograr una sincronización en tiempo real de la orden de estrategia comercial y los cambios de posición, y los enviamos a la aplicación móvil y WeChat.

5. Prueba en tiempo real

A continuación, ejecutamos una transacción en tiempo real para verificar esta función. Al crear una transacción en tiempo real, seleccione OKEX spot y configure el par de divisas en LTC_USDT (los futuros de materias primas y futuros de divisas digitales también pueden usar esta función, y la operación es similar). )

1. Activador de señal, registro del lado web Mi estrategia lingüística impulsa cambios de posición en aplicaciones móviles y WeChat en tiempo real 2. Activador de señal, envío de mensajes a través de la aplicación móvil Mi estrategia lingüística impulsa cambios de posición en aplicaciones móviles y WeChat en tiempo real 3. Activador de señal, envío de información de WeChat Mi estrategia lingüística impulsa cambios de posición en aplicaciones móviles y WeChat en tiempo real

VI. Conclusión

En lo anterior, utilizamos una sencilla estrategia comercial My Language William W%R, combinada con el módulo de envío de mensajes desarrollado por el módulo de mejora del idioma en My Language, para lograr el envío en tiempo real de cambios de posición a aplicaciones móviles y WeChat. Este código de módulo se puede adjuntar a cualquier estrategia de My Language para enviar cambios de posición a aplicaciones móviles y WeChat, y lanzar una variedad de tipos de notificaciones push para diferentes escenarios para satisfacer sus necesidades de notificaciones push personalizadas.