Type/to search
8
Follow
1364
Followers
Tài liệu về Mylang Quantified của Inventor
Tutorials
Created 2018-11-30 13:29:33  Updated 2022-12-09 17:46:10
 24
 38964

Ngôn ngữ My là một ngôn ngữ giao dịch lập trình tương thích và tăng cường với ngôn ngữ Mac. Ngôn ngữ My được định lượng FMZ sẽ được kiểm tra ngữ pháp nghiêm ngặt, ví dụ khi sử dụng ngôn ngữ tăng cường để nhúng mã ngôn ngữ JavaScript, trong%%Nếu có nhiều hơn một ký tự trống sau khi thực hiện thao tác sẽ gây ra lỗi.

  • Hướng dẫn cơ bản

    • hợp đồng

      Hợp đồng tiền kỹ thuật số

      Hợp đồng tiền kỹ thuật số

      this_week 数字货币期货当周合约 next_week 数字货币期货次周合约 month 数字货币期货月度合约 quarter 数字货币期货季度合约 next_quarter 数字货币期货次季度合约 third_quarter 数字货币期货第三季度合约 last_quarter 最后季度合约 XBTUSD BITMEX永续合约 swap 除BITMEX交易所以外数字货币期货永续合约 具体可以参看JavaScript/Python/C++文档的exchange.SetContractType()函数部分

      img

    • Biến số

      Một biến là một phần trong bộ nhớ của máy tính được mở ra để lưu trữ dữ liệu, đơn giản là để lưu trữ dữ liệu.

      Khởi động biến số đầu tiên

      // 将1赋值给变量a a:=1;

      hiện hữu麦语言Trong, từ数据量Một sự phân biệt đơn giản:

      1. Dữ liệu đơn giá trị: chỉ có một giá trị, ví dụ01’abc’
      2. Dữ liệu chuỗi: một chuỗi dữ liệu bao gồm một loạt dữ liệu đơn giá trị, chẳng hạn nhưClose(Giá đóng cửa), ở đâyCloseBao gồm:nGiá đóng cửa của một chu kỳ[ 10.1 , 10.2 , 10.3 , 10.4 , 10. 5 ...]

      Phân biệt từ phấn thay đổi loại phấn

      1. Loại chuỗi: bắt buộc''Gói, loại chuỗi không được phép sử dụng trực tiếp, cần phải xuất hàm phối hợp vào dạng xem.
      INFO(CLSOE>OPEN,'OK!');
      1. Loại số: bao gồm cả số nguyên, số điểm nổi và số nhỏ.
      // 整数 int:=2; // 小数 float:=3.1;
      1. Loại Boolean, sử dụng 1 (true) hoặc 0 (false): 1, 0, true hoặc false. Ví dụ:A:=1>0;Sau khi thực hiện mã này, chúng ta sẽ thấy rằng:AGiá trị của 1 ≠ 1
      // 当前周期收盘价大于-999,你会发现,每个周期的返回值都是1,代表true,因为收盘价几乎不可能为负数 is_true:=Close>-999;
      1. Biến toàn cục
      VARIABLE:VALUE1:10; // 声明一个全局变量,赋值为10,只执行一次。

      Hãy chú ý khi phản hồi:

      VARIABLE:NX:0; // 初始一个全局变量NX为0 NX..NX+1; // 每次累加1 INFO(1,NX); // 每次打印NX

      Ban đầuINFOCâu nói được in là:101Có thể có nghi ngờ, không phải là ban đầu.0Vậy sao?
      Nguyên nhân là khi kiểm tra lại, đường K ban đầu có 100 đường, đã chạy qua 100 đường K, tích lũy 100 lần.
      Đĩa cứng được xác định dựa trên số lượng dây K ban đầu.

      • Quy tắc đặt tên

        Trong hầu hết các hệ thống, thay đổi tên không cho phép sử dụng các phím hệ thống để giữ các ký tự (như tên biến tích hợp, tên hàm).CloseCNgoài ra, không cho phép số nguyên hoặc số bắt đầu. Cuối không cho phép dài, giới hạn độ dài khác nhau trong các hệ thống khác nhau.
        Thực tế, bạn không cần phải băn khoăn về hiệu quả phân tích của tiếng Trung của hệ thống chính thống, tin rằng ngôn ngữ Quế Quế rất thân thiện với tiếng Trung.

        1. Tên tiếng Trung Quốc
        // 优雅的输出 五日均线:=MA(C,5);
        1. Tiếng Anh + gạch dưới
        // 输出 move_avg_5:=MA(C,5);

        Nếu bạn là người nói tiếng Anh, hãy cố gắng làm cho người khác hiểu được ý nghĩa của bạn.A1AAABBB... cách đặt tên như thế này. Tôi tin rằng một ngày nào đó bạn sẽ phải đau khổ vì mất trí nhớ khi bạn xem lại mã chỉ số của mình. Tương tự như vậy, tâm lý của người đọc chắc chắn sẽ sụp đổ khi bạn xuất mã cho người khác.

        Từ bây giờ, hãy nắm lấy ngôn ngữ này một cách đầy yêu thương và hy vọng rằng nó sẽ trở thành một công cụ mạnh mẽ để bạn phân tích và đưa ra quyết định.

    • Loại dữ liệu

      Loại dữ liệu là một khái niệm cơ bản, trong lập trình khi chúng ta gán một giá trị dữ liệu rõ ràng cho một biến, biến này cũng trở thành loại của chính dữ liệu.

        1. Loại giá trị:
        1、2、3、1.1234、2.23456 ...
        1. Loại chuỗi ((str):
        '1' 、'2' 、'3' ,字符串类型必须用 '' 包裹
        1. Dữ liệu chuỗi:
        一系列单值数据构成的数据集合
        1. Loại Boolean:

        Sử dụng1Đại diệntrue0Đại diệnfalse

        Ví dụ

        // 声明一个数值类型的变量 var_int := 1; // 声明一个序列数据的变量 var_arr := Close; // 字符串类型不能单独声明,需要结合函数 INFO(C>O, '阳线');
    • Máy tính

      Nó được sử dụng để thực hiện các hoạt động, tính toán của mã chỉ số, đơn giản là ký hiệu tham gia vào hoạt động.

      • Điều toán định giá

        Nó được sử dụng để gán giá trị cho một biến

          1. :

          :, đại diện cho định giá và xuất ra trong đồ thị (hình phụ).

          Close1:Close; // 将Close赋值给变量Close1,并且输出到图中
          1. :=

          :=, đại diện cho định giá, nhưng không được xuất vào đồ họa (bảng chính, đồ họa phụ ...) và không được hiển thị trong bảng trạng thái.

          Close2:=Close; // 将Close赋值给变量Close2
          1. ^^

          ^^Hai.^Biểu tượng đại diện cho định giá, định giá cho các biến và xuất ra trong biểu đồ (bản đồ chính).

          lastPrice^^C;
          1. ..

          ..Hai..Biểu tượng đại diện cho định giá, định giá cho biến và hiển thị tên, giá trị của biến trong biểu đồ, nhưng không vẽ biểu đồ vào biểu đồ (bản đồ chính, biểu đồ phụ ...)

          openPrice..O
      • Tính toán tử quan hệ

        Các toán tử quan hệ là các toán tử nhị phân, được sử dụng trong các biểu thức điều kiện. Nó được sử dụng để đánh giá mối quan hệ giữa hai dữ liệu.

        Trả giá trị: kiểu Boolean, không phảitrue(1)false(0)。

          1. Hơn>
          // 将2>1的运算结果赋值给rv1变量,此时rv1=1 rv1:=2>1;
          1. Ít hơn<
          // 返回false,也就是0,因为2大于1 rv3:=2<1;
          1. Lớn hơn bằng>=
          x:=Close; // 将收盘价大于等于10的运算的结果赋值给变量rv2 // 注意,由于close是一个序列数据,当进行close>=10运算的时候,本质是每个周期都进行运算,所以每个周期都会有一个1、0的返回值 rv2:=Close>=10;
          1. nhỏ hơn bằng<=
          此处省略
          1. bình đẳng=
          A:=O=C; // 判断开盘价是不是等于收盘价。
          1. Không bằng<>
          1<>2 // 判断1是否不等于2,返回值为1(true)
      • Các toán tử logic

        Trả giá trị: kiểu Boolean, không phảitrue(1)false(0)。

        1. logic và&&có thể sử dụngandThay vào đó, nó phải được tạo ra đồng thời với cả hai bên trái và trái của kết nối.
        // 判断 cond_a,cond_b,cond_c 是否同时成立 cond_a:=2>1; cond_b:=4>3; cond_c:=6>5; cond_a && cond_b and cond_c; // 返回值为1,成立
        1. logic hay||có thể sử dụngorThay thế hoặc liên kết ở cả hai bên, một bên được thành lập ((true) và toàn bộ được thành lập ((true))
        cond_a:=1>2; cond_b:=4>3; cond_c:=5>6; cond_a || cond_b or cond_c; // 返回值为1,成立
        1. ()Điều toán viên, tính toán trước biểu thức trong vòng tròn.
        1>2 AND (2>3 OR 3<5) // 运算结果为假 1>2 AND 2>3 OR 3<5 // 运算结果为真
      • Máy tính toán số

        返回值:数值类型

        Các toán tử số học là các ký hiệu hoạt động số học. Đây là các ký hiệu để thực hiện các hoạt động số học cơ bản, tức là các ký hiệu được sử dụng để xử lý bốn hoạt động.

        • +

          A:=1+1; // 返回 2
        • Giảm

          A:=2-1; // 返回 1
        • Tăng*

          A:=2*2; // 返回 4
        • Trừ /

          A:=4/2; // 返回 2
    • chức năng

      • chức năng

        Trong thế giới lập trình, hàm <unk> thực sự là một đoạn mã thực hiện một chức năng nhất định. Và có thể được gọi cho các mã khác, dạng chung như sau:

        function(param1,param2,...)
        • Thành phần:

          Tên hàm ((cơ số 1, cơ số 2,...), có thể không có tham số hoặc có nhiều tham số. Ví dụ:MA(x,n);Đại diện trở vềnTrong chu kỳxTrong đó, trung bình di chuyển đơn giảnMA()Đó là một hàm.xnĐó là tham số của hàm.

          Khi sử dụng hàm, chúng ta cần phải hiểu về định nghĩa cơ bản của hàm, tức là dữ liệu nào có thể được lấy khi gọi hàm đó. Thông thường, hàm đều có tham số, và khi chúng ta truyền tham số, chúng ta cần đảm bảo loại dữ liệu được truyền phù hợp.MA(x,n);Nó được giải thích là:

          返回简单移动平均 用法: AVG:=MA(X,N): X的N日简单移动平均,算法(X1+X2+X3+...+Xn)/N,N支持变量

          Điều này không thân thiện với người mới bắt đầu. Tiếp theo, chúng ta phân tích các hàm một cách kỹ lưỡng, và cố gắng tìm ra một cách để học và sử dụng các hàm một cách nhanh chóng.

      • Trả giá trị

        Để học các hàm một cách nhanh chóng, trước tiên chúng ta cần hiểu một khái niệm gọi là "giá trị trả về".Trở lạiNếu giá trị là "giá trị cụ thể", thì giá trị trả về có nghĩa là: dữ liệu có thể lấy được.

        // 因为后面的代码中会用到,所以用变量 return_value 接收、保存 function()的返回值 // retrun_value := function(param1,param2); // 例如: AVG:=MA(C,10); // AVG即retrun_value,function函数即:MA函数,param1参数:C即收盘价序列数据,param2参数:10。
      • tham số

        Khái niệm quan trọng thứ hai của hàm thứ hai là các tham số, truyền vào các tham số khác nhau có thể nhận được các giá trị trả về khác nhau.

        // 变量ma5接收5日收盘价移动平均值 ma5:=MA(C,5); // 变量ma10接收10日收盘价移动平均值 ma10:=MA(C,10);

        Các biến trênma5ma10Các tham số đầu tiên củaXCả haiC(Giá đóng cửa), thực tếCMột hàm ((trả về chuỗi giá đóng cửa từ ngày mở cửa đến nay), nhưng nó không có tham số. Các tham số thứ hai là 5, 10 được sử dụng để nói rằngMA()Chức năng, chúng ta sẽ lấy trung bình di chuyển của vài ngày giá đóng cửa, thông qua tham số, chức năng được sử dụng linh hoạt hơn.

      • Làm thế nào để học

          1. Trước tiên, chúng ta cần hiểu được chức năng là gì, nghĩa là chúng ta có thể nhận được dữ liệu nào từ chức năng đó.
          1. Và cuối cùng, chúng ta sẽ tìm hiểu về kiểu trả về, bởi vì chúng ta sử dụng hàm để trả về các giá trị.
          1. Tiếp theo, chúng ta cần biết loại dữ liệu của tham số.MA(x,n)Nếu bạn không biết tham số ,xnCác loại dữ liệu không thể trả về giá trị chính xác.

        Các hàm sau đây được giới thiệu và sử dụng theo 3 nguyên tắc trên.

    • Tăng cường ngôn ngữ

      • 麦语言JavaScriptLập trình hỗn hợp ngôn ngữ

        %% // 这里面可以调用发明者量化的任何API scope.TEST = function(obj) { return obj.val * 100; } %% 收盘价:C; 收盘价放大100倍:TEST(C); 上一个收盘价放大100倍:TEST(REF(C, 1)); // 鼠标移动到回测的K线上就会提示变量值
        • scopeĐối tượng

          scopeĐối tượng có thể thêm thuộc tính và gán hàm ẩn danh cho thuộc tính, trong phần mã của ngôn ngữ Mac có thể gọi hàm ẩn danh được trích dẫn thuộc tính này.

        • scope.getRefs(obj)chức năng

          hiện hữuJavaScriptTrong khối mã, gọiscope.getRefs(obj)Chức năng trả về nhậpobjDữ liệu đối tượng.

          Dưới đây%% %%Gói biểu tượngJavaScriptCó thể lấy từ mã của Mac.TEST(C)Các hàm được gọi làCGiá đóng cửa.
          scope.getRefsChức năng này sẽ trả về tất cả các giá trị đóng cửa của dữ liệu K.throw "stop"Quá trình ngưng. Vì vậy biếnarrChỉ bao gồm giá đóng cửa của Bar đầu tiên. Bạn có thể thử xóathrow "stop"sẽ thực hiện.JavaScriptMã cuối cùngreturn, trả về tất cả các dữ liệu về giá bán tháo.

          %% scope.TEST = function(obj){ var arr = scope.getRefs(obj) Log("arr:", arr) throw "stop" return } %% TEST(C);
        • scope.bars

          hiện hữuJavaScriptTruy cập tất cả các dòng Kbar trong khối mã.

          TESTHàm trả về một giá trị: 1 là âm và 0 là dương.

          %% scope.TEST = function(){ var bars = scope.bars return bars[bars.length - 1].Open > bars[bars.length - 1].Close ? 1 : 0 // 只能返回数值 } %% arr:TEST;
          # 注意: # TEST接收的匿名函数,返回值必须是数值。 # 如果匿名函数没有参数,在调用TEST的时候直接写VAR:=TEST;写VAR:=TEST();会报错。 # scope.TEST中的TEST必须是大写。
        • scope.bar

          hiện hữuJavaScriptTrong khối mã, truy cập vào bar hiện tại.

          Tính trung bình của giá cao và giá thấp.

          %% scope.TEST = function(){ var bar = scope.bar var ret = (bar.Open + bar.Close + bar.High + bar.Low) / 4 return ret } %% avg^^TEST;
        • scope.depth

          Truy cập dữ liệu về chiều sâu thị trường ((đơn đặt hàng thưa thớt) <unk>

          %% scope.TEST = function(){ Log(scope.depth) throw "stop" // 打印一次深度数据后就抛出异常,暂停 } %% TEST;
        • scope.symbol

          Lấy chuỗi tên cặp giao dịch hiện tại.

          %% scope.TEST = function(){ Log(scope.symbol) throw "stop" } %% TEST;
        • scope.barPos

          Lấy vị trí K-line Bar.

          %% scope.TEST = function(){ Log(scope.barPos) throw "stop" } %% TEST;
        • scope.get_locals('name')

          Chức năng này được sử dụng để lấy các biến trong phần mã của ngôn ngữ Mac.

          V:10; %% scope.TEST = function(obj){ return scope.get_locals('V') } %% GET_V:TEST(C);
          # 注意: # 如果某个变量,由于周期不足的时候计算不出数据,这个时候在JavaScript代码中调用scope.get_locals函数 # 获取这个变量时,会报错:line:XX - undefined locals某个变量名undefined
        • scope.canTrade

          canTradeCác thuộc tính đánh dấu hiện tại có thể giao dịch được hay không ((Bar hiện tại có phải là gốc cuối cùng không))

          Ví dụ như đánh giá khi chiến lược ở trạng thái có thể giao dịch đặt hàng in dữ liệu thị trường

          %% scope.LOGTICKER = function() { if(exchange.IO("status") && scope.canTrade){ var ticker = exchange.GetTicker(); if(ticker){ Log("ticker:", ticker); return ticker.Last; } } } %% LASTPRICE..LOGTICKER;
      • Ví dụ:

        %% scope.TEST = function(a){ if (a.val) { throw "stop" } } %% O>C,BK; C>O,SP; TEST(ISLASTSP);

        Bắt đầu một vị thế, sau đó dừng lại.

    • Ghi chú đa chu kỳ

      Hệ thống sẽ tự động chọn một chu kỳ K-line phù hợp và sử dụng dữ liệu chu kỳ K-line dưới này để tổng hợp tất cả dữ liệu K-line được tham chiếu, đảm bảo độ chính xác của dữ liệu.

      • Sử dụng:#EXPORT 公式名 ... #ENDTạo một công thức. Nếu bạn không tính toán công thức chỉ để có được dữ liệu của các chu kỳ khác nhau, bạn cũng có thể viết công thức trống.

        Công thức không là:

        #EXPORT TEST NOP; #END // 结束
      • Sử dụng:#IMPORT [MIN,周期,公式名] AS 变量值Hướng dẫn công thức. Lấy các dữ liệu của chu kỳ đã đặt ((giá đóng cửa, giá mở cửa, v.v., lấy thông qua giá trị biến)

        IMPORTTrong lệnhMINNghĩa làTiêu chuẩn phútCác nhà phát minh của nền tảng số lượng hóa Mac,IMPORTChỉ hỗ trợ trong lệnhMINCấp độ ◦ Bây giờ hỗ trợ chu kỳ không chuẩn, ví dụ như có thể sử dụng#IMPORT [MIN,240,TEST] AS VAR240Nhập dữ liệu như K-line trong chu kỳ 240 phút (((4 giờ)).

        Ví dụ mã:

        // 本代码演示如何引用不同周期的公式在同一代码里 // #EXPORT扩展语法,以#END结束标记为一个公式,可以声明多个 #EXPORT TEST 均值1:EMA(C, 20); 均值2:EMA(C, 10); #END // 结束 #IMPORT [MIN,15,TEST] AS VAR15 // 引用公式,K线周期用15分钟 #IMPORT [MIN,30,TEST] AS VAR30 // 引用公式,K线周期用30分钟 CROSSUP(VAR15.均值1, VAR30.均值1),BPK; CROSSDOWN(VAR15.均值2, VAR30.均值2),SPK; 十五分最高价:VAR15.HIGH; 三十分最高价:VAR30.HIGH; AUTOFILTER;
      • Sử dụng khi tham chiếu dữ liệu đa chu kỳREFLLVHHVCần chú ý đến các lệnh tham chiếu dữ liệu

        (*backtest start: 2021-08-05 00:00:00 end: 2021-08-05 00:15:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_OKCoin","currency":"ETH_USD"}] args: [["TradeAmount",100,126961],["ContractType","swap",126961]] *) %% scope.PRINTTIME = function() { var bars = scope.bars; return _D(bars[bars.length - 1].Time); } %% BARTIME:PRINTTIME; #EXPORT TEST REF1C:REF(C,1); REF1L:REF(L,1); #END // 结束 #IMPORT [MIN,5,TEST] AS MIN5 INFO(1, 'C:', C, 'MIN5.REF1C:', MIN5.REF1C, 'REF(MIN5.C, 1):', REF(MIN5.C, 1), '触发BAR时间:', BARTIME, '#FF0000'); INFO(1, 'L:', L, 'MIN5.REF1L:', MIN5.REF1L, 'REF(MIN5.L, 1):', REF(MIN5.L, 1), '触发BAR时间:', BARTIME, '#32CD32'); AUTOFILTER;

        So sánhMIN5.REF1CREF(MIN5.C, 1)Những sự khác biệt được tìm thấy ở:
        MIN5.REF1Clà giá trị đóng cửa của BAR thứ hai tính ngược thời điểm hiện tại của dữ liệu đường K 5 phút.
        REF(MIN5.C, 1)là chu kỳ K-đường của mô hình hiện tại ((chỉ định chu kỳ phản hồi của mã số trên là 1 phút, tức làperiod: 1m), giá đóng cửa của chu kỳ 5 phút, nơi BAR thứ hai tính ngược thời điểm hiện tại.
        Hai định nghĩa này khác nhau và có thể được sử dụng tùy theo nhu cầu.

    • Mô hình

      • Mô hình lọc tín hiệu phẳng

        Mô hình này được viết bằngAUTOFILTERChức năng này được sử dụng để kiểm soát và thực hiện lọc tín hiệu một cách phẳng, khi có nhiều tín hiệu mở kho đều đáp ứng điều kiện, lấy tín hiệu đầu tiên làm tín hiệu có hiệu lực, tín hiệu tương tự trên đường k sau đó sẽ được lọc.

        Các lệnh được hỗ trợ bởi mô hình lọc: BK, BP, BPK, SK, SP, SPK, CLOSEOUT, không hỗ trợ BK ((5) và các lệnh có số đồng hồ khác.

        Ví dụ:

        MA1:MA(CLOSE,5); MA2:MA(CLOSE,10); CROSSUP(C,MA1),BK; CROSSUP(MA1,MA2),BK; C>BKPRICE+10||C<BKPRICE-5,SP; AUTOFILTER;
        理解: 如上范例,没有设置 AUTOFILTER 时,第三行BK 和第四行BK 第五行SP,依次触发,每根K线触发一次信号。开仓后,再到平仓,即重置模型状态。 如果设置 AUTOFILTER , 触发BK后,只能触发SP,其它的BK 信号被忽略,每根K线触发一次信号。
      • Mô hình tăng giảm

        Không được ghi trong mô hìnhAUTOFILTERChức năng, cho phép liên tục ra tín hiệu mở kho hoặc liên tục ra tín hiệu đóng kho, có thể thực hiện tăng kho, giảm kho.

        Chỉ thị được hỗ trợ: BK ((N), BP ((N), SK ((N), SP ((N), CLOSEOUT ((BPK ((N)), SPK ((N), không hỗ trợ chỉ thị mở kho không có số ván.
        (1) Hỗ trợ phân nhóm chỉ thị.
        (2) Khi nhiều điều kiện chỉ thị được đáp ứng cùng một lúc, tín hiệu được thực hiện theo thứ tự trước sau được viết theo câu điều kiện.
        Ví dụ:

        MA1:MA(CLOSE,5); MA2:MA(CLOSE,10); CROSSUP(C,MA1),BK(1); CROSSUP(MA1,MA2),BK(1); C>BKPRICE+10||C<BKPRICE-5,SP(BKVOL);

        sử dụngTRADE\_AGAIN
        Một lệnh có thể phát ra nhiều tín hiệu liên tiếp.

        理解: 以上例子,逐个信号执行,执行后的信号不再触发。平仓后重置模型状态。一个K线触发一次信号。
      • Mô hình của một tín hiệu trên một dây K

        Bất kể dòng K đã hết hay không, tín hiệu được tính toán để đặt hàng trong thời gian thực, tức là dòng K chưa hoàn thành lệnh trước; Kiểm tra khi kết thúc dòng K, nếu hướng giữ vị trí không phù hợp với hướng tín hiệu khi kết thúc dòng K sẽ tự động đồng bộ giữ vị trí.

        Ví dụ:

        MA1:MA(CLOSE,5); MA2:MA(CLOSE,10); CROSSUP(MA1,MA2),BPK; // 5周期均线上穿10周期均线做多。 CROSSDOWN(MA1,MA2),SPK; // 5周期均线下穿10周期均线做空。 AUTOFILTER;
      • Mô hình của nhiều tín hiệu trên một dây K

        Mô hình sử dụngmultsigĐể kiểm soát và thực hiện một K-thay ra nhiều tín hiệu.

        Cho dù có k đường hay không, hãy tính toán tín hiệu để đặt hàng trực tiếp.

        Tín hiệu không được kiểm tra, không có tín hiệu biến mất, hướng tín hiệu luôn phù hợp với hướng nắm giữ.

        Một K-line có thể được thực hiện nhiều lần nếu đáp ứng nhiều điều kiện tín hiệu.

        例如: MA1:MA(CLOSE,5); MA2:MA(CLOSE,10); CROSSUP(MA1,MA2),BK; C>BKPRICE+10||C<BKPRICE-5,SP; AUTOFILTER; MULTSIG(0,0,2,0);

        MULTSIGCó thể thực hiện nhiều dòng lệnh khác nhau trong một dòng K.
        Một dòng lệnh chỉ phát ra một tín hiệu.

        O<C,BK; // 这些条件在一个K线Bar内,可能都执行,但是每行只出一次信号 10+O<C,BK; // 策略加上TRADE_AGAIN(10);可以使每行出多次信号 20+O<C,BK; 40+O<C,BK; MULTSIG(1,1,10);

        Ông nói thêm:
        1 , mô hình gia tăng giảm giá, một k-đường một tín hiệu hai cách: giá đóng cửa đặt hàng, giá chỉ thị đặt hàng, đều được hỗ trợ.
        Mô hình gia tăng và giảm kho, cũng hỗ trợ một k-line nhiều tín hiệu đặt hàng.
        Mô hình tăng giảm giá, viết lên.multsigChức năng này có thể được thực hiện trên một dòng k nhiều lần tăng hoặc giảm trọng lượng.

    • Chế độ thực hiện

      img

      • Mô hình giá đóng cửa

        Mô hình giá đóng cửa chỉ thực hiện mô hình khi BAR hiện tại kết thúc và thực hiện giao dịch khi BAR gốc bắt đầu.

      • Mô hình giá thời gian thực

        Mô hình giá thực tế là mô hình được thực hiện một lần mỗi khi giá thay đổi, giao dịch ngay khi có tín hiệu.
        Mô hình giá thời gian thực bỏ qua tín hiệu của ngày hôm trước (các tín hiệu của ngày hôm trước được thực hiện ngay trong ngày trước), mô hình giá thời gian thực chỉ xem dữ liệu hiện tại để xác định xem có kích hoạt tín hiệu hay không.

    • Biểu đồ hiển thị

      • Biểu đồ chính

        Sử dụng điều khiển^^Các chỉ số thiết lập được hiển thị trên biểu đồ chính khi bạn gán giá trị cho biến.

        MA60^^MA(C, 60); // 计算参数为60的均线指标

        img

      • Biểu đồ phụ

        Sử dụng điều khiển:Các chỉ số thiết lập được hiển thị trên hình phụ khi định giá cho các biến.

        ATR:MA(MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)),26); // 给ATR变量赋值,":"符号后为计算ATR的公式

        img

        Nếu bạn không muốn nó xuất hiện trên bản đồ chính hoặc bản đồ phụ, hãy sử dụng điều khiển ".."

        MA60..MA(C, 60); // 计算参数为60的均线指标

        img

        Có thể sử dụngDOTCOLORREDThiết lập kiểu dòng, màu sắc, v.v., phù hợp với thói quen của người dùng quen thuộc với Mac.

    • Những câu hỏi thường gặp

      Giới thiệu các vấn đề thường gặp trong quá trình soạn thảo chỉ sốVấn đềCác điểm cần lưu ý khi viết thường là: ((tiếp tục bổ sung))

      • Chú ý đến dấu chấm.;Kết thúc.

      • Lưu ý rằng từ khóa hệ thống không thể được sử dụng như một tuyên bố biến.

      • Cẩn thận sử dụng chuỗiMột dấu ngoặc kép,Ví dụ:'开仓'Dãy chữ này.

      • Ghi chú

        Ghi chú

        • // 注释内容(input type in English is allowed), nghĩa là code không được biên dịch trong quá trình thực thi, nghĩa là không được thực thi//Sau đây là những gì chúng ta thường sử dụng để đánh dấu ý nghĩa của mã, có thể dễ dàng hiểu và nhớ khi duyệt lại mã.

        • { 注释内容 }Ghi chú:

          A:=MA(C,10); {上一行代码是计算均线。}
        • (* 注释内容 *)Ghi chú:

          A:=MA(C,10); (*上一行代码是计算均线。*)
      • Phương thức nhập

        Khi viết mã, thường xuyên do chuyển đổi tiếng Anh trong cách nhập, gây ra lỗi ký hiệu.:Kết thúc.;Chữ ký hiệu,<unk>()Các ký tự khác nhau trong trạng thái tiếng Trung và tiếng Anh cần lưu ý.

        Nếu bạn sử dụng Search, Baidu, Bing, bạn có thể nhập thông qua một cú nhấp chuột.shiftNhấp chuột, chuyển đổi nhanh từ tiếng Trung sang tiếng Anh.

      • Logic dễ bị lỗi

        1. At least, not less than, not less than: là hàm tương ứng của hàm quan hệ>=
        2. Maximum, Maximum, Not Over: Các toán tử quan hệ tương ứng<=
      • Chiến lược khởi động đồng bộ

        Trong chiến lược tương lai, nếu trước khi bắt đầu robot chiến lược, có vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ vị trí nắm giữ
        Nó có thể được sử dụng trong chiến lược.SPBPCLOSEOUTLệnh thanh toán.

        %% if (!scope.init) { var ticker = exchange.GetTicker(); exchange.Buy(ticker.Sell+10, 1); scope.init = true; } %% C>0, CLOSEOUT;
      • Không hỗ trợ hai chiều

        Mac không hỗ trợ cùng một hợp đồng và có nhiều vị trí trống.

  • Dữ liệu tham khảo K-line

    • OPEN

      Giá mở cửa để có được bản đồ K.

      Giá mở cửa

      Hàm: OPEN, viết tắt là O

      Không có

      Giải thích: Trở lại giá mở cửa của chu kỳ

      Dữ liệu chuỗi

      OPEN取得K线图的开盘价。 注: 1、可简写为O。 例1: OO:=O; //定义OO为开盘价;注意O与0的区别。 例2: NN:=BARSLAST(DATE<>REF(DATE,1)); OO:=REF(O,NN); //取的当日的开盘价 例3: MA5:=MA(O,5); //定义开盘价的5周期均线(O为OPEN简写)。
    • HIGH

      Giá cao nhất để có được bản đồ đường K.

      Giá cao nhất

      Chức năng: HIGH, viết tắt là H

      Không có

      Giải thích: Trở lại mức giá cao nhất của chu kỳ

      Dữ liệu chuỗi

      HIGH取得K线图的最高价。 注: 1、可简写为H。 例1: HH:=H; // 定义HH为最高价 例2: HH:=HHV(H,5); // 取的5个周期内最高价的最大值 例3: REF(H,1); // 取的前一根K线的最高价
    • LOW

      Giá thấp nhất để có được bản đồ đường K.

      Giá thấp nhất

      Hàm: LOW, viết tắt là L

      Không có

      Giải thích: Trở lại mức giá thấp nhất của chu kỳ

      Dữ liệu chuỗi

      LOW取得K线图的最低价。 注: 1、可简写为L。 例1: LL:=L; // 定义LL为最低价 例2: LL:=LLV(L,5); // 取得5个周期内最低价的最小值 例3: REF(L,1); // 取得前一根K线的最低价
    • CLOSE

      Giá đóng cửa của K-Line.

      Giá đóng cửa

      Chức năng: CLOSE, viết tắt của C

      Không có

      Giải thích: Quay trở lại giá đóng cửa của chu kỳ

      Dữ liệu chuỗi

      CLOSE取得K线图的收盘价 注: 1、当盘中k线没有走完的时候,取得最新价。 2、可简写为C。 例1: A:=CLOSE; //定义变量A为收盘价(盘中k线没有走完的时候A为最新价) 例2: MA5:=MA(C,5); //定义收盘价的5周期均线(C为CLOSE简写) 例3: A:=REF(C,1); //取得前一根k线的收盘价
    • VOL

      Có được số lượng giao dịch của K-Line.

      Số lượng giao dịch

      Hàm: VOL, viết tắt là V

      Không có

      Giải thích: Quay trở lại khối lượng giao dịch của chu kỳ

      Dữ liệu chuỗi

      VOL取得K线图的成交量。 注: 可简写为V。 该函数在当根TICK上的返回值为当天所有TICK成交量的累计值。 例1: VV:=V; // 定义VV为成交量 例2: REF(V,1); // 表示前一个周期的成交量 例3: V>=REF(V,1); // 成交量大于前一个周期的成交量,表示成交量增加(V为VOL的简写)
    • OPI

      Lấy tổng số lượng nắm giữ tại thị trường hợp đồng tương lai hiện tại.

      OpenInterest:OPI;
    • REF

      Trích dẫn tiếp theo

      引用X在N个周期前的值。 注: 1、当N为有效值,但当前的k线数不足N根,返回空值; 2、N为0时返回当前X值; 3、N为空值时返回空值。 4、N可以为变量 例1: REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价 例2: AA:=IFELSE(BARSBK>=1,REF(C,BARSBK),C);//取最近一次买开仓信号K线的收盘价 // 1)发出BK信号的当根k线BARSBK返回空值,则发出BK信号的当根k线REF(C,BARSBK)返回 空值; // 2)发出BK信号的当根k线BARSBK返回空值,不满足BARSBK>=1,则当根k线的收盘价。 // 3)发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,REF(C,BARSBK) 返回开仓k线的收盘价。 // 4)例:1、2、3 三根k线,1 K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3 K线返回 1 K线的收盘价。
    • UNIT

      Đơn vị giao dịch lấy hợp đồng dữ liệu.

      取数据合约的交易单位。 用法: UNIT 取加载数据合约的交易单位。

      Tiền kỹ thuật số

      Giá trị UNIT là 1.

      Hợp đồng tương lai tiền điện tử

      Giá trị UNIT liên quan đến đồng tiền hợp đồng.

      OKEX期货币本位合约:BTC合约1张代表100美元,其它币种的1张合约代表10美元
    • MINPRICE

      Giá thay đổi tối thiểu của hợp đồng dữ liệu.

      取数据合约的最小变动价位。 用法: MINPRICE; 取加载数据合约的最小变动价位。
    • MINPRICE1

      Giá thay đổi tối thiểu của hợp đồng giao dịch.

      取交易合约的最小变动价位。 用法: MINPRICE1; 取交易合约的最小变动价位。
  • Chức năng thời gian

    • BARPOS

      Lấy vị trí của đường K

      BARPOS,返回从第一根K线开始到当前的周期数。 注: 1、BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。 2、本机已有的第一根K线上返回值为1。 例1:LLV(L,BARPOS); // 求本地已有数据的最小值。 例2:IFELSE(BARPOS=1,H,0); // 当前K线是本机已有的第一根K线取最高值,否则取0。
    • DAYBARPOS

      DAYBARPOS là căn K và BAR là số căn K của ngày.

    • PERIOD

      Tính chu kỳ là số phút.

      1, 3, 5, 15, 30, 60, 1440
    • DATE

      NgàyChức năng DATE, lấy ngày tháng năm của chu kỳ này từ năm 1900

      例1: AA..DATE; // 测试时AA的值为220218,表示2022年2月18日
    • TIME

      Thời gian để lấy đường K.

      TIME,取K线时间。 注: 1、该函数在盘中实时返回,在K线走完后返回K线的起始时间。 2、该函数返回的是交易所数据接收时间,也就是交易所时间。 3、TIME函数在秒周期使用时返回六位数的形式,即:HHMMSS,在其他周期上显示为四位数的形式,即:HHMM. 4、TIME函数只能加载在日周期以下的周期中,在日周期及日周期以上的周期中该函数返回值始终为1500。 5、使用TIME函数进行尾盘平仓的操作需要注意 (1)尾盘平仓设置的时间建议设置为K线返回值中实际可以取到的时间(如:螺纹指数 5分钟周期 最后一根K线返回时间为1455,尾盘平仓设置为TIME>=1458,CLOSEOUT;则效果测试中不能出现尾盘平仓的信号) (2)使用TIME函数作为尾盘平仓的条件的,建议开仓条件也要做相应的时间限制(如设置尾盘平仓条件为TIME>=1458,CLOSEOUT;则相应的开仓条件中需要添加条件TIME<1458;避免平仓后再次开仓的情况) 例1: C>O&&TIME<1450,BK; C<O&&TIME<1450,SK; TIME>=1450,SP; TIME>=1450,BP; AUTOFILTER; // 在14:50后平仓。 例2: ISLASTSK=0&&C>O&&TIME>=0915,SK;
    • YEAR

      Năm.

      YEAR,取得年份。 注: YEAR的取值范围为1970—2033。 例1: N:=BARSLAST(YEAR<>REF(YEAR,1))+1; HH:=REF(HHV(H,N),N); LL:=REF(LLV(L,N),N); OO:=REF(VALUEWHEN(N=1,O),N); CC:=REF(C,N); // 取上一年的最高价,最低价,开盘价,收盘价 例2: NN:=IFELSE(YEAR>=2000 AND MONTH>=1,0,1);
    • MONTH

      Lấy tháng.

      MONTH,返回某个周期的月份。 注: MONTH的取值范围为1—12. 例1: VALUEWHEN(MONTH=3&&DAY=1,C); // 在K线日期为三月一日时取其收盘价 例2: C>=VALUEWHEN(MONTH<REF(MONTH,1),O),SP;
    • DAY

      Số ngày của một chu kỳ

      DAY,返回某一周期的日数。 注: DAY取值范围为1-31。 例1: DAY=3&&TIME=0915,BK; // 当日起为3日,时间为9点15分时,买开 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; CC:=IFELSE(DAY=1,VALUEWHEN(N=1,O),0); // 当日期为1时,取开盘价,否则取值为0
    • HOUR

      Giờ.

      HOUR,返回某周期的小时数。 注: HOUR的取值范围为0—23 例1: HOUR=10; // 在10:00的K线上返回值为1,其余K线上返回值为0
    • MINUTE

      Một phút.

      MINUTE,返回某个周期的分钟数。 注: 1:MINUTE的取值范围为0—59 2:该函数只能加载在分钟周期上,返回当根K线开始的分钟数。 例1: MINUTE=0; // 在整点时刻的分钟K线上返回值为1,其余K线返回值为0 例2: TIME>1400&&MINUTE=50,SP; // 在14:50的时候卖平仓
    • WEEKDAY

      Số tuần.

      WEEKDAY,取得星期数。 注: 1:WEEKDAY的取值范围是0—6。(星期日 ~ 星期六) 例1: N:=BARSLAST(MONTH<>REF(MONTH,1))+1; COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP; COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP; AUTOFILTER; // 每个月交割日尾盘自动平仓 例2: C>VALUEWHEN(WEEKDAY<REF(WEEKDAY,1),O)+10,BK; AUTOFILTER;
  • Hàm phán đoán logic

    • BARSTATUS

      Trở về trạng thái vị trí của chu kỳ hiện tại

      BARSTATUS 返回当前周期的位置状态。 注: 该函数返回1表示当前周期是第一个周期,返回2表示是最后一个周期,返回0表示当前周期处于中间位置。 例: A:=IFELSE(BARSTATUS=1,H,0); // 如果当前K线是第一个周期,变量A返回K线最高值,否则取0
    • BETWEEN

      Giữa.

      BETWEEN(X,Y,Z) 表示X是否处于Y和Z之间,成立返回1(Yes),否则返回0(No)。 注: 1、其中若X=Y、X=Z、或X=Y且Y=Z时函数返回值为1(Yse)。 例1: BETWEEN(CLOSE,MA5,MA10); // 表示收盘价介于5日均线与10日均线之间
    • BARSLASTCOUNT

      BARSLASTCOUNT ((COND) Tính toán từ chu kỳ hiện tại về phía trước, số lần thống kê liên tục đáp ứng điều kiện.

      注: 1、返回值为从当前周期计算COND连续不为0的周期数 2、条件第一次成立的当根k线上BARSLASTCOUNT(COND)的返回值为1 例: BARSLASTCOUNT(CLOSE>OPEN); //计算当根K线在内连续为阳线的周期数
    • CROSS

      Hàm chéo.

      CROSS(A,B) 表示A从下方向上穿过B,成立返回1(Yes),否则返回0(No) 注: 1、满足穿越的条件必须上根k线满足A<=B,当根k线满足A>B才被认定为穿越。 例1: CROSS(CLOSE,MA(CLOSE,5)); // 表示收盘线从下方向上穿过5周期均线
    • CROSSDOWN

      Bước xuống

      CROSSDOWN(A,B):表示当A从上方向下穿B,成立返回1(Yes),否则返回0(No) 注: 1、CROSSDOWN(A,B)等同于CROSS(B,A),CROSSDOWN(A,B)编写更利于理解 例1: MA5:=MA(C,5); MA10:=MA(C,10); CROSSDOWN(MA5,MA10),SK; // MA5下穿MA10卖开仓 // CROSSDOWN(MA5,MA10),SK;与CROSSDOWN(MA5,MA10)=1,SK;表达同等意义
    • CROSSUP

      Tiến lên.

      CROSSUP(A,B)表当A从下方向上穿过B,成立返回1(Yes),否则返回0(No) 注: 1、CROSSUP(A,B)等同于CROSS(A,B),CROSSUP(A,B)编写更利于理解。 例1: MA5:=MA(C,5); MA10:=MA(C,10); CROSSUP(MA5,MA10),BK; // MA5上穿MA10,买开仓 // CROSSUP(MA5,MA10),BK;与CROSSUP(MA5,MA10)=1,BK;表达同等意义
    • EVERY

      Đánh giá sự hài lòng liên tục.

      EVERY(COND,N),判断N周期内是否一直满足COND条件。若满足函数返回值为1,不满足函数返回值为0。 注: 1、N包含当前k线。 2、若N是有效数值,但前面没有那么多K线,或者N为空值,代表条件不满足,函数返回值为0。 3、N可以是变量。 例1: EVERY(CLOSE>OPEN,5); // 表示5个周期内一直是阳线 例2: MA5:=MA(C,5); // 定义5周期均线 MA10:=MA(C,10); // 定义10周期均线 EVERY(MA5>MA10,4),BK; // 4个周期内MA5都大于MA10,则买开仓 // EVERY(MA5>MA10,4),BK;与EVERY(MA5>MA10,4)=1,BK;表达同等意义
    • EXIST

      Đánh giá sự thỏa mãn

      EXIST(COND,N)判断N个周期内是否有满足COND的条件。 注: 1、N包含当前k线。 2、N可以是变量。 3、若N是有效数值,但前面没有那么多K线,按实际周期数计算。 例1: EXIST(CLOSE>REF(HIGH,1),10); // 表示10个周期中是否存在收盘价大于前一个周期的最高价,存在返回1,不存在则返回0 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; EXIST(C>MA(C,5),N); // 表示当天是否有满足收盘价大于5周期均线的k线,存在返回1,不存在返回0
    • IF

      Chức năng điều kiện.

      IF(COND,A,B)若COND条件成立,则返回A,否则返回B。 注: 1、COND是判断条件;A、B可以是条件,也可以是数值。 2、该函数支持变量循环引用前一周期自身变量,即支持下面这样的写法Y:IF(CON,X,REF(Y,1))。 例1: IF(ISUP,H,L); // k线为阳线,取最高价,否则取最低价 例2: A:=IF(MA5>MA10,CROSS(DIFF,DEA),IF(CROSS(D,K),2,0)); // 当MA5>MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0 A=1,BPK; // 当MA5>MA10,以DIFF上穿DEA作为开多仓条件 A=2,SPK; // 当MA5不大于MA10,以K、D死叉作为开空仓条件
    • IFELSE

      Chức năng điều kiện.

      IFELSE(COND,A,B) 若COND条件成立,则返回A,否则返回B。 注: 1、COND是判断条件;A、B可以是条件,也可以是数值。 2、该函数支持变量循环引用前一周期自身变量,即支持下面这样的写法Y: IFELSE(CON,X,REF(Y,1)); 例1: IFELSE(ISUP,H,L); // k线为阳线,取最高价,否则取最低价 例2: A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0)); // 当MA5>MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0 A=1,BPK; // 当MA5>MA10,以DIFF上穿DEA作为开多仓条件 A=2,SPK; // 当MA5不大于MA10,以K、D死叉作为开空仓条件
    • ISCONTRACT

      Có hợp đồng được chỉ định hay không?

      ISCONTRACT(CODE)当前是否为指定的合约。 用法:ISCONTRACT(CODE);是当前合约返回1,不是当前合约返回0。 注: 1、判断是否为指定合约时,CODE可以为合约的交易代码。 例: ISCONTRACT('this_week'); // 数字货币OKEX期货合约 ISCONTRACT('XBTUSD'); // 数字货币BITMEX期货合约

      Hình thức chính thức được hỗ trợ

      Xác định hợp đồng

      ISCONTRACT('this_week'); // 判断当前合约是否为OKEX期货 this_week(当周)合约

      Xác định tên của sàn giao dịch

      ISCONTRACT('@Futures_(Binance|FTX)'); // 判断当前交易所对象是否为Binance期货或者FTX期货 ISCONTRACT('@(OKEX|Bitfinex)'); // 判断交易所,需要在开头加@字符
    • ISDOWN

      Hình ảnh:

      ISDOWN判断该周期是否收阴。 注: 1、ISDOWN等同于C<O 例: ISDOWN=1&&C<REF(C,1),SK; // 当根k线收阴并且收盘价小于前一周期收盘价,则开空 // ISDOWN=1&&C<REF(C,1),SK;与ISDOWN&&C<REF(C,1),SK; 表达同等意义
    • ISEQUAL

      Bàn phẳng.

      ISEQUAL判断该周期是否平盘。 注: 1、ISEQUAL等同于C=O 例1: EVERY(ISEQUAL=1,2),CLOSEOUT; // 持续2根k线都是平盘,则全平
    • ISLASTBAR

      Xác định liệu chu kỳ này có phải là đường K cuối cùng hay không.

      ISLASTBAR判断该周期是否为最后一根k线。 例1: VALUEWHEN(ISLASTBAR=1,REF(H,1)); // 当前k线是最后一根k线,则取前一周期的最高价
    • ISNULL

      Đánh giá không có giá trị.

      ISNULL判断空值。 用法:ISNULL(N);如果N为空值,函数返回1;如果N为非空值,函数返回0。 例:MA5:=IFELSE(ISNULL(MA(C,5))=1,C,MA(C,5)); // 定义五周期均线,K线数量不足五根时,返回当根K线的收盘价
    • ISUP

      Mặt trời.

      ISUP判断该周期是否收阳。 注: 1、ISUP等同于C>O。 例: ISUP=1&&C>REF(C,1),BK; // 若当根k线收阳并且收盘价大于前一周期收盘价,则开多 // ISUP=1&&C>REF(C,1),BK; 与 ISUP&&C>REF(C,1),BK // 表达同等意义
    • LAST

      Chức năng phán đoán.

      LAST(COND,N1,N2)判断过去N1到N2周期内,是否一直满足COND条件。 注: 1、若N1与N2只相差一个周期(如N1=3,N2=2),则函数判断距离当前K线最近的那个周期上是否满足条件(即判断过去N2个周期的那根K线上是否满足条件)。 2、当N1/N2为有效值,但当前的k线数不足N1/N2根,或者N1/N2空值的情况下,代表不成立,该函数返回0。 3、N1、N2不可以是变量。 例1: LAST(CLOSE>OPEN,10,5); // 表示从过去第10个周期到第5个周期内一直是阳线 例2: MA5:=MA(C,5); LAST(C>MA5,4,3); // 判断距离当前k线3个周期的那根k线上是否满足C大于MA5
    • LONGCROSS

      Duy trì hàm chéo.

      LONGCROSS(A,B,N)表示A在N个周期内都小于B,本周期A从下向上穿越B。 注: 1、当N为有效值,但当前的k线数不足N根时,LONGCROSS函数返回空值。 2、N不支持变量。 例1: LONGCROSS(CLOSE,MA(CLOSE,10),20); // 表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线
    • NOT

      Không.

      NOT(X):取非。当X=0时返回1,否则返回0。 例1: NOT(ISLASTBK);如果上一个信号不是BK信号,则NOT(ISLASTBK)返回值为1;上一个信号是BK信号,则NOT(ISLASTBK)返回值为0。 例2: NOT(BARSBK>=1)=1; // BK信号发出的当根K线上满足条件 // NOT(BARSBK>=1)=1与NOT(BARSBK>=1)表达同等意义
    • NULL

      Trở về null.

      返回空值 用法: MA5:=MA(C,5); MA10:=MA(C,10); A:=IFELSE(MA5>MA10,MA5,NULL),COLORRED; // 当MA5>MA10时,画五日均线MA5,不满足MA5>MA10时,返回空值,不画线
    • VALUEWHEN

      Đánh giá.

      VALUEWHEN(COND,X)当COND条件成立时,取X的当前值。如COND条件不成立,则取上一次COND条件成立时X的值。 注: X可以是数值也可以是条件。 例1 VALUEWHEN(HIGH>REF(HHV(HIGH,5),1),HIGH); // 表示当前最高价大于前五个周期最高价的最大值时返回当前最高价 例2: VALUEWHEN(DATE<>REF(DATE,1),O); // 表示取当天第一根k线的开盘价(即当天开盘价) 例3: VALUEWHEN(DATE<>REF(DATE,1),L>REF(H,1)); // 表示在当天第一根k线上判断当前最低价是否大于昨天最后一根K线的最高价。返回1,说明当天跳空高开。返回0,说明当天不满足跳空高开条件
  • Chức năng thực hiện vòng lặp

    • LOOP2

      Chức năng điều kiện vòng tròn.

      LOOP2(COND,A,B);循环条件函数若COND条件成立,则返回A,否则返回B。 注: 1、COND是判断条件;A、B可以是条件,也可以是数值。 2、该函数支持变量循环引用前一周期自身变量,即支持下面这样的写法Y:=LOOP2(CON,X,REF(Y,1)); 例1: X:=LOOP2(ISUP,H,REF(X,1)); // k线为阳线,取当根K线的最高价,否则取上一次是阳线的K线的最高价;若之前未出现过阳线时,X返回为空值 例2: BB:=LOOP2(BARSBK=1,LOOP2(L>LV(L,4),L,LV(L,4)),LOOP2(L>REF(BB,1),L,REF(BB,1))); // 持有多单时,开多单那根的前面4个周期内的最低价为起始止损点BB,后续K线最低价比前一个最低价高,取当前最低价为止损点,否则取前一个低点为止损点 SS:=LOOP2(BARSSK=1,LOOP2(H<HV(H,4),H,HV(H,4)),LOOP2(H<REF(SS,1),H,REF(SS,1))); // 持有空单时,开空单那根的前面4个周期内的最高价为起始止损点SS,最高价比前一个最高价低,取当前最高价为止损点,否则取前一个高点为止损点 H>HV(H,20),BK; L<LV(L,20),SK; C<BB,SP; C>SS,BP; AUTOFILTER;
  • Hàm thống kê tài chính

    • BARSCOUNT

      Lần đầu tiên có hiệu lực đến số lần hiện tại.

      BARSCOUNT(COND)第一个有效周期到当前的周期数。 注: 1、返回值为COND从第一个有效周期开始计算,到现在为止的周期数。 2、条件第一次成立的当根k线上BARSCOUNT(COND)的返回值为0。 例: BARSCOUNT(MA(C,4)); // 计算MA(C,4)第一次有返回值到当前的周期数
    • BARSLAST

      Điều kiện cuối cùng được thiết lập.

      BARSLAST(COND),上一次条件COND成立到当前的周期数。 注: 1、条件成立的当根k线上BARSLAST(COND)的返回值为0。 例1: BARSLAST(OPEN>CLOSE); // 上一根阴线到现在的周期数 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,当日k线数 // 由于条件成立的当根k线上BARSLAST(COND)的返回值为0,所以“+1”才是当日k线根数

      minh họaBARSLASTchức năng:

      • 1 sẽ trả về 0 nếu điều kiện K hiện tại là đúng.
      • 2, nếu không thành thì sẽ đi ngược về phía trước cho đến khi tìm thấy đường K mà điều kiện thành, trả về một số lần quay ngược về phía trước.
      • 3, Nếu không tìm thấy đường K mà điều kiện được thực hiện, trả về giá trị không hiệu quả.
    • BARSSINCE

      Điều kiện đầu tiên được thiết lập cho số chu kỳ hiện tại.

      BARSSINCE(COND)第一个条件成立到当前的周期数。 注: 1、返回值为COND第一次成立到当前的周期数。 2、条件第一次成立的当根k线上BARSSINCE(COND)的返回值为0。 例: BARSSINCE(CLOSE>OPEN); // 统计第一次满足阳线这个条件的K线到现在的周期数
    • BARSSINCEN

      Điều kiện đầu tiên trong số N chu kỳ thống kê được thành lập cho đến số chu kỳ hiện tại.

      BARSSINCEN(COND,N)统计N周期内第一次条件成立到当前的周期数。 注: 1、N包含当前k线。 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 3、若N为0返回无效值。 4、N可以为变量。 例: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,当日K线数 BARSSINCEN(ISUP,N); // 统计N周期内第一次满足阳线到当前的周期数
    • CONDBARS

      Lấy số lần K gần nhất đáp ứng điều kiện A, B.

      CONDBARS(A,B);取得最近的满足A、B条件的k线间周期数。 注意: 1、该函数返回周期数不包含最后满足条件的K线。 2、距离当前K线最近的满足的条件为B条件,则该函数返回值为最后一次满足A条件的K线到满足B条件的K线的周期数(A条件满足后的第一次满足B条件的K线)。 距离当前K线最近的满足的条件为A条件,则该函数返回值为最后一次满足B条件的K线到满足A条件的K线的周期数(B条件满足后的第一次满足A条件的K线)。 例1: MA5:=MA(C,5); // 5周期均线 MA10:=MA(C,10); // 10周期均线 CONDBARS(CROSSUP(MA5,MA10),CROSSDOWN(MA5,MA10)); // 最近一次满足5周期均线上穿10周期均线与5周期均线下穿10周期均线之间的周期数
    • COUNT

      Tổng số.

      COUNT(COND,N),统计N周期中满足COND条件的周期数。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值算起。 3、当N为有效值,但当前的k线数不足N根,从第一根统计到当前周期。 4、N 为空值时返回值为空值 。 5、N可以为变量。 例1: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,当日k线数 M:=COUNT(ISUP,N); // 统计分钟周期上开盘以来阳线的根数 例2: MA5:=MA(C,5); // 定义5周期均线 MA10:=MA(C,10); // 定义10周期均线 M:=COUNT(CROSSUP(MA5,MA10),0); // 统计从申请到的行情数据以来到当前这段时间内,5周期均线上穿10周期均线的次数
    • DMA

      Đường trung bình di chuyển

      DMA(X,A):求X的动态移动平均,其中A必须小于1大于0。 注: 1、A可以为变量。 2、如果A<=0或者A>=1,返回无效值。 计算公式:DMA(X,A)=REF(DMA(X,A),1)*(1-A)+X*A 例1: DMA3:=DMA(C,0.3); // 计算结果为REF(DMA3,1)*(1-0.3)+C*0.3
    • EMA

      Chỉ số trung bình chuyển động trọng lượng.

      EMA(X,N):求N周期X值的指数加权移动平均(平滑移动平均)。 注: 1、N包含当前k线。 2、对距离当前较近的k线赋予了较大的权重。 3、当N为有效值,但当前的k线数不足N根,按实际根数计算。 4、N为0或空值时返回值为空值。 5、N可以为变量。 EMA(X,N)=2*X/(N+1)+(N-1)*REF(EMA(X,N),1)/(N+1) 例1: EMA10:=EMA(C,10); // 求收盘价10周期指数加权移动平均值
    • EMA2

      Đường trung bình chuyển động cân nặng tuyến tính.

      EMA2(X,N); // 求N周期X值的线性加权移动平均(也称WMA) EMA2(X,N)=[N*X0+(N-1)*X1+(N-2)*X2+...+1*X(N-1)]/[N+(N-1)+(N-2)+...+1],X0表示本周期值,X1表示上一周期值 注: 1、N包含当前k线。 2、当N为有效值,但当前的k线数不足N根,返回值为空值。 3、N为0或空值时返回值为空值。 4、N可以为变量。 例1: EMA2(H,5); // 求最高价在5个周期的线性加权移动平均值
    • EMAWH

      Chỉ số trung bình chuyển động trọng lượng.

      EMAWH(C,N),指数加权移动平均,也叫平滑移动平均,采用指数加权方法,对距离当前较近的K线赋予了较大的权重。 注: 1、当N为有效值,当前的k线数不足N根时,或者前面周期的取值仍作用于当前周期时,EMAWH返回值为空值。 因为EMAWH计算公式中着重考虑了当周期的权重,所以当周期较长,前面的周期取值对当前的影响越小,EMAWH从前面数据对当前周期不再影响时的取值开始显示,所以即使选择的数据起始时间不同,当前已经显示的K线的EMAWH的取值也不会发生变化。 2、当N为0或空值时返回值均为空值。 3、N不能为变量。 EMAWH(C,N)=2*C/(N+1)+(N-1)*REF(EMAWH(C,N),1)/(N+1) 注: EMAWH用法同EMA(C,N)
    • HARMEAN

      Điều chỉnh trung bình.

      HARMEAN(X,N),求X在N个周期内的调和平均值。 算法举例:HARMEAN(X,5)=1/[(1/X1+1/X2+1/X3+1/X4+1/X5)/5] 注: 1、N包含当前k线。 2、调和平均值与倒数的简单平均值互为倒数。 3、当N为有效值,但当前的k线数不足N根,函数返回空值。 4、N为0或空值的情况下,函数返回空值。 5、X为0或空值的情况下,函数返回空值。 6、N可以为变量。 例: HM5:=HARMEAN(C,5); // 求5周期收盘价的调和平均值
    • HHV

      Tối đa.

      HHV(X,N):求X在N个周期内的最高值。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起。 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 4、N为空值时,返回空值。 5、N可以是变量。 例1: HH:=HHV(H,4); // 求4个周期最高价的最大值,即4周期高点(包含当前k线) 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 HH1:=HHV(H,N); // 在分钟周期上,日内高点
    • HV

      Giá trị cao nhất ngoài đường K hiện tại.

      HV(X,N),求X在N个周期内(不包含当前k线)的最高值。 注: 1、若N为0则从第一个有效值开始算起(不包含当前K线)。 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。 3、N为空值时,返回空值。 4、N可以是变量。 例1: HH:=HV(H,10); // 求前10根k线的最高点 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; NN:=REF(N,N); ZH:=VALUEWHEN(DATE<>REF(DATE,1),HV(H,NN)); // 在分钟周期上,求昨天最高价 例3: HV(H,5)和REF(HHV(H,5),1)的结果是一样的,用HV编写更加方便。
    • HHVBARS

      Địa điểm cao nhất trước đó.

      HHVBARS(X,N),求N周期内X最高值到当前周期数。 注: 1、若N为0则从第一个有效值开始算起(不包含当前K线)。 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。 3、N为空值时,返回空值。 4、N可以是变量。 例1: HHVBARS(VOL,0); // 求历史成交量最大的周期到当前的周期数(最大值那根k线上HHVBARS(VOL,0);的返回值为0,最大值后的第一根k线返回值为1,依次类推) 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 ZHBARS:=REF(HHVBARS(H,N),N)+N; // 在分钟周期上,求昨天最高价所在的k线到当前k线之间的周期数
    • LLV

      Giá trị tối thiểu

      LLV(X,N),求X在N个周期内的最小值。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起。 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 4、N为空值时,返回空值。 5、N可以是变量。 例1: LL:=LLV(L,5); // 求5根k线最低点(包含当前k线) 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 LL1:=LLV(L,N); // 在分钟周期上,求当天第一根k线到当前周期内所有k线最低价的最小值
    • LV

      Giá trị tối thiểu ngoài đường K hiện tại.

      LV(X,N),求X在N个周期内的最小值(不包含当前k线)。 注: 1、若N为0则从第一个有效值开始算起。 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 3、N为空值时,返回空值。 4、N可以是变量。 例1: LL:=LV(L,10); // 求前面10根k线的最低点(不包含当前k线) 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 NN:=REF(N,N); ZL:=VALUEWHEN(DATE<>REF(DATE,1),LV(L,NN)); // 在分钟周期上,求昨天最低价 例3: LV(L,5)和REF(LLV(L,5),1)的结果是一样的,用LV编写更加方便。
    • LLVBARS

      Vị trí điểm thấp nhất trước đó.

      LLVBARS(X,N),求N周期内X最低值到当前周期数。 注: 1、若N为0则从第一个有效值开始算起(不包含当前K线)。 2、当N为有效值,但当前的k线数不足N根,按照实际的根数计算,第一根k线返回空值。 3、N为空值时,返回空值。 4、N可以是变量。 例1: LLVBARS(VOL,0); // 求历史成交量最小的周期到当前的周期数(最小值那根k线上LLVBARS(VOL,0);的返回值为0,最小值后的第一根k线返回值为1,依次类推) 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 ZLBARS:=REF(LLVBARS(L,N),N)+N; // 在分钟周期上,求昨天最低价所在的k线到当前k线之间的周期数
    • MA

      Trung bình di chuyển toán học.

      MA(X,N),求X在N个周期内的简单移动平均。 算法:MA(X,5)=(X1+X2+X3+X4+X5)/5 注: 1、N包含当前k线。 2、简单移动平均线沿用最简单的统计学方式,将过去某特定时间内的价格取其平均值。 3、当N为有效值,但当前的k线数不足N根,函数返回空值。 4、N为0或空值的情况下,函数返回空值。 5、N可以为变量。 例1: MA5:=MA(C,5); // 求5周期收盘价的简单移动平均 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 M:=IFELSE(N>10,10,N); // k线超过10根,M取10,否则M取实际根数 MA10:=MA(C,M); // 在分钟周期上,当天k线不足10根,按照实际根数计算MA10,超过10根按照10周期计算MA10
    • MV

      Lấy giá trị trung bình.

      MV(A,...P),取A到P的均值。 注: 1、支持取2-16个数值的均值。 2、A...P可以为数字也可以为变量。 例1: MV(CLOSE,OPEN); // 取收盘价和开盘价的平均值
    • NUMPOW

      Các số tự nhiên được tính bằng 2 và .

      NUMPOW(X,N,M),自然数幂方和。 算法: NUMPOW(x,n,m)=n^m*x+(n-1)^m*ref(x,1)+(n-2)^m*ref(x,2)+...+2^m*ref(x,n-2)+1^m*ref(x,n-1) 注意: 1、N为自然数,M为实数;且N与M不能为变量。 2、X为基础变量。 例: JZ:=NUMPOW(C,5,2);
    • SAR

      Chuyển hướng.

      SAR(N,STEP,MAX),返回抛物转向值。 根据公式SAR(n)=SAR(n-1)+AF*(EP(n-1)-SAR(n-1))计算。 其中: SAR(n-1):上根K线SAR的绝对值。 AF:加速因子,当AF小于MAX时,逐根的通过AF+STEP累加,涨跌发生转换时,AF重新计算。 EP:一个涨跌内的极值,在上涨行情中为上根K线的最高价;下跌行情中为上根K线的最低价。 注: 1、参数N,Step,Max均不支持变量。 例1: SAR(17,0.03,0.3); // 表示计算17个周期抛物转向,步长为3%,极限值为30%
    • SMA

      Chỉ số mở rộng trọng trung bình di chuyển.

      SMA(X,N,M) 求X的N个周期内的扩展指数加权移动平均,M为权重。 计算公式:SMA(X,N,M)=REF(SMA(X,N,M),1)*(N-M)/N+X(N)*M/N 注: 1、当N为有效值,但当前的k线数不足N根,按实际根数计算。 2、 N为0或空值的情况下,函数返回空值。 例1: SMA10:=SMA(C,10,3); // 求的10周期收盘价的扩展指数加权移动平均,权重为3
    • SMMA

      Đường trung bình di chuyển trên đồng.

      SMMA(X,N),X为变量,N为周期,SMMA(X,N)表示当前K线上X在N个周期的通畅移动平均线 算法:SMMA(X,N)=(SUM1-MMA+X)/N 其中SUM1=X1+X2+.....+XN MMA=SUM1/N 例1: SMMA(C,5); // 收盘价的5周期通畅移动平均线
    • SORT

      Lưu các giá trị được sắp xếp theo vị trí tương ứng.

      SORT(Type,POS,N1,N2,...,N16);按升(降)序排列,取第POS个参数对应的值。 注: 1、当Type为0按升序排列,当Type为1按降序排列。 2、TYPE,POS,不支持变量。 3、N1,...,N16为参数,支持常量、变量,最多支持16个参数。 例: SORT(0,3,2,1,5,3); // 2、1、5、3按升序排列,取排列第三的数字3
    • SUM

      Cầu xin hòa giải.

      SUM(X,N),求X在N个周期内的总和。 注: 1、N包含当前k线。 2、若N为0则从第一个有效值开始算起。 3、当N为有效值,但当前的k线数不足N根,按照实际的根数计算。 4、N为空值时,返回空值。 5、N可以为变量。 例1: SUM(VOL,25);表示统计25周期内的成交量总和。 例2: N:=BARSLAST(DATE<>REF(DATE,1))+1; // 分钟周期,日内k线根数 SUM(VOL,N); // 分钟周期上,取当天成交量总和
    • SUMBARS

      Tổng số chu kỳ cho giá trị được chỉ định.

      SUMBARS(X,A),求累加到指定值的周期数。 注: 参数A支持变量。 例1: SUMBARS(VOL,20000);将成交量向前累加直到大于等于20000,返回这个区间的周期数。
    • TRMA

      Trung bình di chuyển của tam giác.

      TRMA(X,N),求X在N个周期的三角移动平均值。 算法:三角移动平均线公式,是采用算数移动平均,并且对第一个移动平均线再一次应用算数移动平均。 TRMA(X,N)算法如下: ma_half= MA(X,N/2) trma=MA(ma_half,N/2) 注: 1、N包含当前k线。 2、当N为有效值,但当前的k线数不足N根,函数返回空值。 3、N为0或空值的情况下,函数返回空值。 4、N支持使用变量。 例1: TRMA5:=TRMA(CLOSE,5); // 计算5个周期内收盘价的三角移动平均。(N不能被2整除) // TRMA(CLOSE,5)=MA(MA(CLOSE,(5+1)/2)),(5+1)/2); 例2: TRMA10:=TRMA(CLOSE,10); // 计算10个周期内收盘价的三角移动平均。(N能被2整除) // TRMA(CLOSE,10)=MA(MA(CLOSE,10/2),(10/2)+1));
    • TSMA

      Dòng thời gian di chuyển trung bình.

      TSMA(X,N),求X在N个周期内的时间序列三角移动平均。 TSMA(a,n) 算法如下: ysum=a[i]+a[i-1]+...+a[i-n+1] xsum=i+i-1+..+i-n+1 xxsum=i*i+(i-1)*(i-1)+...+(i-n+1)*(i-n+1) xysum=i*a[i]+(i-1)*a[i-1]+...+(i-n+1)*a[i-n+1] k=(xysum -(ysum/n)*xsum)/(xxsum- xsum/n * xsum) // 斜率 b= ysum/n - k*xsum/n forcast[i]=k*i+b // 线性回归 tsma[i] = forcast[i]+k // 线性回归+斜率 注: 1、当N为有效值,但当前的k线数不足N根,函数返回空值。 2、N为0或空值的情况下,函数返回空值。 3、N支持使用变量。 例1: TSMA5:=TSMA(CLOSE,5); // 计算5个周期内收盘价的序列三角移动平均
  • Hàm toán học-thống kê

    • AVEDEV

      Mức độ lệch trung bình tuyệt đối.

      AVEDEV(X,N),返回X在N周期内的平均绝对偏差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N不能为变量。 算法举例:计算AVEDEV(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (ABS(C-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+ABS(REF(C,2)-(C+REF(C,1)+REF(C,2))/3))/3; 例: AVEDEV(C,5); // 返回收盘价在5周期内的平均绝对偏差 // 表示5个周期内每个周期的收盘价与5周期收盘价的平均值的差的绝对值的平均值,判断收盘价与其均值的偏离程度
    • COEFFICIENTR

      Nhân số liên quan của Pierson.

      COEFFICIENTR(X,Y,N),求X、Y在N个周期内的皮尔森相关系数。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 算法举例:计算COEFFICIENTR(O,C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))) /(STD(O,3)*STD(C,3)))/(3-1); 例: COEFFICIENTR(C,O,10); //求在10个周期内的皮尔森相关系数 //皮尔森相关系数是衡量两个随机变量之间的相关程度的指标
    • CORRELATION

      Các hệ số liên quan

      CORRELATION(X,Y,N),求X、Y在N个周期内的相关系数。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 算法举例:计算CORRELATION(O,C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))))/SQRT((SQUARE(O-MA(O,3))+SQUARE(REF(O,1)-MA(O,3))+SQUARE(REF(O,2)-MA(O,3)))*(SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))); 例: CORRELATION(C,O,10); // 求在10个周期内的相关系数 // 相关系数是衡量两个随机变量之间的相关程度的指标
    • COVAR

      Sự tương đồng.

      COVAR(X,Y,N) 求X、Y在N个周期内的协方差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 算法举例:计算COVAR(O,C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (((O-MA(O,3))*(C-MA(C,3))+(REF(O,1)-MA(O,3))*(REF(C,1)-MA(C,3))+(REF(O,2)-MA(O,3))*(REF(C,2)-MA(C,3))) )/3; 例: COVAR(C,O,10); // 求在10个周期内的协方差 // 两个不同变量之间的方差就是协方差,如果两个变量的变化趋势一致,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,那么两个变量之间的协方差就是负值
    • DEVSQ

      Lấy số liệu sai lệch vuông và ≠

      DEVSQ(X,N):计算数据X的N个周期的数据偏差平方和。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N不支持为变量。 算法举例:计算DEVSQ(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQUARE(C-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,1)-(C+REF(C,1)+REF(C,2))/3)+SQUARE(REF(C,2)-(C+REF(C,1)+REF(C,2))/3); 例: DEVSQ(C,5); // 计算数据收盘价5个周期的数据偏差平方和 // 表示收盘价与收盘价均值偏差分别平方之后求和,DEVSQ(C,5)表示5个周期的收盘价与收盘价均值偏差分别平方之后求和
    • FORCAST

      Giá trị hồi quy tuyến tính.

      FORCAST(X,N),为X的N周期线性回归预测值。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以是变量。 算法举例:用最小平方法计算FORCAST(C,3)在最近一根K线上的值。 1、建立一元线性方程:y=a+b*i+m 2、y的估计值:y(i)^=a+b*i 3、求残差:m^=y(i)-y(i)^=y(i)-a-b*i 4、误差平方和: Q=m(1)*m(1)+...+m(3)*m(3)=[y(1)-a-b*1]*[y(1)-a-b*1]+...+[y(3)-a-b*3]*[y(3)-a-b*3] 5、对线性方程中的参数a,b求一阶偏导: 2*{[y(1)-a-b*1]+...+[y(3)-a-b*3]}*(-1)=0 2*[y(1)-a-b*1]*(-1)+...+[y(3)-a-b*3]*(-3)=0 6、联立以上两个公式,解出a,b的值: a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3 b=(y(1)*i(1)+y(2)*i(2)+y(3)*i(3)-(3*((i(1)+i(2)+i(3))/3)*((y(1)+y(2)+y(3))/3))/((i(1)^2+i(2)^2+i(3)^2)-3*((i(1)+i(2)+i(3))/3)^2) 7、将a,b,i值带入1,求出y值。 以上公式用麦语言函数可以表示如下: BB:=(3*C+2*REF(C,1)+REF(C,2)-(3*((1+2+3)/3)*MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3*SQUARE((1+2+3)/3)); AA:=MA(C,3)-BB*(1+2+3)/3; YY:=AA+BB*3; 例: FORCAST(CLOSE,5); // 表示求5周期线性回归预测值
    • KURTOSIS

      Hệ số đỉnh.

      KURTOSIS(X,N),求X在N个周期内的峰度系数。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 6、N至少为4,少于4返回空值。 算法举例:计算KURTOSIS(C,4);在最近一根K线上的值。 用麦语言函数可以表示如下: ((POW(C-MA(C,4),4)+POW(REF(C,1)-MA(C,4),4)+POW(REF(C,2)-MA(C,4),4)+POW(REF(C,3)-MA(C,4),4)) /POW(STD(C,4),4))*(4*(4+1)/((4-1)*(4-2)*(4-3)))-3*SQUARE(4-1)/((4-2)*(4-3)); 例: KURTOSIS(C,10); // 表示收盘价的10周期峰值。峰值反映与正态分布相比某一分布的尖锐度或平坦度。正峰值表示相对尖锐的分布。负峰值表示相对平坦的分布
    • NORMPDF

      Mật độ xác suất phân bố chính xác.

      NORMPDF(X,MU,SIGMA),返回参数为MU和SIGMA的正态分布密度函数在X处的值。 注: 1、MU或SIGMA为空值,该函数返回空值。 2、MU和SIGMA支持变量。 算法举例:随机变量X服从一个位置参数为MU、尺度参数为SIGMA的概率分布,其概率密度为NORMPDF(X,MU,SIGMA)。 用麦语言函数可以近似的表示如下: (1/(SQRT(2*3.14)*SIGMA))*EXP((-SQUARE(X-MU))/(2*SQUARE(SIGMA))); 例: TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR:=MA(TR,26); // 求26个周期内的TR的简单移动平均 ZZ..NORMPDF(ATR,0,1); // 定义变量ZZ,返回ATR服从标准正态分布的概率密度
    • SKEWNESS

      Hệ số lệch.

      SKEWNESS(X,N),求X在N个周期内的偏度系数。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 6、N至少为3,少于3返回空值。 算法举例:计算SKEWNESS(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: ((POW(C-MA(C,3),3)+POW(REF(C,1)-MA(C,3),3)+POW(REF(C,2)-MA(C,3),3)) /POW(STD(C,3),3))*3/((3-1)*(3-2)); 例: SKEWNESS(C,10); // 表示收盘价的10周期偏度,偏度反映分布的不对称度,不对称度反映以平均值为中心的分布的不对称程度。正不对称度表示不对称部分的分布更趋向正值,负不对称度表示不对称部分的分布更趋向负值
    • SLOPE

      Tỷ lệ lệ lệch của sự hồi phục tuyến tính.

      SLOPE(X,N),得到X的N周期的线型回归的斜率。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 举例: 用最小平方法计算SLOPE(CLOSE,5)在最近一根K线上的的值: 1、建立一元线性方程:close=a+slope*i+m 2、close的估计值:close(i)^=a+slope*i 3、求残差:m^=close(i)-close(i)^=close(i)-a-slope*i 4、误差平方和: Q=m(1)*m(1)+...+m(5)*m(5)=[close(1)-a-slope*1]*[close(1)-a-slope*1]+...+[close(5)-a-slope*5]*[close(5)-a-slope*5] 5、对线性方程中的参数a,slope求一阶偏导: 2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-1)=0 2*{[close(1)-a-slope*1]+...+[close(5)-a-slope*5]}*(-5)=0 6、联立以上两个公式,反解出slope的值: slope={[5*close(1))+...+1*close(5)]-[close(1)+...+close(5)]*(1+2+3+4+5)/5}/[(1*1+...+5*5)-(1+...+5)(1+...+5)/5] 以上公式用麦语言函数可以表示如下: ((5*C+4*REF(C,1)+3*REF(C,2)+2*REF(C,3)+1*REF(C,4))-SUM(C,5)*(1+2+3+4+5)/5)/((SQUARE(1)+SQUARE(2)+SQUARE(3)+SQUARE(4)+SQUARE(5))-SQUARE(1+2+3+4+5)/5); 例: SLOPE(CLOSE,5); // 表示求收盘价5个周期线性回归线的斜率
    • STD

      Mức độ phân tích kém.

      STD(X,N),求X在N个周期内的样本标准差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 算法举例:计算STD(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/2); 例: STD(C,10); // 求收盘价在10个周期内的样本标准差 // 标准差表示总体各单位标准值与其平均数离差平方的算术平均数的平方根,它反映一个数据集的离散程度。STD(C,10)表示收盘价与收盘价的10周期均线之差的平方和的平均数的算术平方根。样本标准差是样本方差的平方根
    • STDP

      Tiêu chuẩn tổng thể kém.

      STDP(X,N),为X的N周期总体标准差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N可以为变量。 算法举例:计算STDP(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: SQRT((SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/3); 例: STDP(C,10); // 为收盘价的10周期总体标准差 // 总体标准差是反映研究总体内个体之间差异程度的一种统计指标,总体方差是一组资料中各数值与其算术平均数离差平方和的平均数,总体标准差则是总体方差的平方根
    • VAR

      Các mẫu khác nhau.

      VAR(X,N),求X在N周期内的样本方差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N支持使用变量。 算法举例:计算VAR(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/(3-1); 例: VAR(C,5); // 求收盘价在5周期内的样本方差 // 表示总体方差的N/(N-1)倍,VAR(C,5)表示收盘价的5周期总体样本方差的5/4倍
    • VARP

      Nhìn chung thì khác nhau.

      VARP(X,N),为X的N周期总体方差。 注: 1、N包含当前k线。 2、N为有效值,但当前的k线数不足N根,该函数返回空值。 3、N为0时,该函数返回空值。 4、N为空值,该函数返回空值。 5、N支持使用变量。 算法举例:计算VARP(C,3);在最近一根K线上的值。 用麦语言函数可以表示如下: (SQUARE(C-MA(C,3))+SQUARE(REF(C,1)-MA(C,3))+SQUARE(REF(C,2)-MA(C,3)))/3; 例: VARP(C,5); // 为收盘价的5周期总体方差 // 表示数据偏差平方和除以总周期数N,VARP(C,5)表示收盘价5个周期的数据偏差平方和除以5
  • Hàm toán học

    • ABS

      Giá trị tuyệt đối.

      ABS(X),取的X的绝对值。 注: 1、正数的绝对值是它本身。 2、负数的绝对值是它的相反数。 3、0的绝对值还是0。 例1: ABS(-10); // 返回10 例2: ABS(CLOSE-10); // 返回收盘价和的10价差的绝对值 例3: ABS(C-O); // 当前K线实体长度
    • ACOS

      Giá trị phản chốt.

      ACOS(X),返回X的反余弦值。 注: 1、X取值范围[-1,1]。 2、若X不在取值范围,返回值为空值。 例1: ACOS(-1); // 求-1的反余弦值 例2: ACOS(1); // 求1的反余弦值
    • ASIN

      Giá trị phản chấn

      ASIN(X),返回X的反正弦值。 注: 1、X取值范围[-1,1]。 2、若X不在取值范围,返回值为空值。 例1: ASIN(-1); // 求-1的反正弦值 例2: ASIN(1); // 求1的反正弦值
    • ATAN

      Đúng là đúng.

      ATAN(X),返回X的反正切值。 注:X的取值为R(实数集)。 例1: ATAN(-1.75); // 求-1.75的反正切值 例2: ATAN(1.75); // 求1.75的反正切值
    • CEILING

      Tới đây là một ví dụ.

      CEILING(X,Y),返回指定实数(X)在沿绝对值增大的方向上第一个能整除基数(Y)的值。 注: 1、如果X和Y符号相同,则对值按远离0的方向进行舍入。 2、X和Y符号不同的情况下: (1)如果X为负,Y为正,则对值按朝向0的方向进行向上舍入。 (2)如果X为正,Y为负,CEILING返回无效值。 3、X、Y均可以为变量。 4、若X、Y中任意一个为空值,则该函数返回空值。 例1: CEILING(2.1,1); // 求得3 例2: CEILING(-8.8,-2); // 求得-10 例3: CEILING(CLOSE*1.01,1); // 求收盘价的1.01倍向上取整 例4: CEILING(-7,2); // 求得-6 例5: CEILING(8,-2); // 返回无效值
    • COS

      Cụm chốt.

      COS(X),返回X的余弦值。 注: 1、X的取值为R(实数集)。 2、值域为[-1,1]。 例1: COS(-1.57); // 返回-1.57的余弦值 例2: COS(1.57); // 返回1.57的余弦值
    • CUBE

      Hàm khối.

      CUBE(X),返回X的三次方。 例1: CUBE(4); // 求4的立方
    • EXP

      Chỉ số.

      EXP(X),求e的X次幂。 例1: C*EXP(0.01); // 求收盘价乘以e的0.01次幂
    • FLOOR

      Bước xuống.

      FLOOR(A),向数值减小方向舍入。 注: FLOOR(A)返回沿A数值减小方向最接近的整数,若A为整数,则返回值为A。 例1: FLOOR(2.1); // 返回值为2 例2: FLOOR(-8.8); // 返回值为-9 例3: FLOOR(5); // 返回值为5 例4: IFELSE(C-INTPART(C)>=0.5,CEILING(C),FLOOR(C)); // 对收盘价四舍五入后取整数部分
    • INTPART

      Cứu hộ.

      INTPART(X),取X的整数部分。 例1: INTPART(12.3); // 返回值为12 例2: INTPART(-3.5); // 返回值为-3 例3: INTPART(10); // 返回值为10 例4: INTPART(C); // 求收盘价的整数部分
    • LN

      Các đối số tự nhiên.

      LN(X),求X的自然对数。 注: 1、X取值范围为非0自然数,即1、2、3、4、5 ... 2、若X取值为0或负数,返回值为空值。 例: LN(OPEN); // 求开盘价的对数
    • LOG

      Các đối số thông thường.

      LOG(X),求X的常用对数值。 注: 1、该函数中X的取值范围为X>0。 2、0和负数没有对数,X为0或负数时返回值为空值。 例1: LOG(100); // 返回2 例2: LOG(0); // 返回空值
    • MAX

      Giá trị tối đa

      MAX(A,B),取最大值。取A,B中较大者。 注: 若A=B,返回值为A或者B的值。 例1: MAX(CLOSE,OPEN); // 表示取开盘价和收盘价中较大者 例2: MAX(CLOSE-OPEN,0); // 表示若收盘价大于开盘价返回它们的差值,否则返回0 例3: MAX(A,MAX(B,MAX(C,D))); // 求 A、B、C、D四者中的最大值
    • MAX1

      Tận dụng tối đa.

      MAX1(A...P),在A到P中取最大值。 注: 1、支持2-16个数值进行比较。 2、A...P可以为数字也可以为变量。 例1: MAX1(CLOSE,OPEN); // 表示取开盘价和收盘价中较大者 例2: MAX1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); // 表示取数字1-16中的最大值
    • MEDIAN

      Tìm số trung bình.

      MEDIAN(X,N) 求X在N个周期内居于中间的数值。 注: 1、N个周期内所有X排序后,若N为奇数,则选择第(N+1)/2个为中位数,若N为偶数,则中位数是(N/2以及N/2+1)的平均数。 2、N可以为变量。 例1: 豆粕1509最近3日的收盘价为2727、2754、2748,那么当前MEDIAN(C,3)的返回值是2748。 例2: 豆粕1509最近4日的开盘价为2752、2743、2730、2728,那么当前MEDIAN(O,4)的返回值是2736.5。
    • MEDIAN1

      Tìm số trung bình.

      MEDIAN1(A,...,P),求A到P内居于中间的数值。 注: 1、支持最多16个参数进行计算。 2、A...P可以为数值也可以为变量。 3、若参数个数为N,对N个参数排序后,N为奇数,则选择第(N+1)/2个为中位数,若N为偶数,则中位数是(N/2以及N/2+1)的平均数。 例1: AA:=MEDIAN1(O,C,H); // 开盘价、收盘价、最高价按数值排序,取居中的数值 例2: BB:=MEDIAN1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); // 表示取数字1-16的中位数,BB返回8.5
    • MIN

      Giá trị tối thiểu.

      MIN(A,B),取最小值。取A,B中较小者。 注: 若A=B,返回值为A或者B的值。 例1: MIN(OPEN,CLOSE); // 表示取开盘价和收盘价中的较小者 例2: MIN(C,MIN(O,REF(C,1))); // 求当前周期的开盘价,收盘价,以及上周期的收盘价间最小的数值
    • MIN1

      Lấy giá trị tối thiểu.

      MIN1(A...P),在A到P中取最小值。 注: 1、支持2-16个数值进行比较。 2、A...P可以为数字也可以为变量。 例1: MIN1(CLOSE,OPEN); // 表示取开盘价和收盘价中较小者 例2: MIN1(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); // 表示取数字1-16中的最小值
    • MOD

      Hướng dẫn.

      MOD(A,B),取模。返回A对B求模。 例1: MOD(26,10); // 返回6,26除以10所得余数为6,即26对10的模为6 例2: MOD(A,2)=0; // 判断A为偶数
    • MODE

      Gọi số người.

      MODE(X,N),求X在N个周期内最常出现的值。 注: 1、如果N个周期内不含有重复的数值,则函数返回空值。 2、N可以为变量。
    • POW

      Ồ.

      POW(X,Y),求X的Y次幂。 注: 1、当X为负数时,Y必须为整数,因为底数为负时,不能进行开方运算,返回值为空值。 2、X,Y可以为数值,也可以为变量。 例1: POW(CLOSE,2); // 求得收盘价的2次方 例2: POW(10,2); // 返回值为100 例3: POW(1/2,-2); // 返回值为4 例4: POW(100,O-C); // 返回100的O-C次方
    • RAND

      Một hàm ngẫu nhiên tạo ra một số ngẫu nhiên.

      RAND(X,Y),产生随机数的随机函数,返回范围在X到Y之间的随机数。 注: 1、X、Y参数均支持设置为变量。 2、该函数仅支持返回整数。 3、当X>Y时,函数返回空值。 4、当X与Y的范围小于1时,函数返回无效值。 例1: RAND(1,60); // 返回1到60之间的随机数值 例2: RAND(C,O); // 返回收盘价到开盘价之间的随机数值
    • RANGE

      Phạm vi.

      RANGE(X,Y,Z):介于某个范围之内。表示X大于Y同时小于Z时返回1,否则返回0 例1: RANGE(5,4,6); // 返回值为1 例2: RANGE(8,3,6); // 返回值为0 例3: MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); RANGE(MA10,MA20,MA5),BK; // 10周期均线在5周期均线与20周期均线之间买开仓 // RANGE(MA10,MA20,MA5)=1,BK;与RANGE(MA10,MA20,MA5),BK;表达同等意义
    • REVERSE

      Lấy giá trị ngược lại.

      REVERSE(X),取相反值。返回-X。 例1: REVERSE(LOW); // 返回-LOW 例2: REVERSE(-55); // 返回值为55 例3: REVERSE(0); // 返回值为0
    • ROUND

      Đặt số 4 vòng 5 vào.

      ROUND(N,M),对数字N进行位数为M的四舍五入。 注: 1、N支持写为变量和参数;M不支持写为变量,可以写为参数。 2、M>0,则对数字N小数点后M位小数进行四舍五入。 3、M=0,则将数字N四舍五入为整数。 4、M<0,则在数字N小数点左侧前M位进行四舍五入。 例1: ROUND(125.345,2); // 返回125.35 例2: ROUND(125.345,0); // 返回125 例3: ROUND(125.345,-1); // 返回130
    • SGN

      Lấy ký hiệu.

      SGN(X),取符号。若X>0返回1,若X<0返回-1,否则返回0。 例1: SGN(5); // 返回值为1 例2: SGN(-5); // 返回值为-1 例3: SGN(0); // 返回值为0
    • SIN

      Cần phải tìm kiếm chính tông.

      SIN(X),求X的正弦值。 注: 1、X的取值为R(实数集)。 2、值域为(-1,1)。 例1: SIN(-1.57); // 返回-1.57的正弦值 例2: SIN(1.57); // 返回1.57的正弦值
    • SQRT

      Nguyên tố.

      SQRT(X),求X的平方根。 注: X的取值为正数,X为负数时返回空值。 例1: SQRT(CLOSE); // 收盘价的平方根
    • SQUARE

      Bảng vuông.

      SQUARE(X)求X的平方。 例1: SQUARE(C); // 收盘价的平方 例2: SQUARE(2); // 2的平方
    • TAN

      Chính xác.

      TAN(X),返回X的正切值。 例1: TAN(0); // 返回0的正切值 例2: TAN(-3.14); // 返回-3.14的正切值
  • Chỉ thị giao dịch

    • BK

      BKMua kho.

    • BP

      BPMua cổ phiếu.

    • SK

      SKBán cổ phiếu.

    • SP

      SPBán cổ phiếu.

    • BPK

      BPKMua nhà mới sau khi mua xong.

    • SPK

      SPKSau khi bán, họ sẽ mở cửa hàng mới.

    • CLOSEOUT

      CLOSEOUTChỉ thị thanh toán, xóa tất cả các khoản nắm giữ.

    • SELECT

      SELECTĐịnh dạng một hình dạng trên đường K phù hợp, thường được sử dụng để nhận dạng hình dạng.

    • TRADE_AGAIN

      TRADE_AGAIN(N)Trong mô hình gia tăng giảm bớt chứa hàm này, một dòng lệnh có thể phát ra N tín hiệu liên tiếp.

    • AUTOFILTER

      AUTOFILTERCác nhà nghiên cứu cho biết, các hệ thống lọc tín hiệu đã được kích hoạt.

    • MULTSIG

      MULTSIG(Sec1, Sec2, N), thiết lập một k-đường nhiều tín hiệu của giá chỉ thị cách ((TICK lần lượt đo, có thể thiết lập độ chính xác đo) }}

      开仓信号出信号Sec1秒下单,不复核。 平仓信号出信号Sec2秒下单,不复核。
  • Tính toán hàm điều khiển

    • FILTER

      FILTER ((COND,N), lọc các tín hiệu liên tiếp.
      Khi điều kiện COND được thiết lập, dữ liệu trong các chu kỳ N tiếp theo trả về 0 <unk>.

      Ví dụ:

      a:=FILTER(CLOSE>OPEN, 3) // 查找阳线,3个周期内再次出现的阳线不被记录在内

      Lưu ý: Không được sử dụng cùng với BKPRICE, BARSBK, SKPRICE, BARSSK.

    • AUTOFILTER

      Khởi động hệ thống lọc tín hiệu.

      AUTOFILTER启用一开一平信号过滤机制。 用法: 模型中含有AUTOFILTER函数,则启用一开一平信号过滤机制。 模型中不写入该函数,则每个指令都有效,支持加减仓。 模型的过滤规则: 1、连续的同方向指令只有第一个有效,其他的将被过滤; 2、交易指令必须先开仓后平仓,一开一平配对出现: 出现BK指令,下一个指令只允许出现SP\SPK指令; 出现SK指令,下一个指令只允许出现BP\BPK指令; 出现SP/BP/CLOSEOUT等平仓指令,下一个可以是BK/SK/SPK/BPK指令任一个; 反手指令SPK和BPK交叉出现。 例: CLOSE>OPEN,BK; CLOSE<OPEN,SP; AUTOFILTER; // 启用一开一平信号过滤机制
    • TRADE_AGAIN

      Chức năng hạn chế tín hiệu

      TRADE_AGAIN(N),同一指令行可以连续出N个信号。 用法: TRADE_AGAIN(N)含有该函数的加减仓模型中,同一指令行可以连续出N个信号。 注: 1、该函数只适用于加减仓模型。 2、模型中写入该函数,一根K线只支持一个信号。不可以和 MULTSIG 函数同时使用。 3、N个信号必须连续执行,如果期间出现其他信号,则N从新计算。 4、N不可以写为变量。 例: C>O,BK(1); // K线为阳线,买开1手 C<O,SP(BKVOL); // K线为阴线,卖平多头持仓 TRADE_AGAIN(3); // 同一指令行可以连续执行3次(如果连续三根阳线,则连续三次买开仓)
  • Chức năng ghi tín hiệu

    • BKPRICE

      Thêm vào đó, các nhà đầu tư cũng có thể sử dụng các giao dịch dịch vụ khác nhau.

      BKPRICE返回数据合约最近一次买开信号价位。 用法: BKPRICE返回数据合约最近一次买开信号发出时的行情的最新价。 注: 1、当数据合约和交易合约相同时BKPRICE值和BKPRICE1值相等。 2、当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最近一次开仓信号的价格,而不是开仓均价。 3、不同信号执行方式,其返回值分别为: (1)信号执行方式为不进行信号复核 历史回测:BKPRICE返回信号发出时的数据合约行情最新价。 (2)信号执行方式选择K线走完确认信号下单 历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价。 (3)信号执行方式设置为K线走完进行信号复核 历史回测:BKPRICE返回信号发出时数据合约当根K线的收盘价。 例: BKPRICE-CLOSE>60 && BKPRICE>0 && BKVOL>0, SP; // 如果买开价位比当前价位高出60,且多头持仓存在,卖平仓
    • BKPRICEAV

      Giá trung bình của hợp đồng dữ liệu trả về.

      BKPRICEAV返回数据合约多头开仓均价。 用法: BKPRICEAV返回数据合约多头开仓均价。 注: 1、一开一平信号过滤模型: (1)开仓信号后,未出平仓信号时:BKPRICEAV取值和BKPRICE取值相同。 (2)平仓信号后:BKPRICEAV返回值为0。 2、加减仓模型: (1)持仓不为0时:BKPRICEAV返回数据合约持仓的开仓均价。 (2)加减仓模型持仓为0时:BKPRICEAV返回值为0。 注: 该函数的计算考虑滑点。 例: CLOSE-BKPRICEAV>60,SP(BKVOL); // 当前价位比多头开仓均价高出60,平掉所有多头持仓
    • BKVOL

      Mua điện thoại.

      买开信号手数。 用法: BKVOL返回模型当前的多头持仓。 1、加载运行: (1)回测系统运行中,BKVOL不受资金情况的限制,按照信号显示开仓手数。 2、回测运行中: (1)如果资金不够开仓,开仓手数为0,BKVOL返回值为0。 (2)BK(BPK)信号出现并且确认固定后,BKVOL的取值增加开仓手数的数值;SP(SPK)信号出现并且确认固定后,BKVOL的取值减少平仓手数的数值。 例: BKVOL=0&&C>O,BK(1); // 多头持仓为0并且收盘价大于开盘价时,买开一手 BKVOL>=1&&H>HV(H,5),BK(2); // 多头持仓大于等于1,并且当根K线的最高价大于前面5个周期中最高价中最大值时,加仓2手 BKVOL>0&&L<REF(L,5),SP(BKVOL); // 多头持仓大于0,并且当根K线的最低价小于5个周期前K线的最低价时,卖平所有多头持仓
    • BKHIGH

      Đây là mức giá cao nhất kể từ khi mua lại hợp đồng dữ liệu.

      返回数据合约买开仓以来的最高价。 用法: BKHIGH返回数据合约最近一次模型买开位置到当前的最高价。 1、不同信号执行方式,其返回值分别为: (1)信号执行方式为K线走完确认信号下单。 a.历史信号计算中,BK(BPK)信号之后的K线返回委托以来的数据合约行情的最高价。 b.加载运行过程中,BK(BPK)信号当根K线返回的为信号发出时数据合约行情的最新价,BK之后的K线返回委托以来的数据合约行情最高价。 从BK(BPK)信号发出时开始统计数据合约行情的最高价;信号消失,返回上次买开以来的数据合约行情的最高价,信号确认存在,返回当根K线记录的数据合约行情的最高价。 注:BK信号发出后,中间出了信号消失,从最后一次信号出现开始统计数据合约最高价。 (3)信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG)。 BK(BPK)信号的当根K线返回从信号发出到K线走完时数据合约行情的最高价;BK(BPK)信号之后的K线返回信号发出以来数据合约行情的最高价。 例: C>O,BK; C>BKPRICE&&C<BKHIGH-5,SP; AUTOFILTER; // 最新价低于买开仓以来的数据合约最高价5个点,止盈平仓
    • BKLOW

      Đây là mức giá thấp nhất kể từ khi giao dịch được mở cửa.

      返回数据合约买开仓以来的最低价。 用法: BKLOW返回数据合约最近一次模型买开位置到当前的最低价。 1、不同信号执行方式,其返回值分别为: (1)K线走完确认信号下单 a.历史信号计算中,BK(BPK)信号之后的K线返回委托以来的数据合约行情的最低价。 b.加载运行过程中,BK(BPK)信号当根K线返回的为信号发出时数据合约行情的最新价,BK之后的K线返回委托以来的数据合约行情最低价。 从BK(BPK)信号发出时行情时开始统计数据合约行情的最低价;信号消失,返回上次买开以来的数据合约行情的最低价,信号确认存在,返回当根K线记录的数据合约行情的最低价。 注:BK信号发出后,中间出了信号消失,从最后一次信号出现开始统计数据合约最低价。 (3)信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG) BK(BPK)信号的当根K线返回的从信号发出到K线走完时数据合约行情的最低价;BK(BPK)信号之后的K线返回信号发出以来数据合约行情的最低价。 例: C>O,BK; C>BKLOW+5,SP; AUTOFILTER; // 最新价高于买开仓以来数据合约的最低价5个点,平仓
    • SKPRICE

      Quay trở lại hợp đồng dữ liệu giá bán tín hiệu gần đây nhất.

      SKPRICE 返回数据合约最近一次卖开信号价位。 用法: SKPRICE 返回数据合约最近一次卖开信号发出时的行情的最新价。 注: 1、当数据合约和交易合约相同时SKPRICE值和SKPRICE1值相等。 2、当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最近一次开仓信号的价格,而不是开仓均价。 3、不同信号执行方式,其返回值分别为: (1)信号执行方式为不进行信号复核 a.历史回测:SKPRICE返回信号发出时的数据合约行情最新价。 (2)信号执行方式选择K线走完确认信号下单 a.历史回测:SKPRICE返回信号发出时数据合约当根K线的收盘价。 (3)信号执行方式设置为K线走完进行信号复核 a.历史回测:SKPRICE返回信号发出时数据合约当根K线的收盘价。 例: CLOSE-SKPRICE>60 && SKPRICE>0 && SKVOL>0, BP; // 如果卖开价位比当前价位低出60,且空头持仓存在,买平仓
    • SKPRICEAV

      Giá trung bình của hợp đồng không có tiền.

      SKPRICEAV 返回数据合约空头开仓均价。 用法: SKPRICEAV 返回返回数据合约空头开仓均价。 注: 1、一开一平信号过滤模型: (1)开仓信号后,未出平仓信号时:SKPRICEAV取值和SKPRICE取值相同。 (2)平仓信号后:SKPRICEAV返回值为0。 2、加减仓模型: (1)持仓不为0时:SKPRICEAV返回数据合约持仓的开仓均价。 (2)加减仓模型持仓为0时:SKPRICEAV返回值为0。 注: 该函数的计算考虑滑点。 例: SKPRICEAV-CLOSE>60,BP(SKVOL); // 当前价位比空头开仓均价低出60,平掉所有空头持仓
    • SKVOL

      Bán hết số điện thoại.

      卖开信号手数 用法: SKVOL返回模型当前的空头持仓。 1、加载运行: (1)回测系统运行中,SKVOL不受资金情况的限制,按照信号显示开仓手数。 2、回测运行中: (1)如果资金不够开仓,开仓手数为0,SKVOL返回值为0。 (2)SK(SPK)信号出现并且确认固定后,SKVOL的取值增加开仓手数的数值;BP(BPK)信号出现并且确认固定后,SKVOL的取值减少平仓手数的数值。 例: SKVOL=0&&C<O,SK(1); // 空头持仓为0并且收盘价小于开盘价时,卖开一手 SKVOL>=1&&L<LV(L,5),SK(2); // 空头持仓大于等于1,并且当根K线的最低价小于前面5个周期中最低价中最小值时,加仓2手 SKVOL>0&&H>REF(H,5),BP(SKVOL); // 空头持仓大于0,并且当根K线的最高价大于5个周期前K线的最高价时,买平所有空头持仓
    • SKHIGH

      Đây là mức giá cao nhất kể từ khi các hợp đồng dữ liệu được bán.

      返回数据合约卖开仓以来的最高价。 用法: SKHIGH返回数据合约最近一次模型卖开位置到当前的最高价。 1、不同信号执行方式,其返回值分别为: (1)K线走完确认信号下单 a.历史信号计算中,SK(SPK)信号之后的K线返回委托以来的数据合约行情的最高价。 b.加载运行过程中,SK(SPK)信号当根K线返回的为信号发出时数据合约行情的最新价,SK之后的K线返回委托以来的数据合约行情最高价。 从SK(SPK)信号发出时开始统计数据合约行情的最高价;信号消失,返回上次卖开以来的数据合约行情的最高价,信号确认存在,返回当根K线记录的数据合约行情的最高价。 注:SK信号发出后,中间出了信号消失,从最后一次信号出现开始统计数据合约最高价。 (3)信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG) SK(SPK)信号的当根K线返回的从信号发出到K线走完时数据合约行情的最高价;SK(SPK)信号之后的K线返回信号发出以来数据合约行情的最高价。 例: C<O,SK; C<SKHIGH-5,BP; AUTOFILTER; // 最新价低于卖开仓以来数据合约的最高价5个点,平仓
    • SKLOW

      Đây là mức giá thấp nhất kể từ khi giao dịch mở cửa.

      返回数据合约卖开仓以来的最低价。 用法: SKLOW返回数据合约最近一次模型卖开位置到当前的最低价。 1、不同信号执行方式,其返回值分别为: (1)K线走完确认信号下单 a.历史信号计算中,SK(SPK)信号之后的K线返回委托以来的数据合约行情的最低价。 b.加载运行过程中,SK(SPK)信号当根K线返回的为信号发出时数据合约行情的最新价,SK之后的K线返回委托以来的数据合约行情最低价。 信号发出时行情时开始统计数据合约行情的最低价;信号消失,返回上次卖开以来的数据合约行情的最低价,信号确认存在,返回当根K线记录的数据合约行情的最低价。 注:SK信号发出后,中间出了信号消失,从最后一次信号出现开始统计数据合约最低价。 (3)信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG) SK(SPK)信号的当根K线返回的从信号发出到K线走完时数据合约行情的最低价;SK(SPK)信号之后的K线返回信号发出以来数据合约行情的最低价。 例: C<O,SK; C<SKPRICE&&C>SKLOW+5,BP; AUTOFILTER; // 最新价高于卖开仓以来数据合约的最低价5个点,止盈平仓
    • ISLASTBK

      Đánh giá tín hiệu cuối cùng là BK.

      ISLASTBK判断上一个交易信号是否是BK。 用法: ISLASTBK上一个交易信号是BK则返回1(Yes),否则返回0(No)。 BK信号未确认时,ISLASTBK返回值0。 BK信号确认后,ISLASTBK返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),BK信号当根ISLASTBK返回值为1。 注:模型中含有BPK条件,且上一个信号为平仓信号时,由BPK指令产生的BK信号,ISLASTBK返回0,ISLASTBPK返回1。 例: C>O,BK; ISLASTBK&&C>BKPRICE,SP; AUTOFILTER; // 上一个信号是BK信号,且最新价大于开仓价格,卖平仓
    • ISLASTSK

      Đánh giá tín hiệu cuối cùng là SK.

      ISLASTSK判断上一个交易信号是否是SK。 用法: ISLASTSK上一个交易信号是SK则返回1(Yes),否则返回0(No)。 SK信号未确认时,ISLASTSK返回值0。 SK信号确认后,ISLASTSK返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),SK信号当根ISLASTSK返回值为1。 注:模型中含有SPK条件,且上一个信号为平仓信号时,由SPK指令产生的SK信号,ISLASTSK返回0,ISLASTSPK返回1。 例: C<O,SK; ISLASTSK&&C<SKPRICE,BP; AUTOFILTER; // 上一个信号是SK信号,且最新价小于开仓价格,买平仓
    • ISLASTBP

      Đánh giá một tín hiệu là BP.

      ISLASTBP判断上一个交易信号是否是BP。 用法: ISLASTBP上一个交易信号是BP则返回1(Yes),否则返回0(No)。 BP信号未确认时,ISLASTBP返回值0。 BP信号确认后,ISLASTBP返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),BP信号当根ISLASTBP返回值为1。 例: C<O,SK(2); C>O,BP(1); ISLASTBP,BP(1); // 上一个信号是买平仓信号,则减仓一手
    • ISLASTSP

      Đánh giá một tín hiệu là SP.

      ISLASTSP判断上一个交易信号是否是SP。 用法: ISLASTSP,上一个交易信号是SP则返回1(Yes),否则返回0(No)。 SP信号未确认时,ISLASTSP返回值0。 SP信号确认后,ISLASTSP返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),SP信号当根ISLASTSP返回值为1。 例: C>O,BK(2); C<O,SP(1); ISLASTSP,SP(1); // 上一个信号是卖平仓信号,则减仓一手
    • ISLASTBPK

      Đánh giá một tín hiệu là BPK.

      ISLASTBPK判断上一个交易信号是否是BPK。 用法: ISLASTBPK上一个交易信号是BPK则返回1(Yes),否则返回0(No)。 BPK信号未确认时,ISLASTBPK返回值0。 BPK信号确认后,ISLASTBPK返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),BPK信号当根ISLASTBPK返回值为1。 注:模型中含有BPK条件,且上一个信号为平仓信号时,由BPK指令产生的BK信号,ISLASTBK返回0,ISLASTBPK返回1。 例: C>O,BPK; ISLASTBPK&&C<O,SPK; AUTOFILTER; // 上一个信号是BPK信号,则反手SPK
    • ISLASTSPK

      Đánh giá một tín hiệu là SPK.

      ISLASTSPK判断上一个交易信号是否是SPK。 用法: ISLASTSPK上一个交易信号是SPK则返回1(Yes),否则返回0(No)。 SPK信号未确认时,ISLASTSPK返回值0。 SPK信号确认后,ISLASTSPK返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),SPK信号当根ISLASTSPK返回值为1。 注:模型中含有SPK条件,且上一个信号为平仓信号时,由SPK指令产生的SK信号,ISLASTSK返回0,ISLASTSPK返回1。 例: C<O,SPK; ISLASTSPK&&C>O,BPK; AUTOFILTER; // 上一个信号是SPK信号,则反手BPK
    • ISLASTSTOP

      Đánh giá một tín hiệu là STOP.

      ISLASTSTOP判断上一个交易信号是否是STOP。 用法: ISLASTSTOP上一个交易信号是STOP则返回1(Yes),否则返回0(No)。 注:收盘价模型STOP信号下根K线ISLASTSTOP返回值为1;指令价模型STOP信号当根K线ISLASTSTOP返回值为1。 例: CROSS(C,MA(C,5)),BK(2); STOP(0,5); ISLASTSTOP&&CROSS(C,MA(C,10)),BK(1); // 上一个信号是STOP信号,且价格上穿10周期均线,开仓一手
    • ISLASTCLOSEOUT

      Đánh giá một tín hiệu là CLOSEOUT.

      ISLASTCLOSEOUT判断上一个信号是否CLOSEOUT。 用法: ISLASTCLOSEOUT上一个交易信号是CLOSEOUT返回1(Yes),否则返回0(No)。 CLOSEOUT信号未确认时,ISLASTCLOSEOUT返回值0。 CLOSEOUT信号确认后,ISLASTCLOSEOUT返回1。 b.信号执行方式选择不进行信号复核(例如:在模型中写入MULTSIG),CLOSEOUT信号当根ISLASTCLOSEOUT返回值为1。 例: ISLASTCLOSEOUT&&C>O,BK(1); // 上一个信号是清仓信号,并且当根K线是阳线,则买开一手
    • BARSBK

      Tôi đã mua vị trí của tín hiệu lần trước.

      BARSBK上一次买开信号位置。 用法: BARSBK返回上一次买开仓的K线距离当前K线的周期数(不包含出现BK信号的那根K线)。 取包含BK信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSBK+1;由于发出BK信号的当根k线BARSBK返回空值,则BARSBK+1在发出BK信号当根k线返回空值。 注: 1、若当前K线之前无BK信号,则函数返回值为空值。 2、BK信号固定后BARSBK返回为空值。 (1)设置信号执行方式为K线走完确认信号下单。 BARSBK返回值为上一个BK信号距离当前的K线根数(包含当前K线) (2)设置信号执行方式为出信号立即下单,不复核(例如:在模型中写入MULTSIG) a.历史信号计算中,出现BK信号的当根K线,BARSBK返回空值。 b.加载运行过程中,信号固定后BARSBK返回空值。 BARSBK返回值为上一个BK信号距离当前的K线根数(包含当前K线)。 例: 1、BARSBK>10,SP; // 上一次买开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,卖平 2、HHV(H,BARSBK+1); // 上一次买开仓(包含开仓信号出现的当根k线)到当前的最高价的最大值 当根K线出现BK信号,AA返回为空值,需要返回当根K线上最高价,模型需要修改为: AA:=IFELSE(BARSBK>=1,HHV(H,BARSBK+1),H); (1)当根K线出现BK信号,BARSBK返回为空值,不满足BARSBK>=1的条件,则取值为当根K线的最高价H。 (2)发出BK信号之后K线BARSBK返回买开仓的K线距离当前K线的周期数,满足BARSBK>=1的条件,则取值为HHV(H,BARSBK+1),即买开仓(包含开仓信号出现的当根k线)到当前的最高价的最大值。 修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号。 3、AA:=IFELSE(BARSBK>=1,REF(C,BARSBK),C); // 取最近一次买开仓K线的收盘价 (1)发出BK信号的当根k线BARSBK返回空值,则当根K线不满足BARSBK>=1的条件,AA返回当根k线的收盘价。 (2)发出BK信号之后的k线BARSBK返回买开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBK),即开仓k线的收盘价。 (3)例:1、2、3三根k线,1中的K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3中的K线AA返回值为1中的K线的收盘价。
    • BARSSK

      Địa điểm của tín hiệu đã bị bán đi lần trước.

      BARSSK上一次卖开信号位置。 用法: BARSSK返回上一次卖开仓的K线距离当前K线的周期数(不包含出现SK信号的那根K线)。 取包含SK信号出现的那根K线到当前K线的周期数,需要在此函数后+1,即BARSSK+1;由于发出SK信号的当根k线BARSSK返回空值,则BARSSK+1在发出SK信号当根k线返回空值。 注: 1、若当前K线之前无SK信号,则函数返回值为空值。 2、SK信号固定后BARSSK返回为空值。 (1)设置信号执行方式为K线走完确认信号下单。 BARSSK返回值为上一个SK信号距离当前的K线根数(包含当前K线) (2)设置信号执行方式为出信号立即下单,不复核(例如:在模型中写入MULTSIG) a.历史信号计算中,出现SK信号当根K线,BARSSK返回空值。 b.加载运行过程中,SK信号当根K线,信号固定后BARSSK返回空值。 BARSSK返回值为上一个SK信号距离当前的K线根数(包含当前K线)。 例: 1、BARSSK>10,BP; // 上一次卖开仓(不包含出现买开信号的那根K线)距离当前K线的周期数大于10,买平 2、LLV(L,BARSSK+1); // 上一次卖开仓(包含开仓信号出现的当根k线)到当前的最低价的最小值 当根K线出现SK信号,AA返回为空值,如果需要返回当根K线上最低价,模型需要修改为: AA:=IFELSE(BARSSK>=1,LLV(L,BARSSK+1),L); (1)当根K线出现SK信号,BARSSK返回为空值,不满足BARSSK>=1的条件,则取值为当根K线的最低价L。 (2)发出SK信号之后K线SARSBK返回卖开仓的K线距离当前K线的周期数,满足BARSSK>=1的条件,则取值为LLV(L,BARSSK+1),即卖开仓(包含开仓信号出现的当根k线)到当前的最低价的最小值。 修改后如果平仓条件中用到了AA的值,当根K线满足了平仓条件,可以出现平仓信号。 3、AA:=IFELSE(BARSSK>=1,REF(C,BARSSK),C); // 取最近一次卖开仓K线的收盘价 (1)发出SK信号的当根k线BARSSK返回空值,则当根K线不满足BARSSK>=1的条件,AA返回当根k线的收盘价。 (2)发出SK信号之后的k线BARSSK返回卖开仓的K线距离当前K线的周期数,则AA返回REF(C,BARSSK),即开仓k线的收盘价。 (3)例:1、2、3三根k线,1K线为开仓信号的当根k线,则返回当根k线的收盘价,2、3K线AA返回值为1K线的收盘价。
    • BARSSP

      Địa điểm của tín hiệu bán tháo trước đây.

      BARSSP上一次卖平信号位置。 用法: BARSSP返回上一次卖平仓的K线距离当前K线的周期数(不包含出现SP信号的那根K线)。 取包含SP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSSP+1。由于发出SP信号的当根k线BARSSP返回空值,则BARSSP+1在发出SP信号当根k线返回空值。 注: 1、若当前K线之前无SP信号,则函数返回值为空值。 2、SP信号固定后BARSSP返回为空值。 (1)设置信号执行方式为K线走完确认信号下单。 BARSBP返回值为上一个BP信号距离当前的K线根数(包含当前K线)。 (2)设置信号执行方式为出信号立即下单,不复核(例如:在模型中写入MULTSIG) a.历史信号计算中,出现SP信号当根K线,BARSSP返回空值。 b.加载运行过程中,SP信号当根K线,信号固定后BARSSP返回空值。 BARSSP返回值为上一个SP信号距离当前的K线根数(包含当前K线)。 例: 1、BARSSP>10,BK; // 上一次卖平仓(不包含出现卖平信号的那根K线)距离当前K线的周期数大于10,买开 2、AA:=HHV(H,BARSSP+1); // 上一次,卖平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值 当根K线出现SP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为: AA:=IFELSE(BARSSP>=1,HHV(H,BARSSP+1),H); (1)当根K线出现SP信号,BARSSP返回为空值,不满足BARSSP>=1的条件,则取值为当根K线的最高价H。 (2)发出SP信号之后K线BARSSP返回买平仓的K线距离当前K线的周期数,满足BARSSP>=1的条件,则取值为HHV(H,BARSSP+1),即卖平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。 3、AA:=IFELSE(BARSSP>=1,REF(C,BARSSP),C); // 取最近一次卖平仓K线的收盘价 (1)发出SP信号的当根k线BARSSP返回空值,则当根K线不满足BARSSP>=1的条件,AA返回当根k线的收盘价。 (2)发出SP信号之后的k线BARSSP返回卖平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSSP),即平仓k线的收盘价。 (3)1、2、3三根k线,1中的K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3中的K线AA返回值为1中的K线的收盘价。
    • BARSBP

      Lần trước, tôi đã mua vị trí của tín hiệu.

      BARSBP上一次买平信号位置。 用法: BARSBP返回上一次买平仓的K线距离当前K线的周期数(不包含出现BP信号的那根K线)。 取包含BP信号出现的那根K线到当前K线的周期数,则需要在此函数后+1,即BARSBP+1。由于发出BP信号的当根k线BARSBP返回空值,则BARSBP+1在发出BP信号当根k线返回空值。 注: 1、若当前K线之前无BP信号,则函数返回值为空值。 2、BP信号固定后BARSBP返回为空值。 (1)设置信号执行方式为K线走完确认信号下单。 BARSBP返回值为上一个BP信号距离当前的K线根数(包含当前K线) (2)设置信号执行方式为出信号立即下单,不复核(例如:在模型中写入MULTSIG) a.历史信号计算中,出现BP信号当根K线,BARSBP返回空值。 b.加载运行过程中,BP信号当根K线,信号固定后BARSBP返回空值。 BARSBP返回值为上一个BP信号距离当前的K线根数(包含当前K线)。 例: 1、BARSBP>10,BK; // 上一次买平仓(不包含出现买平信号的那根K线)距离当前K线的周期数大于10,买开 2、AA:=HHV(H,BARSBP+1); // 上一次买平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值 当根K线出现BP信号,AA返回为空值,如果需要返回当根K线上最高价,模型需要修改为: AA:=IFELSE(BARSBP>=1,HHV(H,BARSBP+1),H); (1)当根K线出现BP信号,BARSBP返回为空值,不满足BARSBP>=1的条件,则取值为当根K线的最高价H。 (2)发出BP信号之后K线BARSBP返回买平仓的K线距离当前K线的周期数,满足BARSBP>=1的条件,则取值为HHV(H,BARSBP+1),即买平仓(包含平仓信号出现的当根k线)到当前的最高价的最大值。 3、AA:=IFELSE(BARSBP>=1,REF(C,BARSBP),C);//取最近一次买平仓K线的收盘价: (1)发出BP信号的当根k线BARSBP返回空值,则当根K线不满足BARSBP>=1的条件,AA返回当根k线的收盘价。 (2)发出BP信号之后的k线BARSBP返回买平仓的K线距离当前K线的周期数,则AA返回REF(C,BARSBP),即平仓k线的收盘价。 (3)例:1、2、3三根k线,1中的K线为平仓信号的当根k线,则返回当根k线的收盘价,2、3中的K线AA返回值为1中的K线的收盘价。
    • REFSIG_VOL

      Trả về số giờ tín hiệu của tín hiệu Sig cố định thứ N bắt đầu đếm ngược từ đường K gốc ((cái lệnh ngược tay mở số giờ) <unk>)

      Cách sử dụng:
      REFSIG_VOL(Sig,N);Xác định số lần có tín hiệu Sig cố định thứ N bắt đầu đếm ngược từ gốc K. Nếu không có tín hiệu Sig hoặc không có tín hiệu Sig cố định, hàm này sẽ trả về 0.

      Ghi chú:
      1 , tín hiệu hỗ trợ vị trí Sig có:BK,SK,BP,SP,BPK,SPK,CLOSEOUT,STOP
      2, nếu số liệu ngược của tín hiệu Sig cố định thứ N trên đường gốc K, thì hàm này sẽ trả về số tín hiệu hiện tại.
      4, hàm này trả về 0 khi N là 0 hoặc không có giá trị.
      5, tham số N hỗ trợ biến.

      Ví dụ:

      // 如果从当根K线开始倒数第3个固定的BK信号所在的距离当前K线有5根K线,并且信号手数大于2,平掉所有持仓 REFSIG_PLACE(BK,3)=5&&REFSIG_VOL(BK,3)>2,SP(BKVOL);
    • REFSIG_PRICE

      Trả về giá tín hiệu của tín hiệu Sig cố định thứ N bắt đầu từ gốc K.

      Cách sử dụng:
      REFSIG_PRICE(Sig,N);, xác định giá trị tín hiệu của tín hiệu Sig cố định thứ N bắt đầu từ gốc K. Nếu không có tín hiệu Sig hoặc không có tín hiệu Sig cố định, hàm này sẽ trả về giá trị không.

      Ghi chú:
      1 , tín hiệu hỗ trợ vị trí Sig có:BK,SK,BP,SP,BPK,SPK,CLOSEOUT,STOP
      2, nếu có tín hiệu Sig cố định trên đường gốc K, thì hàm này tính tín hiệu bao gồm tín hiệu của đường gốc K.
      3, hàm trả về null khi N là 0 hoặc null.
      4 , tham số N hỗ trợ biến .

      Ví dụ:

      // 如果从当根K线开始倒数第3个固定的BK信号的开仓价位为3000,并且多头持仓大于0,卖平仓 REFSIG_PRICE(BK,3)=3000&&BKVOL>0,SP;
    • COUNTSIG

      Số lượng tín hiệu X trong một chu kỳ N.

      Cách sử dụng:
      COUNTSIG(X,N);Số lượng tín hiệu X trong một chu kỳ N.
      X có thể làBK,SK,SP,BP,SPK,BPK,CLOSEOUT,STOP

      Ghi chú:
      1 - Tính theo chu kỳ thống kê
      (1) bao gồm dòng k hiện tại.
      (2) Nếu N là 0 thì tính từ giá trị có hiệu lực đầu tiên.
      (3) Khi N là giá trị có hiệu lực, nhưng số dòng k hiện tại dưới N gốc, tính từ gốc đầu tiên đến chu kỳ hiện tại.
      (4) Nếu N là null, thì trả về null.
      (5) N có thể là biến ≠
      2/ Đánh dấu số liệu:
      (1) Hình thức thực hiện tín hiệu được chọn là tín hiệu xác nhận sau khi dòng K đi qua hoặc tín hiệu kiểm tra sau khi dòng K đi qua (ví dụ: viết CHECKSIG ((SIG,'A',0,'D',0,0); trong mô hình), không bao gồm tín hiệu không cố định trên dòng K gốc, tức là trả về số tín hiệu đã được cố định.
      (2) Chế độ thực hiện tín hiệu được chọn là không kiểm tra tín hiệu ((ví dụ: viết MULTSIG hoặc MULTSIG_MIN; trong mô hình), bao gồm tín hiệu được phát ra và cố định trên đường K gốc.
      3, tín hiệu BK được tạo ra bởi chỉ thị BPK được xử lý theo tín hiệu BPK, tín hiệu SK được tạo ra bởi chỉ thị SPK 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; // 当日内日未出现过BK信号并且最新价大于5周期均线,则买开仓
    • ENTRYSIG_PLACE

      Lấy vị trí K của tín hiệu mở kho.

      Cách sử dụng:
      ENTRYSIG_PLACE(N);, lấy vị trí của dòng K nơi có tín hiệu mở kho thứ N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu mở kho, hàm sẽ trả về null.

      Ghi chú:
      1 , tín hiệu mở kho có:BK,SK,BPK,SPK
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3, nếu số tín hiệu mở kho trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm này sẽ trả về null.
      Vị trí đường K là số gốc của đường K hiện tại đến đường K nơi tín hiệu mở kho được chỉ định.
      5, khi N là 0 hoặc null, hàm này trả về null.
      6, tham số N không được hỗ trợ là biến ≠

      Ví dụ:

      ENTRYSIG_PLACE(3)=5&&BKVOL>0,SP; // 如果第3个开仓信号所在K线距离当前K线有5根K线,并且多头持仓大于0,卖平仓
    • ENTRYSIG_PRICE

      Lấy giá của tín hiệu mở kho.

      Cách sử dụng:
      ENTRYSIG_PRICE(N);, lấy giá của tín hiệu mở kho N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu mở kho, hàm này trả về null.

      Ghi chú:
      1 , tín hiệu mở kho có:BK,SK,BPK,SPK
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3, nếu số tín hiệu mở kho trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm này sẽ trả về null.
      4, hàm này trả về null khi N là 0 hoặc null.
      5, tham số N không được hỗ trợ là biến ≠
      6, tính toán của hàm này bao gồm điểm trượt.
      Mô hình giá đóng cửa: Không có thay đổi giá trị của hàm gốc K của tín hiệu được chỉ định.
      Mô hình giá chỉ thị: trên đường K của tín hiệu được chỉ định trả về giá của tín hiệu mở lệnh N trong giao dịch.

      Ví dụ:

      ENTRYSIG_PRICE(3)=3000&&BKVOL>0,SP; // 如果第3个固定的开仓信号的开仓价位为3000,并且多头持仓大于0,卖平仓
    • ENTRYSIG_VOL

      Lấy số giờ tín hiệu cho tín hiệu mở kho.

      Cách sử dụng:
      ENTRYSIG_VOL(N);, lấy số giờ tín hiệu của tín hiệu mở kho thứ N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu mở kho, hàm này trả về giá trị không.

      Ghi chú:
      1 , tín hiệu mở kho có:BK,SK,BPK,SPK
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3, nếu số tín hiệu mở kho trong một giao dịch hoàn chỉnh nhỏ hơn N, hàm này sẽ trả về null.
      4, hàm này trả về null khi N là 0 hoặc null.
      5, tham số N không được hỗ trợ là biến ≠
      Mô hình giá đóng cửa: Không có thay đổi giá trị của hàm gốc K của tín hiệu được chỉ định.
      Mô hình giá chỉ thị: số giờ tín hiệu của tín hiệu mở đầu N trong giao dịch được trả về trên đường K của tín hiệu được chỉ định.

      Ví dụ:

      ENTRYSIG_PRICE(3)=3000&&ENTRYSIG_VOL(3)>2,SP; // 如果第3个固定的开仓信号的开仓价位为3000,并且第3个固定的开仓信号的信号手数大于2,卖平仓
    • EXITSIG_PLACE

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

      Cách sử dụng:
      EXITSIG_PLACE(N);, lấy vị trí của dòng K nơi có tín hiệu cân bằng thứ N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu cân bằng, hàm này sẽ trả về giá trị không.

      Ghi chú:
      1 , tín hiệu thanh toán là:BP,SP,CLOSEOUT,STOP
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3 , Hàm trả về null khi số tín hiệu bằng phẳng nhỏ hơn N.
      Vị trí đường K là số gốc của đường K hiện tại đến đường K nơi tín hiệu cân bằng được chỉ định.
      5, khi N là 0 hoặc null, hàm này trả về null.
      6, tham số N không được hỗ trợ là biến ≠

      Ví dụ:

      EXITSIG_PLACE(3)=5&&BKVOL<=0,BK; // 如果第3个平仓信号所在K线距离当前K线有5根K线,并且没有多头持仓,买开仓
    • EXITSIG_PRICE

      Lấy giá của tín hiệu định vị thế.

      Cách sử dụng:
      EXITSIG_PRICE(N);, lấy giá của tín hiệu thả lỏng thứ N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu thả lỏng, hàm sẽ trả về giá không.

      Ghi chú:
      1 , tín hiệu thanh toán là:BP,SP,CLOSEOUT,STOP
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3, nếu số tín hiệu thanh toán trong một giao dịch hoàn chỉnh là ít hơn N, hàm này sẽ trả về null.
      4, hàm này trả về 0 khi N là 0 hoặc không có giá trị.
      5, tham số N không được hỗ trợ là biến ≠
      6, tính toán hàm này bao gồm các điểm trượt
      Mô hình giá đóng cửa: Không có thay đổi giá trị của hàm gốc K của tín hiệu được chỉ định.
      Mô hình giá chỉ thị: trên đường K gốc của tín hiệu được chỉ định trả về giá của tín hiệu bán tháo thứ N trong giao dịch.

      Ví dụ:

      EXITSIG_PRICE(3)=3000&&BKVOL>0,SP; // 如果第3个固定的平仓信号的平仓价位为3000,并且多头持仓大于0,卖平仓
    • EXITSIG_VOL

      Lấy số giờ tín hiệu cho tín hiệu cân bằng.

      Cách sử dụng:
      EXITSIG_VOL(N)Lấy số giờ tín hiệu của tín hiệu cân bằng thứ N trong một giao dịch hoàn chỉnh. Nếu không có tín hiệu cân bằng, hàm này sẽ trả về giá trị không.

      Ghi chú:
      1 , tín hiệu thanh toán là:BP,SP,CLOSEOUT,STOP
      2, từ mở vị trí đến giữ vị trí là 0 được coi là một giao dịch hoàn chỉnh.
      3, nếu số tín hiệu thanh toán trong một giao dịch hoàn chỉnh là ít hơn N, hàm này sẽ trả về null.
      4, hàm này trả về 0 khi N là 0 hoặc không có giá trị.
      5, tham số N không được hỗ trợ là biến ≠
      Mô hình giá đóng cửa: Không có thay đổi giá trị của hàm gốc K của tín hiệu được chỉ định.
      Mô hình giá chỉ thị: số giờ tín hiệu của tín hiệu n-thấp khi giao dịch trên đường K của tín hiệu được chỉ định.

      Ví dụ:

      EXITSIG_PRICE(3)=3000&&EXITSIG_VOL(3)>2,BK; // 如果第3个固定的平仓信号的平仓价位为3000,并且第3个固定的平仓信号的信号手数大于2,买开仓
  • Hàm vị trí

    • MYVOL

      Lấy số điện thoại của bạn.

      MYVOL取下单手数。 用法:取下单手数,多用于在加减仓模型加载多个合约的时候的手数计算。 注: 回测:返回回测参数中设置的手数。 例: // 加载参数中下单手数设置为3时,下面编写BK的下单手数为6 C>O,BK(2*MYVOL); C<O,SP(BKVOL);
    • MONEY

      Số tiền trong tài khoản.

      MONEY账户可用资金。 用法:MONEY返回账户可用资金,用于仓位、手数等计算。 计算方法: 1、账户中MONEY的初始值为保证金参数中设置的起始资金。 2、历史回测中MONEY的初始值为回测参数中设置的初始资金。 3、开仓信号当根k线的MONEY值:开仓前可用资金-持仓保证金-手续费,其中持仓保证金=开仓价格*保证金比例*交易单位*手数。 4、开仓后未平仓的k线的MONEY值=开仓信号前k线的MONEY值+浮动盈亏PROFIT。 5、平仓信号当根k线的MONEY值:平仓前可用资金+平仓盈亏+平仓释放的保证金-手续费,其中平仓释放的保证金=开仓价格*保证金比例*交易单位*手数。 注: 1、信号执行方式为,‘K线走完确认下单’或‘XX下单,K线走完复核’: a.开仓信号当根K线,MONEY返回值为上根K线的可用资金-开仓保证金-手续费。 b.平仓信号当根K线,MONEY返回值为上根K线的可用资金+平仓盈亏+持仓释放的保证金-手续费。 2、信号执行方式选择,‘出信号下单,不进行复核’: a.开仓信号当根K线,MONEY返回值为当根k线开仓之前的可用资金-开仓保证金-手续费。 b.平仓信号当根K线,MONEY返回值为当根K线平仓之前的可用资金+平仓盈亏+平仓释放的保证金-手续费。 3、信号执行方式为‘K线走完确认信号下单’时,平仓盈亏=(平仓信号当根K线的收盘价-开仓价格)*手数*交易单位-手续费。 4、信号执行方式为‘出信号立即下单,不复核’时,平仓盈亏=(平仓信号的指令价-开仓价格)*手数*交易单位-手续费。 5、账户初始化后,MONEY返回值为初始化框中可用资金。 例: K:=MONEY*0.2/(C*MARGIN*UNIT+FEE); // 账户可用资金的20%可以开仓的手数(此写法适用于按固定手数收取手续费的合约),FEE自定义,或者计算
    • MONEYTOT

      Quyền lợi tài khoản

      MONEYTOT账户权益。 用法:MONEYTOT返回当前账户权益,模型进行仓位控制、下单手数等资金管理时使用。 计算方法:MONEYTOT=账户可用资金+持仓保证金。 注: 1、账户中MONEYTOT的初始值为保证金参数中设置的起始资金。 2、历史回测中MONEYTOT的初始值为回测参数中设置的初始资金。 3、账户初始化时: a.当前信号为开仓信号,MONEYTOT返回值为初始化框中账户可用资金。 b.当前信号为平仓信号,则MONEYTOT返回初始化框中账户可用资金+持仓保证金。 4、开仓信号当根k线:MONEYTOT=账户可用资金+持仓保证金。 5、开仓后平仓前:MONEYTOT返回当前账户可用资金+持仓保证金。 6、平仓信号当根k线:持仓为0时,MONEYTOT=可用资金;持仓不为0时,MONEYTOT=可用资金+持仓占用的保证金。 注: 持仓列表可用资金为包含了浮动盈亏的可用资金(= 当前权益 - 持仓占用的保证金)。 例: K:=MONEYTOT*0.2/(C*MARGIN*UNIT+FEE); // 账户权益的20%可以开仓的手数(此写法适用于按固定手数收取手续费的合约),FEE自定义,或者计算。
    • ACCOUNTMONEY

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

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

    • ACCOUNTMONEYTOT

      Quay trở lại quyền lợi trong tài khoản giao dịch, tương đương vớiMONEYTOT

      Cách sử dụng:
      ACCOUNTMONEYTOTQuay lại quyền lợi trong tài khoản giao dịch.

    • COINS

      Số tiền có sẵn trong tài khoản tiền mặt tiền kỹ thuật số

      1、用于数字货币现货,获取当前可用币数。
    • MARGIN

      Đòn bẩy.

      Tiền kỹ thuật số

      a := MARGIN; // 固定为值1

      Hợp đồng tương lai tiền điện tử

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

      img

      a := MARGIN; // 声明变量a,给a赋值当前合约杠杆率
  • Hàm dữ liệu TICK

    • ASK1

      NhậnTICKGiá bán:

    • ASK2

      NhậnTICKBán 2 giá.

    • ASK3

      NhậnTICKBán với giá ba.

    • ASK4

      NhậnTICKBán với giá bốn đô.

    • ASK5

      NhậnTICKBán với giá năm đô la.

    • ASK1VOL

      NhậnTICKBán một lượng.

    • ASK2VOL

      NhậnTICKBán thứ hai.

    • ASK3VOL

      NhậnTICKBọn họ đã bán được 3 chiếc.

    • ASK4VOL

      NhậnTICKBốn người bán.

    • ASK5VOL

      NhậnTICKBán năm bản.

    • BID1

      NhậnTICKGiá mua:

    • BID2

      NhậnTICKTôi không biết.

    • BID3

      NhậnTICK"Đây là những gì chúng tôi muốn.

    • BID4

      NhậnTICKTôi đã mua nó.

    • BID5

      NhậnTICK"Đây là những gì tôi muốn nói.

    • BID1VOL

      NhậnTICKTôi đã mua một số lượng.

    • BID2VOL

      NhậnTICKTôi đã mua hai lần.

    • BID3VOL

      NhậnTICKTôi đã mua 3 cái.

    • BID4VOL

      NhậnTICKTôi đã mua 4 chiếc.

    • BID5VOL

      NhậnTICKTôi đã mua 5 cái.

    • NEW

      NhậnTICKGiá hiện tại:

  • Hệ thống

    • EXIT

      Nếu bạn ném một đoạn văn sai, chương trình sẽ thoát.

      EXIT('msg'); // 需要传入参数,字符串参数需要使用''包裹,抛出一个错误,错误文本为字符串msg
    • INFO

      Xuất bản nhật ký

      INFO(cond, param, ...); 1、cond 为条件变量,为真输出日志。 2、条件变量后可跟多个可变参数。 例子: INFO(1, C, '<-收盘价');
    • CONTRACT

      Mã hợp đồng của sàn giao dịch sử dụng CONTRACT để có được bản đồ hợp đồng được thiết lập hiện tại.

      INFO(1, CONTRACT);

      img

    • DATA

      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['属性名称']Bạn có thể lấy một thuộc tính trong dữ liệu,https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.jsonĐối với các liên kết dữ liệu bên ngoài, có thể là các liên kết cung cấp dữ liệu cho các chương trình dịch vụ khác hoặc dữ liệu cung cấp bởi trung tâm dữ liệu của nhà phát minh, ví dụ như phần chú thích trong ví dụ(*消费指数:DATA('CPI')['城市'];*), sử dụng mãCPILấy dữ liệu (không 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"}] *) 消费指数:DATA('https://www.fmz.com/upload/asset/1ef31d778467ed9dd00.json')['城市']; (*消费指数:DATA('CPI')['城市'];*) 消费指数>HV(消费指数, 90),BPK; 消费指数<LV(消费指数, 90),SPK; AUTOFILTER;

      img

  • khác

    • Các tham số của Mac

      • Giá điểm tối thiểu

        img

        Tại sàn giao dịch tương lai BITMEX, điểm giá thấp nhất là 0,5 <unk>.
        Tại sàn giao dịch tương lai OKEX, điểm giá tối thiểu là 0.01 <unk>.

        Một số hợp đồng có giá thấp hơn, cần lưu ý rằng định giá chính xác tiền tệ, chính xác loại giao dịch và cài đặt các tham số này có phù hợp không.

      • Số chu kỳ biến đổi tối đa
        Số BAR của đường K ảnh hưởng đến biểu đồ, vàjavascriptGọi trong chiến lượcSetMaxBarLenChức năng tương tự.

      • Số lượng các vị trí được hiển thị trên bảng trạng thái của chiến lược Mac.

        Số lượng cổ phiếu thực tế.

        img

      • Xác định điều kiện (không được đề nghị viết như vậy) [2].

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

      • Trong mô hình giá thực tế, khi thêm K-line Bar, chúng ta phát hiện:

        VARIABLE:N:0; IF N <> BARPOS AND ISLASTBAR = 1 THEN BEGIN N:=BARPOS; INFO(1, '123'); END
Related Recommendations
Comment
All comments (12)

    支持限價開單嗎?

    a year ago

    k线上穿j1 收阳线站上j1后 回踩j1 开单 ,可回测时 却在阴线且没有站上j1的位置 也开单了 ,小梦老师 请教下 这是哪里错误了
    D1:=if(jk<0 && CROSS(close,j1) and CLOSE>OPEN and close>j1,j1,0);
    D1,BK; img

    3 years ago

    国内的爱交易平台 有麦语言的函数库 ,不知以后可否兼容下,像兼容tradingview上的函数一样,这样两边的指标策略,直接就可以平移到发明者上来量化了

    3 years ago

    好的,这边看下。

    3 years ago

    isLast(x)
    函数说明:判断当前数据是否为最后一条数据。发明者上的这个函数功能有吗

    3 years ago

    暂时,没有支持这个isLast指令

    3 years ago

    麦语言可以实现一个实盘多品种运行吗

    5 years ago

    麦语言是单品种单平台策略,只能操作一个品种,一个账号。

    5 years ago

    如果要挂MARK单需要嵌入JAVA或PYHON吗?能否给个例子?

    6 years ago

    这样设计 比较复杂, 建议如果 是挂单策略,直接使用JS,PY 编写策略。

    6 years ago

    麦语言支持okex合约吗?能接入okex合约的api吗

    7 years ago

    支持,可以用于OKEX合约。

    7 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)