O recurso está a ser carregado... Carregamento...

Doc MyLanguage

Autora:Inventor quantificado - sonho pequeno, Criado: 2022-06-30 18:24:06, Atualizado: 2024-02-06 17:36:19

(2) Após o envio do sinal BP, o BARSBP da linha K retorna ao número de períodos desde a linha K para compras e fechamentos de posições até a linha K atual. Se a condição de BARSBP>=1 estiver satisfeita, o valor é HHV(H, BARSBP+1), ou seja, o valor máximo das posições de compra e fechamento (incluindo a linha K atual quando o sinal de fechamento aparece) ao preço mais alto atual. 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//Tome o preço de fechamento da última linha K para comprar e fechar a posição: (1)Quando o BARSBP da linha K atual que envia o sinal BP retorna nulo, então quando a linha K não atende à condição de BARSBP>=1, AA retorna ao preço de fechamento da linha K atual. (2) A linha K BARSBP após o envio do sinal BP retorna para o número de período da linha K para comprar e fechar a posição da linha K atual, em seguida, AA retorna para REF ((C, BARSBP), que é o preço de fechamento da linha K de fechamento. (3)Por exemplo: três linhas K: 1, 2 e 3, a linha K em 1 é a linha K corrente do sinal de fechamento, depois retorna ao preço de fechamento da linha K corrente, e a linha K AA em 2 e 3 retorna ao preço de fechamento da linha K em 1. Não, não.

  • REFSIG

    Retorna o número de lotes de sinal para o n.o sinal Sig fixo contado a partir da linha K atual (ordens backhand tomam o número de lotes de posição aberta).

    Utilização:REFSIG_VOL(Sig,N);, determine o tamanho do lote do nth sinal de sig fixa contando a partir da linha K atual.

    Observações: 1.Os sinais suportados pela posição Sig são:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- Não. 2.Se a contagem regressiva para o n.o sinal Sig fixo estiver na linha K corrente, a função retorna ao lote de sinal corrente. 4.Quando N é igual a 0 ou nulo, a função retorna 0. 5.O parâmetro N suporta variáveis.

    Exemplos:

    // 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);
    
  • REFSIG_PRICE

    Retorna ao preço do sinal do n.o sinal Sig fixo a partir do início da linha K atual.

    Utilização:REFSIG_PRICE(Sig,N);Se não houver sinal Sig, ou se não houver sinal Sig fixo, a função retorna 0.

    Observações: 1.Os sinais suportados pela posição Sig são:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- Não. 2.Se houver um sinal Sig fixo na linha K de corrente, quando a função calcula o sinal, o sinal da linha K de corrente é incluído. 3.Quando N é 0 ou nulo, a função retorna nulo. 4.O parâmetro N suporta variáveis.

    Exemplos:

    // 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;
    
  • Contagem

    Contar o número de sinais X em N períodos.

    Utilização:COUNTSIG(X,N);Contar o número de sinais X em N períodos. X pode serBK, SK, SP, BP, SPK, BPK ,CLOSEOUT,STOP.

    Observações: 1.Durante o período estatístico, (1) Contém a linha K corrente. (2) Se N for 0, contar a partir do primeiro valor válido. (3) Quando N é um valor válido, mas o número atual de linhas K é inferior a N, contar do primeiro até ao período atual. (4) O valor de retorno é nulo quando N é nulo. (5) N pode ser uma variável. 2.Ao contar sinais: (1)O método de execução do sinal é selecionado como sinal de confirmação após a conclusão da linha K ou a revisão após a conclusão da linha K (por exemplo: escrever CHECKSIG(SIG,A,0,D,0,0); no modelo), excluindo os sinais que não estão fixados na linha K corrente, ou seja, retornar ao número de sinais que foram fixados. (2) O método de execução do sinal é selecionado para não realizar a revisão do sinal (por exemplo: escrever MULTSIG ou MULTSIG_MIN; no modelo), incluindo o sinal quando a linha K corrente é enviada e fixada. 3.O sinal BK gerado pelo comando BPK é processado como o sinal BPK e o sinal SK gerado pelo comando SPK é o mesmo.

    Exemplos:

    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
    
  • ENTRYSIG_PLACE

    Tomar a posição da linha K do sinal de posição de abertura especificado.

    Utilização:ENTRYSIG_PLACE(N);Se não houver sinal para abrir uma posição, a função retorna nulo.

    Observações: 1.Os sinais para a abertura de posições são:BK, SK, BPK, SPK- Não. 2.Uma posição é considerada como uma transacção completa a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Se o número de sinais abertos num negócio completo for inferior a N, a função devolve nulo. 4.A posição da linha K é o número entre a linha K corrente e a linha K onde se encontra o sinal de abertura especificado. 5.Quando N é 0 ou nulo, a função retorna nulo. 6.O parâmetro N não é suportado como variável.

    Exemplos:

    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
    
  • O valor do valor do produto deve ser igual ou superior a:

    Tomar o preço do sinal de posição aberta especificado.

    Utilização:ENTRYSIG_PRICE(N);Se não houver sinal para abrir uma posição, a função retorna nulo.

    Observações: 1.Os sinais para a abertura de posições são:BK, SK, BPK, SPK- Não. 2.Uma posição é considerada como uma transacção completa a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Se o número de sinais abertos num negócio completo for inferior a N, a função devolve nulo. 4.Quando N é 0 ou nulo, a função retorna nulo. 5.O parâmetro N não é suportado como variável. 6.O cálculo desta função inclui o deslizamento. 7.Modelo de preço de fechamento: o valor da função corrente da linha K do sinal especificado não será alterado. Modelo de preço de comando: Retorno ao preço do n.o sinal de abertura da negociação corrente na linha K corrente do sinal especificado.

    Exemplos:

    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
    
  • ENTRYSIG_VOL

    Tomar o lote de sinal do sinal de abertura da posição especificada.

    Utilização:ENTRYSIG_VOL(N);Se não houver sinal para abrir uma posição, a função retorna nulo.

    Observações: 1.Os sinais para a abertura de posições são:BK, SK, BPK, SPK- Não. 2.Uma posição é considerada completada a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Se o número de sinais abertos num negócio completo for inferior a N, a função devolve nulo. 4.Quando N é 0 ou nulo, a função retorna nulo. 5.O parâmetro N não é suportado como variável. 6.Modelo de preço de encerramento: o valor da função corrente da linha K do sinal especificado não será alterado. Modelo de preço de comando: na linha K atual do sinal especificado, ele retorna ao número do lote de sinal do n.o sinal de abertura da negociação atual.

    Exemplos:

    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
    
  • EXITSIG_PLACE

    Tomar a posição da linha K do sinal de fechamento especificado.

    Utilização:EXITSIG_PLACE(N);Se não houver sinal de fechamento, a função retorna nulo.

    Observações: 1.Os sinais para o encerramento das posições são:BP, SP, CLOSEOUT, STOP- Não. 2.Uma posição é considerada como uma transacção completa a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Quando o número de sinais de fechamento for inferior a N, a função devolve nulo. 4.A posição da linha K refere-se ao número de linhas K entre a linha K corrente e o sinal de encerramento designado. 5.Quando N é 0 ou nulo, a função retorna nulo. 6.O parâmetro N não é suportado como variável.

    Exemplos:

    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
    
  • ExitIG_Price

    Tomar o preço do sinal de posição de fechamento especificado.

    Utilização:EXITSIG_PRICE(N);Se não houver sinal de fechamento, a função retorna nulo.

    Observações: 1.Os sinais para o encerramento das posições são:BP, SP, CLOSEOUT, STOP- Não. 2.Uma posição é considerada como uma transacção completa a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Quando o número de sinais de encerramento numa negociação completa for inferior a N, a função retorna nulo. 4.Quando N é 0 ou nulo, a função retorna nulo. 5.O parâmetro N não é suportado como variável. 6.O cálculo desta função inclui o deslizamento. 7.Modelo de preço de fechamento: o valor da função corrente da linha K do sinal especificado não será alterado. Modelo de preço de comando: Retorno ao preço do n.o sinal de abertura da negociação corrente na linha K corrente do sinal especificado.

    Exemplos:

    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

    Tomar o lote de sinal do sinal de posição de fechamento especificado.

    Utilização:EXITSIG_VOL(N)Se não houver sinal de posição fechada, a função retorna nulo.

    Observações: 1.Os sinais para o encerramento das posições são:BP, SP, CLOSEOUT, STOP- Não. 2.Uma posição é considerada como uma transacção completa a partir do momento em que é aberta até ser mantida a um valor igual a 0. 3.Quando o número de sinais de encerramento numa negociação completa for inferior a N, a função retorna nulo. 4.Quando N é 0 ou nulo, a função retorna nulo. 5.O parâmetro N não é suportado como variável. 6.Modelo de preço de fechamento: o valor da função corrente da linha K do sinal especificado não será alterado. Modelo de preço de comando: na linha K atual do sinal especificado, ele retorna ao número do lote de sinal do n.o sinal de encerramento da negociação atual.

    Exemplos:

    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
    
  • Funções de posição

    • MYVOL

      Leva o número do 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);
      
    • Dinheiro

      Fundos disponíveis na conta.

      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
      
    • MONEYTOT

      Conta de património.

      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.
      
    • Contabilidade

      Retorno dos fundos disponíveis na conta de negociação, equivalente aMONEY.

      Utilização:ACCOUNTMONEYRetorna aos fundos disponíveis na conta de negociação.

    • Contas TOTALES

      Retorno ao capital próprio na conta de negociação, equivalente aMONEYTOT.

      Utilização:ACCOUNTMONEYTOTRetorna ao capital da conta de negociação.

    • Moedas

      Número de moedas disponíveis na conta spot de moeda digital.

      1.It is used for digital currency spot to obtain the current number of available coins.
      
    • Margem

      Leverage.

      Valor spot de moeda digital

      a := MARGIN;   // Fixed as value 1
      

      Futuros de moeda digital

      Futuros de moeda digital definem alavancagem.

      img

      a := MARGIN;   // Declare the variable a and assign the current contract leverage to a
      
  • Função de dados TICK

    • ASK1

      Obter o preço de venda deTICKPor um lado.

    • ASK2

      Obter o preço de venda deTICKpara dois.

    • ASK3

      Obter o preço de venda deTICKpara três.

    • ASK4

      Obter o preço de venda deTICKpara quatro.

    • ASK5

      Obter o preço de venda deTICKpor cinco.

    • ASK1VOL

      Obter o volume de vendas deTICKPor um lado.

    • ASK2VOL

      Obter o volume de vendas deTICKpara dois.

    • ASK3VOL

      Obter o volume de vendas deTICKpara três.

    • ASK4VOL

      Obter o volume de vendas deTICKpara quatro.

    • ASK5VOL

      Obter o volume de vendas deTICKpor cinco.

    • BID1

      Obter o preço de oferta deTICKPor um lado.

    • BID2

      Obter o preço de oferta deTICKpara dois.

    • BID3

      Obter o preço de oferta deTICKpara três.

    • BID4

      Obter o preço de oferta deTICKpara quatro.

    • BID5

      Obter o preço de oferta deTICKpor cinco.

    • BID1VOL

      Obter o volume de oferta deTICKPor um lado.

    • BID2VOL

      Obter o volume de oferta deTICKpara dois.

    • BID3VOL

      Obter o volume de oferta deTICKpara três.

    • BID4VOL

      Obter o volume de oferta deTICKpara quatro.

    • BID5VOL

      Obter o volume de oferta deTICKpor cinco.

    • NOVO

      Obter o preço mais recente deTICK.

  • Sistema

    • Exit

      Um texto de erro é lançado e o programa sai.

      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
      
    • Informações

      Output de log

      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');
      
    • CONTRATO

      Use CONTRACT para obter o código do contrato de troca do mapeamento do contrato atualmente definido.

      INFO(1, CONTRACT);
      

      img

    • DADOS

      Use o comando DATA para carregar dados.

      (*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;
      

      Utilização['attribute name']para tomar o valor de um atributo nos dados.https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.jsonsão os links de dados externos, pode ser um link para dados fornecidos por outros programas de serviço, ou pode ser dados fornecidos pelo centro de dados da plataforma de negociação FMZ Quant, como a parte dos comentários no exemplo(*Consumption Index: DATA('CPI')[ 'city'];*), use o códigoCPIpara obter dados (ainda não foram abertos todos os dados).

      (*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

  • Outros

    • Parâmetros da biblioteca de classes MyLanguage

      • Pontos mínimos de preço

        img

        Na bolsa de futuros BITMEX, os pontos mínimos de preço são 0,5. Na bolsa de futuros OKEX, os pontos mínimos de preço são 0,01.

        Quando o preço de alguns contratos é relativamente baixo, é necessário prestar atenção à adequação da fixação de parâmetros, tais como a precisão das moedas de preços e a precisão da variedade de negociação.

      • Número máximo de períodos da variável Ele afeta o número de gráfico K-line BARs da mesma forma que chamando oSetMaxBarLenfunção najavascriptA estratégia faz.

      • Estratégia MyLanguage, o número de posições exibidas na tabela na coluna de estado.

        Todos são o número real de posições detidas.

        img

      • Julgamento condicional (não é recomendado escrever desta forma).

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

      • Quando o modelo de preços em tempo real é utilizado, a nova barra de linha K é detectada:

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

Relacionados

Mais.