В процессе загрузки ресурсов... загрузка...

Доктор MyLanguage

Автор:Изобретатели количественного измерения - мечты, Создано: 2022-06-30 18:24:06, Обновлено: 2024-02-06 17:36:19

(2)После отправки сигнала BP K-линия BARSBP возвращает количество периодов от K-линии для покупки и закрытия позиций к текущей K-линии. Если условие BARSBP>=1 выполнено, значение составляет HHV(H, BARSBP+1), то есть максимальное значение покупательных и закрывающих позиций (включая текущую K-линию при появлении сигнала закрытия) к текущей самой высокой цене. 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//Взять цену закрытия последней линии K для покупки и закрытия позиции: (1)Когда BARSBP текущей K-линии, отправляющей сигнал BP, возвращает null, то когда K-линия не отвечает условию BARSBP>=1, AA возвращается к цене закрытия текущей K-линии. (2) После отправки сигнала BP K-линия BARSBP возвращается к номеру периода K-линии для покупки и закрытия позиции с текущей K-линии, затем AA возвращается к REF ((C, BARSBP), что является ценой закрытия закрывающейся K-линии. (3)Например: три линии K: 1, 2 и 3, линия K в 1 - это текущая линия K сигнала закрытия, затем возвращается к цене закрытия текущей линии K, а линия K AA в 2 и 3 возвращает цену закрытия линии K в 1. ` `

  • REFSIG_VOL

    Возвращает количество лотов сигнала для N-го фиксированного Sig-сигнала, отсчитанного от текущей K-линии (обратные заказы принимают количество лотов открытых позиций).

    Использование:REFSIG_VOL(Sig,N);, определить размер лота nth фиксированного сигнала Sig, подсчитывая с текущей K-линии. Если нет сигнала Sig, или если нет фиксированного сигнала Sig, функция возвращает 0.

    Примечания: 1.Сигналы, поддерживаемые позицией Sig:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- Да. 2.Если отсчет до N-го фиксированного сигнала Sig находится на текущей K-линии, то функция возвращается к текущей партии сигнала. 4.Когда N равен 0 или нулю, функция возвращает 0. 5.Параметр N поддерживает переменные.

    Примеры:

    // 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

    Возвращается к цене сигнала N-го фиксированного Sig-сигнала с начала текущей линии K.

    Использование:REFSIG_PRICE(Sig,N);, определить цену сигнала на нв фиксированном сигнале Sig из текущей линии K. Если нет сигнала Sig, или если нет фиксированного сигнала Sig, функция возвращает 0.

    Примечания: 1.Сигналы, поддерживаемые позицией Sig:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP- Да. 2.Если на текущей K-линии есть фиксированный Sig-сигнал, то при вычислении сигнала функцией включается сигнал текущей K-линии. 3.Когда N равен 0 или нулю, функция возвращает нуль. 4.Параметр N поддерживает переменные.

    Примеры:

    // 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;
    
  • Считается

    Подсчитайте количество сигналов X в N периодов.

    Использование:COUNTSIG(X,N);Подсчитайте количество сигналов X в N периодов. X может бытьBK, SK, SP, BP, SPK, BPK ,CLOSEOUT,STOP.

    Примечания: 1.В течение статистического периода (1) Содержит текущую K-линию. (2) Если N равна 0, то начинайте от первого действительного значения. (3) Когда N является действительным значением, но текущее число K-линий меньше N, считать от первой до текущего периода. (4)Вернутое значение равно нулю, когда N равно нулю. (5) N может быть переменной. 2.При подсчете сигналов: (1)Метод исполнения сигнала выбирается в качестве подтверждающего сигнала после завершения K-линии или проверки после завершения K-линии (например: запишите CHECKSIG(SIG,A,0,D,0,0); в модели), за исключением сигналов, которые не фиксированы на текущей K-линии, то есть возвращение к количеству фиксированных сигналов. (2)Метод исполнения сигнала выбран не для проверки сигнала (например: запишите MULTSIG или MULTSIG_MIN; в модели), включая сигнал при отправке и фиксации текущей K-линии. 3.Сигнал BK, генерируемый командой BPK, обрабатывается как сигнал BPK, а сигнал SK, генерируемый командой SPK, такой же.

    Примеры:

    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

    Принять положение K-линии указанного сигнала открытия положения.

    Использование:ENTRYSIG_PLACE(N);Если нет сигнала для открытия позиции, функция возвращает null.

    Примечания: 1.Сигналы для открытия позиций:BK, SK, BPK, SPK- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Если количество открытых сигналов в полной сделке меньше N, функция возвращает null. 4.Положение линии K - это число от текущей линии K до линии K, где расположен указанный сигнал открытия. 5.Когда N равен 0 или нулю, функция возвращает нуль. 6.Параметр N не поддерживается в качестве переменной.

    Примеры:

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

    Возьмите цену указанного сигнала открытой позиции.

    Использование:ENTRYSIG_PRICE(N);Если нет сигнала для открытия позиции, функция возвращает null.

    Примечания: 1.Сигналы для открытия позиций:BK, SK, BPK, SPK- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Если количество открытых сигналов в полной сделке меньше N, функция возвращает null. 4.Когда N равен 0 или нулю, функция возвращает нуль. 5.Параметр N не поддерживается в качестве переменной. 6.Расчет этой функции включает скольжение. 7.Модель ценового закрытия: значение текущей функции K-линии указанного сигнала не изменится. Модель цены заказа: возвращение к цене N-го открытия сигнала текущей торговли на текущей линии K указанного сигнала.

    Примеры:

    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

    Возьмите сигнальный пакет указанного сигнала открытия позиции.

    Использование:ENTRYSIG_VOL(N);Если нет сигнала для открытия позиции, функция возвращает null.

    Примечания: 1.Сигналы для открытия позиций:BK, SK, BPK, SPK- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Если количество открытых сигналов в полной сделке меньше N, функция возвращает null. 4.Когда N равен 0 или нулю, функция возвращает нуль. 5.Параметр N не поддерживается в качестве переменной. 6.Модель ценового закрытия: значение текущей функции K-линии указанного сигнала не изменится. Модель цены заказа: на текущей K-линии указанного сигнала он возвращается к номеру лота сигнала N-го открытого сигнала текущей торговли.

    Примеры:

    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

    Примите положение линии K указанного закрытия.

    Использование:EXITSIG_PLACE(N);Если нет сигнала закрытия, функция возвращает null.

    Примечания: 1.Сигналы для закрытия позиций:BP, SP, CLOSEOUT, STOP- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Когда количество сигналов закрытия меньше N, функция возвращает нуль. 4.Положение K-линии относится к числу K-линий от текущей K-линии до обозначенного закрывающего сигнала. 5.Когда N равен 0 или нулю, функция возвращает нуль. 6.Параметр N не поддерживается в качестве переменной.

    Примеры:

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

    Возьмите цену указанного сигнала закрытия позиции.

    Использование:EXITSIG_PRICE(N);Если нет сигнала закрытия, функция возвращает нуль.

    Примечания: 1.Сигналы для закрытия позиций:BP, SP, CLOSEOUT, STOP- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Когда количество сигналов закрытия в полной торговле меньше N, функция возвращает нуль. 4.Когда N равен 0 или нулю, функция возвращает нуль. 5.Параметр N не поддерживается в качестве переменной. 6.Расчет этой функции включает скольжение. 7.Модель ценового закрытия: значение текущей функции K-линии указанного сигнала не изменится. Модель цены заказа: возвращение к цене N-го открытия сигнала текущей торговли на текущей линии K указанного сигнала.

    Примеры:

    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

    Возьмите сигнал партии указанного сигнала закрытия позиции.

    Использование:EXITSIG_VOL(N)Если нет сигнала закрытия позиции, функция возвращает null.

    Примечания: 1.Сигналы для закрытия позиций:BP, SP, CLOSEOUT, STOP- Да. 2.Позиция считается завершенной с момента ее открытия и до момента ее хранения на уровне 0. 3.Когда количество сигналов закрытия в полной торговле меньше N, функция возвращает нуль. 4.Когда N равен 0 или нулю, функция возвращает нуль. 5.Параметр N не поддерживается в качестве переменной. 6.Модель ценового закрытия: значение текущей функции K-линии указанного сигнала не изменится. Модель цены заказа: при текущей K-линии указанного сигнала он возвращается к номеру лота сигнала N-го заключительного сигнала текущей торговли.

    Примеры:

    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
    
  • Позиционные функции

    • MYVOL

      Возьми номер заказа.

      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);
      
    • ДЕНЬГИ

      Средства, имеющиеся на счете.

      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 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.
      
    • СЧЕТНЫЕ ДЕНЬГИ

      Возврат средств, имеющихся на торговом счете, эквивалентMONEY.

      Использование:ACCOUNTMONEYВозвращается к имеющимся средствам на торговом счете.

    • Счет. Всего

      Возврат к собственному капиталу на торговом счете, эквивалентныйMONEYTOT.

      Использование:ACCOUNTMONEYTOTВозвращается в собственный капитал на торговом счете.

    • Монеты

      Количество монет, доступных на спотовом счете цифровой валюты.

      1.It is used for digital currency spot to obtain the current number of available coins.
      
    • Маржина

      Leverage.

      Спотная цифровая валюта

      a := MARGIN;   // Fixed as value 1
      

      Фьючерсы на цифровую валюту

      Фьючерсы на цифровую валюту устанавливают рычаг кредитования.

      img

      a := MARGIN;   // Declare the variable a and assign the current contract leverage to a
      
  • Функция данных TICK

    • ASK1

      Получить цену продажиTICKВо-первых.

    • ASK2

      Получить цену продажиTICKДля двоих.

    • ASK3

      Получить цену продажиTICKЗа три.

    • ASK4

      Получить цену продажиTICKЗа четыре.

    • ASK5

      Получить цену продажиTICKЗа пять.

    • ASK1VOL

      Получить объем продажTICKВо-первых.

    • ASK2VOL

      Получить объем продажTICKДля двоих.

    • ASK3VOL

      Получить объем продажTICKЗа три.

    • ASK4VOL

      Получить объем продажTICKЗа четыре.

    • ASK5VOL

      Получить объем продажTICKЗа пять.

    • BID1

      Получить цену предложенияTICKВо-первых.

    • BID2

      Получить цену предложенияTICKДля двоих.

    • BID3

      Получить цену предложенияTICKЗа три.

    • BID4

      Получить цену предложенияTICKЗа четыре.

    • BID5

      Получить цену предложенияTICKЗа пять.

    • BID1VOL

      Получить объем предложенияTICKВо-первых.

    • BID2VOL

      Получить объем предложенияTICKДля двоих.

    • BID3VOL

      Получить объем предложенияTICKЗа три.

    • BID4VOL

      Получить объем предложенияTICKЗа четыре.

    • BID5VOL

      Получить объем предложенияTICKЗа пять.

    • Новый

      Получите последнюю цену наTICK.

  • Система

    • Выход

      Выбрасывается сообщение об ошибке и программа выходит.

      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
      
    • ИНФО

      Выпуск журнала

      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');
      
    • Контракт

      Используйте CONTRACT, чтобы получить код обменного контракта на текущем настройке контракта.

      INFO(1, CONTRACT);
      

      img

    • DATA

      Используйте команду DATA для загрузки данных.

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

      Использование['attribute name']чтобы взять значение атрибута в данных.https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.jsonявляется внешние ссылки данных, это может быть ссылка на данные, предоставленные другими сервисными программами, или это может быть данные, предоставленные центром данных торговой платформы FMZ Quant, такие как часть комментариев в примере(*Consumption Index: DATA('CPI')[ 'city'];*), используйте кодCPIчтобы получить данные (данные еще не все открыты).

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

  • Прочие

    • Параметры библиотеки класса MyLanguage

      • Минимальные цены

        img

        На бирже фьючерсов BITMEX минимальные цены составляют 0,5. На бирже фьючерсов OKEX минимальные цены составляют 0,01.

        Когда цена некоторых контрактов относительно низкая, необходимо обратить внимание на то, уместно ли устанавливать такие параметры, как точность ценообразования валюты, точность торгового совокупности.

      • Максимальное количество периодов переменной Это влияет на количество диаграммы K-линии BARs таким же образом, что звонкиSetMaxBarLenФункция вjavascriptСтратегия имеет значение.

      • Стратегия MyLanguage, количество позиций, отображаемых в таблице в столбце состояния.

        Все это фактическое количество позиций.

        img

      • Условное решение (не рекомендуется писать таким образом).

        IF H > C THEN
        BEGIN
            X:=10;
        END
        
    • Пример:

      • При использовании модели цены в режиме реального времени обнаруживается новая строка K-линии:

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

Связанные

Больше