Con la mejora continua de las estrategias de negociación cuantitativas, los usuarios tienen requisitos cada vez más altos para el empuje en tiempo real de los cambios de posición. Por ejemplo: los registros web en línea, las aplicaciones móviles y WeChat, etc. todos necesitan los cambios en las posiciones de la cuenta en tiempo real, lo que requiere el empuje automático de los cambios enviados a los navegadores y teléfonos móviles, etc. Por la razón, este artículo se dirige a FMZ Quant (FMZ.COM) Mylanguage estrategia para lograr el empuje en tiempo real de las posiciones a la aplicación móvil y WeChat.
Para ver el código fuente completo en el artículo, haga clic en el enlace:https://www.fmz.com/strategy/305785, y le sugiero que escriba el código para practicar, para sólo aprender de leer el código no es suficiente.
Para demostrar convenientemente, este artículo se referirá a la estrategia comercial anterior de Williams % R. La dirección de enlace de la estrategia es:https://www.fmz.com/strategy/283024. La lógica de la estrategia está compuesta por el valor de Williams y la media móvil. Para la estrategia completa y la configuración de backtest, puede hacer clic en este enlace para obtenerla. El código de esta estrategia se muestra de la siguiente manera:
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;
El Mylanguage en FMZ Quant (FMZ.COMMylanguage tiene una sintaxis simple, que puede tratar con la lógica de algunas estrategias simples; cuando se trata de algunas estrategias complicadas, el lenguaje mostrará algunos problemas. Por lo tanto, FMZ Quant ha promovido la función de mejora del lenguaje basada en Mylanguage.
%%
// here we can call any API of FMZ Quant
scope.TEST = function(obj) {
return obj.val * 100;
}
%%
close price:C;
Zoom 100 times of close price:TEST(C);
Zoom 100 times of last close price:TEST(REF(C, 1)); // move the mouse to the backtested K-line, and the variable value will prompt
Como se muestra en el código anterior, la función de mejora del lenguaje permite mezclar la programación de Mylanguage y JavaScript.https://www.fmz.com/doc/2569#语�Los resultados de las evaluaciones de la evaluación de la calidad de los productos se basan en los datos de los Estados miembros.
Incluyendo:
1.Objeto de alcanceLa función anónima a la que hace referencia esta propiedad puede ser llamada en la parte de código de Mylanguage.
2.scope.get_locals (nombre)La función puede obtener las variables de Mylanguage, para realizar la interacción entre Mylanguage y JavaScript.
En una estrategia de Mylanguage, la función BKVOL puede obtener el lote de señal de compra, es decir, la posición larga actual. La función SKVOL puede obtener el lote de señal 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 código a continuación:
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;
%%
// adding the following code in any Mylanguage strategy can realize the push of position changes to mobile phone App and WeChat
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('Push position changes:', scope.symbol, pos, '@');
}
%%
En el código anterior, pusimos la estrategia de negociación de William W%R
A continuación, ejecutamos un bot para verificar esta función, creamos un bot, seleccionamos el punto OKEX y establecemos el par de divisas en LTC_USDT (los futuros de materias primas y futuros de criptomonedas también pueden usar esta función, y la operación es la misma).
1.se activa la señal, se empuja a los registros web 2. señal activada, presiona a la aplicación de teléfono móvil 3. señal activada, empuje a WeChat mensaje empuje
En la parte superior, utilizamos una estrategia de negociación simple de Mylanguage William W%R y el módulo de mensajes push desarrollado por el módulo de mejora del lenguaje en Mylanguage, para realizar la estrategia de empujar cambios de posición a aplicaciones móviles y WeChat en tiempo real.