Tài nguyên đang được tải lên... tải...

MyLanguage Doc

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2022-06-30 18:24:06, Cập nhật: 2024-02-06 17:36:19

(2)Sau khi tín hiệu BP được gửi, BARSBP đường K quay lại số thời gian từ đường K để mua và đóng các vị trí đến đường K hiện tại. Nếu điều kiện của BARSBP>=1 được đáp ứng, giá trị là HHV(H, BARSBP+1), tức là giá trị tối đa của các vị trí mua và đóng (bao gồm cả đường K hiện tại khi tín hiệu đóng xuất hiện) đến mức giá cao nhất hiện tại. 3.AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//Lấy giá đóng của dòng K cuối cùng để mua và đóng vị trí: (1)Khi BARSBP của đường K hiện tại gửi tín hiệu BP trả về không, sau đó khi đường K không đáp ứng điều kiện của BARSBP>=1, AA trả về giá đóng của đường K hiện tại. (2) K-line BARSBP sau khi tín hiệu BP được gửi trả về số thời gian của K-line để mua và đóng vị trí từ K-line hiện tại, sau đó AA trả về REF ((C, BARSBP), đó là giá đóng của K-line đóng. (3)Ví dụ: ba đường K: 1, 2 và 3, đường K trong 1 là đường K hiện tại của tín hiệu đóng cửa, sau đó trả về giá đóng cửa của đường K hiện tại, và đường K AA trong 2 và 3 trả về giá đóng cửa của đường K trong 1. ` `

  • REFSIG_VOL

    Trả về số lượng lô tín hiệu cho tín hiệu Sig cố định Nth được đếm ngược từ đường K hiện tại (các lệnh ngược lấy số lượng lô vị trí mở).

    Sử dụng:REFSIG_VOL(Sig,N);, xác định kích thước lô của tín hiệu Sig cố định thứ ba tính từ đường K hiện tại. Nếu không có tín hiệu sig, hoặc nếu không có tín hiệu sig cố định, hàm trả về 0.

    Nhận xét: 1.Các tín hiệu được hỗ trợ bởi vị trí Sig là:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP. 2.Nếu đếm ngược đến tín hiệu Sig cố định nth là trên đường K hiện tại, thì hàm sẽ quay trở lại lô tín hiệu hiện tại. 4.Khi N là 0 hoặc không, hàm trả về 0. 5.Các thông số N hỗ trợ các biến.

    Ví dụ:

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

    Trở lại giá tín hiệu của tín hiệu Sig cố định thứ ba từ đầu của đường K hiện tại.

    Sử dụng:REFSIG_PRICE(Sig,N);Nếu không có tín hiệu Sig, hoặc nếu không có tín hiệu Sig cố định, hàm trả về 0.

    Nhận xét: 1.Các tín hiệu được hỗ trợ bởi vị trí Sig là:BK, SK, BP, SP, BPK, SPK,CLOSEOUT,STOP. 2.Nếu có một tín hiệu Sig cố định trên đường K hiện tại, thì khi hàm tính tín hiệu, tín hiệu của đường K hiện tại được bao gồm. 3.Khi N là 0 hoặc không, hàm trả về không. 4.Các thông số N hỗ trợ các biến.

    Ví dụ:

    // 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;
    
  • Đếm

    Đếm số tín hiệu X trong N thời gian.

    Sử dụng:COUNTSIG(X,N);Đếm số tín hiệu X trong N thời gian. X có thểBK, SK, SP, BP, SPK, BPK ,CLOSEOUT,STOP.

    Nhận xét: 1.Trong giai đoạn thống kê, (1) Bao gồm dòng K hiện tại. (2) Nếu N bằng 0, thì đếm từ giá trị hợp lệ đầu tiên. (3) Khi N là một giá trị hợp lệ, nhưng số K-line hiện tại nhỏ hơn N, đếm từ đầu tiên đến đoạn hiện tại. (4) Giá trị trả về là null khi N là null. (5) N có thể là một biến. 2.Khi đếm tín hiệu: (1) Phương pháp thực hiện tín hiệu được chọn làm tín hiệu xác nhận sau khi kết thúc đường K hoặc xem xét sau khi kết thúc đường K (ví dụ: ghi CHECKSIG(SIG,A,0,D,0,0); trong mô hình), trừ các tín hiệu không được cố định trên đường K hiện tại, tức là quay lại số tín hiệu đã được cố định. (2) Phương pháp thực hiện tín hiệu được chọn để không thực hiện kiểm tra tín hiệu (ví dụ: ghi MULTSIG hoặc MULTSIG_MIN; trong mô hình), bao gồm tín hiệu khi đường K hiện tại được gửi và cố định. 3.Tín hiệu BK được tạo ra bởi lệnh BPK được xử lý như tín hiệu BPK, và tín hiệu SK được tạo ra bởi lệnh SPK là tương tự.

    Ví dụ:

    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

    Lấy vị trí đường K của tín hiệu vị trí mở được chỉ định.

    Sử dụng:ENTRYSIG_PLACE(N);Nếu không có tín hiệu để mở một vị trí, hàm trả về null.

    Nhận xét: 1.Các tín hiệu cho việc mở các vị trí là:BK, SK, BPK, SPK. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Nếu số tín hiệu mở trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm trả về null. 4.Vị trí đường K là số từ đường K hiện tại đến đường K nơi tín hiệu mở được chỉ định. 5.Khi N là 0 hoặc không, hàm trả về không. 6.Đối tượng N không được hỗ trợ như một biến.

    Ví dụ:

    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
    
  • Đánh giá giá

    Lấy giá của tín hiệu vị trí mở được chỉ định.

    Sử dụng:ENTRYSIG_PRICE(N);Nếu không có tín hiệu để mở một vị trí, hàm trả về null.

    Nhận xét: 1.Các tín hiệu cho việc mở các vị trí là:BK, SK, BPK, SPK. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Nếu số tín hiệu mở trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm trả về null. 4.Khi N là 0 hoặc không, hàm trả về không. 5.Đối tượng N không được hỗ trợ như một biến. 6.Phát tính hàm này bao gồm trượt. 7.Mô hình giá đóng: Giá trị của hàm đường K hiện tại của tín hiệu được chỉ định sẽ không thay đổi. Mô hình giá lệnh: Trả về giá của tín hiệu mở mốc nth của giao dịch hiện tại tại đường K hiện tại của tín hiệu được chỉ định.

    Ví dụ:

    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

    Lấy lô tín hiệu của tín hiệu mở vị trí được chỉ định.

    Sử dụng:ENTRYSIG_VOL(N);Nếu không có tín hiệu để mở một vị trí, hàm trả về null.

    Nhận xét: 1.Các tín hiệu cho việc mở các vị trí là:BK, SK, BPK, SPK. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Nếu số tín hiệu mở trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm trả về null. 4.Khi N là 0 hoặc không, hàm trả về không. 5.Đối tượng N không được hỗ trợ như một biến. 6.Mô hình giá đóng: Giá trị của hàm đường K hiện tại của tín hiệu được chỉ định sẽ không thay đổi. Mô hình giá lệnh: Tại dòng K hiện tại của tín hiệu được chỉ định, nó trở lại số lô tín hiệu của tín hiệu mở đầu thứ N của giao dịch hiện tại.

    Ví dụ:

    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

    Lấy vị trí đường K của tín hiệu đóng đã chỉ định.

    Sử dụng:EXITSIG_PLACE(N);, lấy vị trí của đường K của tín hiệu đóng cửa thứ ba trong giao dịch hoàn chỉnh. Nếu không có tín hiệu đóng cửa, hàm trả về null.

    Nhận xét: 1.Các tín hiệu đóng các vị trí là:BP, SP, CLOSEOUT, STOP. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Khi số tín hiệu đóng là nhỏ hơn N, hàm trả về null. 4.Vị trí đường K đề cập đến số lượng đường K từ đường K hiện tại đến tín hiệu đóng được chỉ định. 5.Khi N là 0 hoặc không, hàm trả về không. 6.Đối tượng N không được hỗ trợ như một biến.

    Ví dụ:

    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

    Lấy giá của tín hiệu vị trí đóng định.

    Sử dụng:EXITSIG_PRICE(N);Nếu không có tín hiệu đóng cửa, hàm trả về null.

    Nhận xét: 1.Các tín hiệu đóng các vị trí là:BP, SP, CLOSEOUT, STOP. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Khi số tín hiệu đóng trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm trả về null. 4.Khi N là 0 hoặc không, hàm trả về không. 5.Đối tượng N không được hỗ trợ như một biến. 6.Phát tính hàm này bao gồm trượt. 7.Mô hình giá đóng: Giá trị của hàm đường K hiện tại của tín hiệu được chỉ định sẽ không thay đổi. Mô hình giá lệnh: Trả về giá của tín hiệu mở mốc nth của giao dịch hiện tại tại đường K hiện tại của tín hiệu được chỉ định.

    Ví dụ:

    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

    Lấy lô tín hiệu của tín hiệu vị trí đóng định.

    Sử dụng:EXITSIG_VOL(N)Lấy kích thước lô tín hiệu của tín hiệu đóng cửa thứ ba trong một giao dịch hoàn chỉnh.

    Nhận xét: 1.Các tín hiệu đóng các vị trí là:BP, SP, CLOSEOUT, STOP. 2.Một vị trí được coi là một giao dịch hoàn chỉnh từ thời điểm nó được mở cho đến khi nó được giữ ở mức 0. 3.Khi số tín hiệu đóng trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm trả về null. 4.Khi N là 0 hoặc không, hàm trả về không. 5.Đối tượng N không được hỗ trợ như một biến. 6.Mô hình giá đóng: Giá trị của hàm đường K hiện tại của tín hiệu được chỉ định sẽ không thay đổi. Mô hình giá lệnh: Ở dòng K hiện tại của tín hiệu được chỉ định, nó trở lại số lô tín hiệu của tín hiệu đóng cửa thứ nhì của giao dịch hiện tại.

    Ví dụ:

    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
    
  • Chức năng vị trí

    • MYVOL

      Lấy số đơn đặt hàng.

      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);
      
    • Tiền

      Số tiền có sẵn trong tài khoản.

      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

      Tài chính tài khoản.

      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.
      
    • Tài khoản

      Quay lại số tiền có sẵn trong tài khoản giao dịch, tương đương vớiMONEY.

      Sử dụng:ACCOUNTMONEYTrả lại tiền có sẵn trong tài khoản giao dịch.

    • Tài khoản.

      Quay lại vào vốn chủ sở hữu trong tài khoản giao dịch, tương đương vớiMONEYTOT.

      Sử dụng:ACCOUNTMONEYTOTTrả lại cho vốn chủ sở hữu trong tài khoản giao dịch.

    • Tiền xu

      Số lượng tiền xu có sẵn trong tài khoản giao ngay tiền kỹ thuật số.

      1.It is used for digital currency spot to obtain the current number of available coins.
      
    • Lợi nhuận

      Leverage.

      Tiền mặt tiền kỹ thuật số

      a := MARGIN;   // Fixed as value 1
      

      Tiền tương lai tiền kỹ thuật số

      Tiền tương lai tiền kỹ thuật số đặt đòn bẩy.

      img

      a := MARGIN;   // Declare the variable a and assign the current contract leverage to a
      
  • Chức năng TICK

    • ASK1

      Nhận được giá bán củaTICKMột.

    • ASK2

      Nhận được giá bán củaTICKcho hai người.

    • ASK3

      Nhận được giá bán củaTICKcho ba người.

    • ASK4

      Nhận được giá bán củaTICKcho bốn người.

    • ASK5

      Nhận được giá bán củaTICKtrong năm năm.

    • ASK1VOL

      Nhận được khối lượng bán hàng củaTICKMột.

    • ASK2VOL

      Nhận được khối lượng bán hàng củaTICKcho hai người.

    • ASK3VOL

      Nhận được khối lượng bán hàng củaTICKcho ba người.

    • ASK4VOL

      Nhận được khối lượng bán hàng củaTICKcho bốn người.

    • ASK5VOL

      Nhận được khối lượng bán hàng củaTICKtrong năm năm.

    • BID1

      Nhận giá thầu củaTICKMột.

    • BID2

      Nhận giá thầu củaTICKcho hai người.

    • BID3

      Nhận giá thầu củaTICKcho ba người.

    • BID4

      Nhận giá thầu củaTICKcho bốn người.

    • BID5

      Nhận giá thầu củaTICKtrong năm năm.

    • BID1VOL

      Nhận khối lượng giá thầu củaTICKMột.

    • BID2VOL

      Nhận khối lượng giá thầu củaTICKcho hai người.

    • BID3VOL

      Nhận khối lượng giá thầu củaTICKcho ba người.

    • BID4VOL

      Nhận khối lượng giá thầu củaTICKcho bốn người.

    • BID5VOL

      Nhận khối lượng giá thầu củaTICKtrong năm năm.

    • Mới

      Nhận được giá mới nhất củaTICK.

  • Hệ thống

    • EXIT

      Một thông điệp sai được gửi và chương trình sẽ kết thúc.

      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

      Log output

      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');
      
    • Hợp đồng

      Sử dụng CONTRACT để có được mã hợp đồng trao đổi của bản đồ hợp đồng hiện tại.

      INFO(1, CONTRACT);
      

      img

    • Dữ liệu

      Sử dụng lệnh DATA để tải dữ liệu.

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

      Sử dụng['attribute name']để lấy giá trị của một thuộc tính trong dữ liệu.https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.jsonlà các liên kết dữ liệu bên ngoài, nó có thể là một liên kết đến dữ liệu được cung cấp bởi các chương trình dịch vụ khác, hoặc nó có thể là dữ liệu được cung cấp bởi trung tâm dữ liệu của nền tảng giao dịch FMZ Quant, chẳng hạn như phần bình luận trong ví dụ(*Consumption Index: DATA('CPI')[ 'city'];*), sử dụng mãCPIđể lấy dữ liệu (đã chưa mở tất cả dữ liệu).

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

  • Các loại khác

    • Các tham số thư viện lớp MyLanguage

      • Điểm giá tối thiểu

        img

        Trên sàn giao dịch tương lai BITMEX, điểm giá tối thiểu là 0,5. Trên sàn giao dịch tương lai OKEX, điểm giá tối thiểu là 0,01.

        Khi giá của một số hợp đồng tương đối thấp, cần phải chú ý đến việc thiết lập các tham số, chẳng hạn như độ chính xác của giá, độ chính xác của loại giao dịch.

      • Số lần tối đa của biến Nó ảnh hưởng đến số lượng biểu đồ K-line BARs theo cùng một cách gọi cácSetMaxBarLenchức năng trongjavascriptChiến lược thì có.

      • Chiến lược MyLanguage, số vị trí được hiển thị trên bảng trong cột trạng thái.

        Tất cả là số lượng thực tế của các vị trí nắm giữ.

        img

      • Phán quyết có điều kiện (không nên viết theo cách này).

        IF H > C THEN
        BEGIN
            X:=10;
        END
        
    • Ví dụ:

      • Khi mô hình giá thời gian thực được sử dụng, thanh K-line mới được phát hiện:

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

Có liên quan

Thêm nữa