En la carga de los recursos... Cargando...

Doc de Mi Lenguaje

El autor:Los inventores cuantifican - sueños pequeños, Creado: 2022-06-30 18:24:06, Actualizado: 2024-02-06 17:36:19

(2)Después de que se envía la señal BP, el BARSBP de la línea K devuelve el número de períodos desde la línea K para las posiciones de compra y cierre a la línea K actual. Si se cumple la condición de BARSBP>=1, el valor es HHV(H, BARSBP+1), es decir, el valor máximo de las posiciones de compra y cierre (incluida la línea K actual cuando aparece la señal de cierre) al precio más alto actual. 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//Tome el precio de cierre de la última línea K para comprar y cerrar la posición: (1)Cuando el BARSBP de la línea K actual que envía la señal BP devuelve cero, entonces cuando la línea K no cumple la condición de BARSBP>=1, AA devuelve el precio de cierre de la línea K actual. (2) La K-line BARSBP, después de que se envía la señal BP, vuelve al número de período de la K-line para comprar y cerrar la posición desde la K-line actual, luego AA vuelve a REF ((C, BARSBP), que es el precio de cierre de la K-line de cierre. (3)Por ejemplo: tres líneas K: 1, 2 y 3, la línea K en 1 es la línea K actual de la señal de cierre, luego vuelve al precio de cierre de la línea K actual, y la línea K AA en 2 y 3 vuelve al precio de cierre de la línea K en 1. ¿ Qué pasa?

  • El objetivo de la presente guía es:

    Devuelve el número de lotes de señal para la N.a señal Sig fija contada desde la línea K actual (las órdenes de retroceso toman el número de lotes de posición abierta).

    El uso:REFSIG_VOL(Sig,N);, determina el tamaño del lote de la nth señal sig fija contando desde la línea K actual. Si no hay señal sig, o si no hay señal sig fija, la función devuelve 0.

    Las observaciones: 1.Las señales soportadas por la posición Sig son:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- ¿ Por qué? 2.Si la cuenta regresiva hasta la N.a señal Sig fija está en la línea K actual, entonces la función regresa al lote de señal actual. 4.Cuando N es 0 o cero, la función devuelve 0. 5.El parámetro N admite variables.

    Ejemplos:

    // If there are 5 K-lines from the current K-line where the third fixed BK signal is located from the bottom of the current K-line, and the number of signal lots is greater than 2, close all positions
    REFSIG_PLACE(BK,3)=5&&REFSIG_VOL(BK,3)>2,SP(BKVOL);
    
  • El precio de las mercancías

    Devuelve el precio de la señal de la señal de signo fija nth desde el comienzo de la línea K actual.

    El uso:REFSIG_PRICE(Sig,N);, determina el precio de la señal de la señal de Sig N-ésima fija desde la línea K actual. Si no hay señal de Sig, o si no hay señal de Sig fija, la función devuelve 0.

    Las observaciones: 1.Las señales soportadas por la posición Sig son:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- ¿ Por qué? 2.Si hay una señal Sig fija en la línea K de corriente, cuando la función calcule la señal, se incluye la señal de la línea K de corriente. 3.Cuando N es 0 o cero, la función devuelve cero. 4.El parámetro N admite variables.

    Ejemplos:

    // If the opening price of the 3rd last fixed BK signal from the current K-line is 3000, and the long position is greater than 0, sell and close the position
    REFSIG_PRICE(BK,3)=3000&&BKVOL>0,SP;
    
  • Cuenta

    Cuenta el número de señales X en N períodos.

    El uso:COUNTSIG(X,N);Cuenta el número de señales X en N períodos. X puede serBK, SK, SP, BP, SPK, BPK ,CLOSEOUT,STOP.

    Las observaciones: 1.Durante el período estadístico, (1) Contiene la línea K actual. (2) Si N es 0, entonces contar desde el primer valor válido. (3) Cuando N es un valor válido, pero el número actual de líneas K es menor que N, se cuenta desde la primera hasta el período actual. (4) El valor de retorno es nulo cuando N es nulo. (5) N puede ser una variable. 2.Al contar las señales: (1)El método de ejecución de la señal se selecciona como señal de confirmación después de que se complete la línea K o la revisión después de que se complete la línea K (por ejemplo: escribir CHECKSIG(SIG,A,0,D,0,0); en el modelo), excluyendo las señales que no están fijadas en la línea K actual, es decir, volver al número de señales que se han fijado. (2) Se selecciona el método de ejecución de la señal para no realizar la revisión de la señal (por ejemplo: escribir MULTSIG o MULTSIG_MIN; en el modelo), incluida la señal cuando se envía y fija la línea K corriente. 3.La señal BK generada por el comando BPK se procesará como la señal BPK, y la señal SK generada por el comando SPK será la misma.

    Ejemplos:

    N:=BARSLAST(DATE<>REF(DATE,1))+1;
    BKN:=COUNTSIG(BK,N);
    MA5:=MA(C,5);
    BKN=0&&C>MA5,BK;                        // There is no BK signal in the day and the latest price is greater than the 5-period moving average, then buy and open a position
    
  • Entra en el lugar.

    Tomar la posición de la línea K de la señal de posición de apertura especificada.

    El uso:ENTRYSIG_PLACE(N);Si no hay señal para abrir una posición, la función devuelve nulo.

    Las observaciones: 1.Las señales para la apertura de posiciones son:BK, SK, BPK, SPK- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Si el número de señales abiertas en una operación completa es inferior a N, la función devuelve cero. 4.La posición de la línea K es el número que separa la línea K corriente de la línea K en la que se encuentra la señal de apertura especificada. 5.Cuando N es 0 o cero, la función devuelve cero. 6.No se admite el parámetro N como variable.

    Ejemplos:

    ENTRYSIG_PLACE(3)=5&&BKVOL>0,SP;        // If the K-line of the third position opening signal is 5 K-lines away from the current K-line, and the long position is greater than 0, sell and close the position
    
  • En el caso de las empresas de servicios de telecomunicaciones:

    Tome el precio de la señal de posición abierta especificada.

    El uso:ENTRYSIG_PRICE(N);Si no hay señal para abrir una posición, la función devuelve nulo.

    Las observaciones: 1.Las señales para la apertura de posiciones son:BK, SK, BPK, SPK- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Si el número de señales abiertas en una operación completa es inferior a N, la función devuelve cero. 4.Cuando N es 0 o cero, la función devuelve cero. 5.El parámetro N no se admite como variable. 6.El cálculo de esta función incluye el deslizamiento. 7.Modelo de precio de cierre: el valor de la función de línea K actual de la señal especificada no cambiará. Modelo de precio de orden: devolución al precio de la enésima señal de apertura de la operación actual en la línea K actual de la señal especificada.

    Ejemplos:

    ENTRYSIG_PRICE(3)=3000&&BKVOL>0,SP;     // If the opening price of the 3rd fixed opening signal is 3000, and the long position is greater than 0, sell and close the position
    
  • En el caso de los datos de seguridad,

    Tomar el lote de señal de la señal de apertura de posición especificada.

    El uso:ENTRYSIG_VOL(N);Si no hay señal para abrir una posición, la función devuelve nulo.

    Las observaciones: 1.Las señales para la apertura de posiciones son:BK, SK, BPK, SPK- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Si el número de señales abiertas en una operación completa es inferior a N, la función devuelve cero. 4.Cuando N es 0 o cero, la función devuelve cero. 5.El parámetro N no se admite como variable. 6.Modelo de precio de cierre: el valor de la función de línea K actual de la señal especificada no cambiará. Modelo de precio de la orden: en la línea K actual de la señal especificada, vuelve al número de lote de la señal de la N-a señal de apertura de la operación actual.

    Ejemplos:

    ENTRYSIG_PRICE(3)=3000&&ENTRYSIG_VOL(3)>2,SP;     // If the opening price of the 3rd fixed opening signal is 3000, and the signal lot number of the 3rd fixed opening signal is greater than 2, sell and close the position
    
  • En el caso de las empresas de servicios de telecomunicaciones:

    Tome la posición de la línea K de la señal de cierre especificada.

    El uso:EXITSIG_PLACE(N);, toma la posición de la línea K de la señal de cierre N en una operación completa. Si no hay señal de cierre, la función devuelve nulo.

    Las observaciones: 1.Las señales para el cierre de posiciones son:BP, SP, CLOSEOUT, STOP- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Cuando el número de señales de cierre es inferior a N, la función devuelve cero. 4.La posición de la línea K se refiere al número de líneas K desde la línea K actual hasta la señal de cierre designada. 5.Cuando N es 0 o cero, la función devuelve cero. 6.No se admite el parámetro N como variable.

    Ejemplos:

    EXITSIG_PLACE(3)=5&&BKVOL<=0,BK;                  // If the K-line of the third closing signal is 5 K-lines away from the current K-line, and there is no long position, buy to open a position
    
  • El valor de las pérdidas se calculará en función de las pérdidas anuales.

    Tome el precio de la señal de posición de cierre especificada.

    El uso:EXITSIG_PRICE(N);Si no hay señal de cierre, la función devuelve nulo.

    Las observaciones: 1.Las señales para el cierre de posiciones son:BP, SP, CLOSEOUT, STOP- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Cuando el número de señales de cierre en una operación completa es inferior a N, la función devuelve cero. 4.Cuando N es 0 o cero, la función devuelve cero. 5.El parámetro N no se admite como variable. 6.El cálculo de esta función incluye el deslizamiento. 7.Modelo de precio de cierre: el valor de la función de línea K actual de la señal especificada no cambiará. Modelo de precio de orden: devolución al precio de la enésima señal de apertura de la operación actual en la línea K actual de la señal especificada.

    Ejemplos:

    EXITSIG_PRICE(3)=3000&&BKVOL>0,SP;               // If the closing price of the 3rd fixed closing signal is 3000, and the long position is greater than 0, sell and close the position
    
  • ExitsIG_VOL (en inglés)

    Tome el lote de señal de la señal de posición de cierre especificada.

    El uso:EXITSIG_VOL(N)Si no hay una señal de posición cerrada, la función devuelve nulo.

    Las observaciones: 1.Las señales para el cierre de posiciones son:BP, SP, CLOSEOUT, STOP- ¿ Por qué? 2.Una posición se considera completada desde el momento en que se abre hasta que se mantiene a 0. 3.Cuando el número de señales de cierre en una operación completa es inferior a N, la función devuelve cero. 4.Cuando N es 0 o cero, la función devuelve cero. 5.El parámetro N no se admite como variable. 6.Modelo de precio de cierre: el valor de la función de la línea K actual de la señal especificada no cambiará. Modelo de precio de la orden: en la línea K actual de la señal especificada, vuelve al número de lote de la señal de la N.a señal de cierre de la operación actual.

    Ejemplos:

    EXITSIG_PRICE(3)=3000&&EXITSIG_VOL(3)>2,BK;      // If the closing price of the 3rd fixed closing signal is 3000, and the signal lot number of the 3rd fixed closing signal is greater than 2, buy to open the position
    
  • Funciones de posición

    • MiVOL

      Toma el número de lote de pedidos.

      MYVOL take the lot number of orders.
      
      Usage: Take the lot number of orders, it is mostly used for lot calculation when multiple contracts are loaded in the scale in/dump model.
      
      Remark:
      Backtesting: Return to the lot size set in the backtesting parameters.
      
      Examples:
      // When the order lot size in the loading parameter is set to 3, the order lot size of BK written following is 6
      C>O,BK(2*MYVOL);
      C<O,SP(BKVOL);
      
    • El dinero

      Fondos disponibles en la cuenta.

      MONEY funds available in the account.
      
      Usage: MONEY returns to the available funds in the account for calculation of positions, lot sizes, etc.
      
      Calculation methods:
      1.The initial value of MONEY in the account is the starting capital set in the margin parameters.
      2.The initial value of MONEY in the historical backtesting is the initial capital set in the backtesting parameters.
      3.The MONEY value of the current K-line of the position opening signal: available funds before opening a position - margin for holding positions - handling fee, where margin for holding positions = opening price * margin ratio * trading unit * lot size.
      4.Money value of K-line not closed after opening = money value of K-line before opening signal + floating profit and loss profit.
      5.The MONEY value of the current K-line of the closing signal: available funds before closing the position + profit and loss of closing the position + margin released by closing the position - handling fee, where the margin released by closing the position = opening price * margin ratio * trading unit * lot size.
      
      Remarks:
      1.The signal execution method is 'confirm the order after the K-line is completed' or 'XX order and review after the K-line is completed':
        a.When the signal to open a position is a K-line, the return value of MONEY is the available funds of the previous K-line - margin for opening a position - handling fee.
        b.When the closing signal is a K-line, the return value of MONEY is the available funds of the previous K-line + closing profit and loss + margin released by the position - handling fee.
      2.Select the signal execution method as 'send a signal to place an order without reviewing':
        a.When the signal to open a position is a K-line, the return value of MONEY is the available funds of the previous K-line - margin for opening a position - handling fee.
        b.When the closing signal is a K-line, the return value of MONEY is the available funds of the previous K-line + closing profit and loss + margin released by the position - handling fee.
      3.The signal execution method is 'When the K-line is completed to confirm the signal to place an order', the closing profit and loss = (the closing price of the K-line of the closing signal - the opening price) * lot size * trading unit - handling fee.
      4.When the signal execution method is 'the signal is placed immediately without review', the closing profit and loss = (the order price of the closing signal - the opening price) * lot size * trading unit - handling fee.
      5.After the account is initialized, the return value of MONEY is the funds available in the initialization box.
      
      Examples:
      K:=MONEY*0.2/(C*MARGIN*UNIT+FEE);               // The number of lots that can be opened with 20% of the account's available funds (this writing method is applicable to contracts that charge a fee based on a fixed number of lots), FEE custom, or calculated
      
    • El dinero

      Cuenta de capital.

      MONEYTOT account Equity.
      
      Usage: MONEYTOT returns to the current account equity, and the model performs position control. It is used for fund management such as order lot size.
      
      Calculation method: MONEYTOT=Account available funds + position margin.
      
      Remarks:
      1.The initial value of MONEYTOT in the account is the initial capital set in the margin parameters.
      2.The initial value of MONEYTOT in the historical backtesting is the initial capital set in the backtesting parameters.
      3.When the account is initialized:
        a.The current signal is the opening signal, and the return value of MONEYTOT is the available funds of the account in the initialization box.
        b.The current signal is the closing signal, then MONEYTOT returns to the available funds of the account + margin in the initialization box.
      4.The signal to open a position is the K-line: MONEYTOT = available funds in the account + margin for holding positions.
      5.After opening a position and before closing a position: MONEYTOT returns to the available funds in the current account + margin for holding positions.
      6.The current k-line of the closing signal: when the position is 0, MONEYTOT = available funds; when the position is not 0, MONEYTOT = available funds + margin occupied by the position.
      Remark:
      The available funds in the position list are the available funds including floating profit and loss (= current equity - margin occupied by positions).
      
      Examples:
      K:=MONEYTOT*0.2/(C*MARGIN*UNIT+FEE); // The number of lots that can be opened with 20% of the account equity(this writing method is applicable to contracts that charge a fixed lot size), FEE customization, or calculation.
      
    • Cuenta de las operaciones

      Retorno a los fondos disponibles en la cuenta de negociación, equivalente aMONEY.

      El uso:ACCOUNTMONEYRegreso a los fondos disponibles en la cuenta de negociación.

    • Cuenta y dinero TOTO

      Retorno al capital propio de la cuenta de negociación, equivalente aMONEYTOT.

      El uso:ACCOUNTMONEYTOTRegresos a las acciones de la cuenta de negociación.

    • Las monedas

      El número de monedas disponibles en la cuenta spot de moneda digital.

      1.It is used for digital currency spot to obtain the current number of available coins.
      
    • Margen de interés

      Leverage.

      Dinero digital al contado

      a := MARGIN;   // Fixed as value 1
      

      Futuros de moneda digital

      Los futuros de divisas digitales establecen apalancamiento.

      img

      a := MARGIN;   // Declare the variable a and assign the current contract leverage to a
      
  • Función de datos TICK

    • Las preguntas

      Obtener el precio de venta deTICKPor un lado.

    • Las preguntas 2

      Obtener el precio de venta deTICKpara dos.

    • ¿Qué es esto?

      Obtener el precio de venta deTICKpara tres.

    • ¿Qué es esto?

      Obtener el precio de venta deTICKpara cuatro.

    • ¿Qué es esto?

      Obtener el precio de venta deTICKpara cinco.

    • ¿Qué es esto?

      Obtener el volumen de ventas deTICKPor un lado.

    • Las condiciones de los datos son:

      Obtener el volumen de ventas deTICKpara dos.

    • ¿ Qué es esto?

      Obtener el volumen de ventas deTICKpara tres.

    • ¿Qué es esto?

      Obtener el volumen de ventas deTICKpara cuatro.

    • ¿Qué es esto?

      Obtener el volumen de ventas deTICKpara cinco.

    • BID1

      Obtener el precio de oferta deTICKPor un lado.

    • BID2

      Obtener el precio de oferta deTICKpara dos.

    • BID3

      Obtener el precio de oferta deTICKpara tres.

    • BID4

      Obtener el precio de oferta deTICKpara cuatro.

    • BID5

      Obtener el precio de oferta deTICKpara cinco.

    • BID1VOL

      Obtener el volumen de oferta deTICKPor un lado.

    • BID2VOL

      Obtener el volumen de oferta deTICKpara dos.

    • BID3VOL

      Obtener el volumen de oferta deTICKpara tres.

    • BID4VOL

      Obtener el volumen de oferta deTICKpara cuatro.

    • Se trata de una serie de datos.

      Obtener el volumen de oferta deTICKpara cinco.

    • Nuevo

      Obtener el último precio deTICK.

  • El sistema

    • Exit (salida)

      Se lanza un mensaje de error y el programa se apaga.

      EXIT('msg');   // Parameters need to be passed in, string parameters need to be wrapped with '', an error is thrown, the error text is string msg
      
    • Información

      Producción de registro

      INFO(cond, param, ...);
      
      1.cond is a condition variable, output log if true.
      2.A condition variable can be followed by multiple variadic parameters.
      Example:
      INFO(1, C, '<-closing price');
      
    • En el caso de las empresas

      Utilice CONTRACT para obtener el código del contrato de intercambio de la asignación del contrato actualmente establecida.

      INFO(1, CONTRACT);
      

      img

    • DATA

      Utilice el comando DATA para cargar datos.

      (*backtest
      start: 2020-01-21 00:00:00
      end: 2020-02-12 00:00:00
      period: 1d
      basePeriod: 1h
      exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
      *)
      A:DATA('https://www.fmz.com/upload/asset/32bf73a69fc12d36e76.json');
      INFO(1, CONTRACT, A);
      C>HV(H, 10),SPK;
      C<LV(L, 15),BPK;
      AUTOFILTER;
      

      Utilización['attribute name']para tomar el valor de un atributo en los datos.https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.jsonpuede ser un enlace a datos proporcionados por otros programas de servicio, o puede ser datos proporcionados por el centro de datos de la plataforma de negociación FMZ Quant, como la parte de los comentarios en el ejemplo(*Consumption Index: DATA('CPI')[ 'city'];*), usa el códigoCPIpara obtener datos (todavía no se han abierto todos los datos).

      (*backtest
      start: 2018-01-21 00:00:00
      end: 2020-02-12 00:00:00
      period: 1d
      basePeriod: 1d
      exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
      *)
      
      Consumption index: DATA('https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.json')['city'];
      (*Consumption index: DATA('CPI')['city'];*)
      Consumption index > HV(Consumption index, 90),BPK;
      Consumption index < LV(Consumption index, 90),SPK;
      AUTOFILTER;
      

      img

  • Las demás

    • Parámetros de la biblioteca de clases de MyLanguage

      • Puntos mínimos de precio

        img

        En la bolsa de futuros BITMEX, los puntos mínimos de precio son 0,5. En la bolsa de futuros OKEX, los puntos mínimos de precio son 0,01.

        Cuando el precio de algunos contratos es relativamente bajo, es necesario prestar atención a si la fijación de parámetros, como la precisión de la moneda de fijación de precios, la precisión de la variedad de negociación son apropiados.

      • Número máximo de períodos de la variable Afecta el número de gráfico K-línea BARs de la misma manera que llamando a laSetMaxBarLenLa función en eljavascriptLa estrategia sí.

      • Estrategia MyLanguage, el número de posiciones que se muestran en la tabla en la columna de estado.

        Todos son el número real de posiciones mantenidas.

        img

      • Sentencia condicional (no se recomienda escribir de esta manera).

        IF H > C THEN
        BEGIN
            X:=10;
        END
        
    • Ejemplo:

      • Cuando se utiliza el modelo de precios en tiempo real, se detecta la nueva barra de la línea K:

        VARIABLE:N:0;
        IF N <> BARPOS AND ISLASTBAR = 1 THEN
        BEGIN
            N:=BARPOS;
            INFO(1, '123');
        END
        

Relacionados

Más.