資源の読み込みに... 荷物...

発明者 量化 My Language (ミラング) のドキュメント

作者: リン・ハーン発明者 量化 - 微かな夢, 作成日: 2018-11-30 13:29:33, 更新日: 2022-12-09 17:46:10

[TOC]

My言語は,Mac言語に互換性を持ち強化されたプログラム化取引言語である.FMZ量化My言語は,言語強化を組み込みJavaScript言語コードを使用する場合,例えば,%%操作後に1つ以上の空き文字が表示される場合,エラーが発生します.

  • 基本情報

    • 契約

      デジタル通貨契約

      デジタル通貨契約

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

      img

    • 変数

      変数とは,コンピュータのメモリに開いた空間で,データを保存するものです.

      最初の変数を開きます.

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

      ニュース麦语言中から数据量シンプルな区分:

      1. 単価データ: 単価のみ,例えば01’abc’
      2. シリアルデータ: 単価データからなるデータシリーズ,例えばClose価格が上がるにつれてClose含まれていますnサイクル終了価格[ 10.1 , 10.2 , 10.3 , 10.4 , 10. 5 ...]

      変数型からを区別する

      1. 文字列の種類:使用する必要があります''パッケージ,文字列の種類は直接使用を許さない.
      INFO(CLSOE>OPEN,'OK!');
      
      1. 数字タイプ:整数,浮点数 (小数) を含む.
      // 整数
      int:=2;
      
      // 小数
      float:=3.1;
      
      1. ブール型は,1 (真実を表す) または0 (偽を表す) を使います: 1、0,真または偽.例えば:A:=1>0;このコードを実行すると,Aこの値は 1 です.
      // 当前周期收盘价大于-999,你会发现,每个周期的返回值都是1,代表true,因为收盘价几乎不可能为负数
      is_true:=Close>-999;
      
      1. グローバル変数
      VARIABLE:VALUE1:10;     // 声明一个全局变量,赋值为10,只执行一次。
      

      検診の際には注意すべきことは:

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

      初めはINFO文字が印刷されているのは101疑わしいのは0どういうこと? 初期K線が100本あり,100本走って100回加算された. リアルディスクは,初期にどれだけのK線が取得されたかによって決まります.

      • 命名規則

        ほとんどのシステムでは,変数命名は,システムキーを用いて単語キーを保持することを許さない (例えば,既知の内蔵変数名,関数名).CloseCまた,純粋な数字や数字の開始は許されない. 長い終わりは許されない. 異なるシステムの長さの制限は異なる. 実際には,大人は,中国語の解析の効率性について主流のシステムを混乱させる必要はありません. 麦の言語は,中国語に対して非常に友好的なものであると確信しています.

        1. 中国語名
        // 优雅的输出
        五日均线:=MA(C,5);
        
        1. 英語+下線
        // 输出
        move_avg_5:=MA(C,5);
        

        英語を好むなら,変数の意味をできるだけ理解できるようにしてください.A1AAABBBこの種の名前付けは― いつかは指針コードを復習するときに記憶の欠如で痛みを感じるでしょう― また,他の誰かにコードを輸出するときに読者の心情が崩れるはずです.

        の言語は,あなたの分析や意思決定の強力なツールになるように.

    • データ型

      データ型は,書き込みにおいて,変数に明確なデータ値を代入すると,その変数もデータそのものの型になります.

        1. 数字の種類:
        1、2、3、1.1234、2.23456 ...
        
        1. 文字列の種類 (str):
        '1' 、'2' 、'3' ,字符串类型必须用 '' 包裹
        
        1. シリアルデータ:
        一系列单值数据构成的数据集合
        
        1. ブル型 (boolean):

        フォローする1代表true0代表false

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

      指標コードを実行する操作,計算,単純に,操作に参加する符号である.

      • 割り当て演算子

        変数に値を与えます.

          1. :

          :グラフ (※) に出力される.

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

          :=,は,指定値を表すが,図 (主図,副図...) に出力されず,状態表にも表示されない.

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

          ^^2つ^符号は,変数に代入され,グラフ (主図) に出力されます.

          lastPrice^^C;
          
          1. ..

          ..2つ.符号は,変数に割り当てられ,変数の名前や数字がグラフに表示されるが,グラフ (主図,副図...) に描かれない.

          openPrice..O
          
      • 関係演算子

        関連演算子は,条件式で用いられる双眼演算子である. 二つのデータ間の関係を判断するために用いられる.

        返される値は,Boole型ではなく,trueこれは,x^2です.false(0)。

          1. 大きかった>
          // 将2>1的运算结果赋值给rv1变量,此时rv1=1
          rv1:=2>1;
          
          1. より小さい<
          // 返回false,也就是0,因为2大于1
          rv3:=2<1;
          
          1. これは,>=
          x:=Close;
          // 将收盘价大于等于10的运算的结果赋值给变量rv2
          // 注意,由于close是一个序列数据,当进行close>=10运算的时候,本质是每个周期都进行运算,所以每个周期都会有一个1、0的返回值
          rv2:=Close>=10;
          
          1. これは,x+2です.<=
          此处省略
          
          1. これは,=
          A:=O=C;     // 判断开盘价是不是等于收盘价。
          
          1. これは,<>
          1<>2       // 判断1是否不等于2,返回值为1(true)
          
      • 論理演算子

        返される値は,Boole型ではなく,trueこれは,x^2です.false(0)。

        1. 論理と&&簡単に利用できますand接続の左側と左側の両側が同時に成立しなければならない.
        // 判断 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. 論理や||簡単に利用できますor代替またはリンクの両側,一方成立 (true),全体成立 (return true) した.
        cond_a:=1>2;
        cond_b:=4>3;
        cond_c:=5>6;
        cond_a || cond_b or cond_c;    // 返回值为1,成立
        
        1. ()括弧内の式を計算する操作符.
        1>2 AND (2>3 OR 3<5)    // 运算结果为假
        1>2 AND 2>3 OR 3<5      // 运算结果为真
        
      • 算術演算子

        返回值:数值类型
        

        算術演算子 (算術演算記号) は,基本的な算術演算を完了する,つまり四項式を処理する,算術演算子である.

        • プラス+

          A:=1+1;      // 返回 2
          
        • 減算 --

          A:=2-1;      // 返回 1
          
        • 乗算して

          A:=2*2;      // 返回 4
          
        • ほら

          A:=4/2;      // 返回 2
          
    • 関数

      • 関数

        プログラミングの世界では,関数は,ある機能を実装するコードの一段落であり,他のコードに呼び出せる.

        function(param1,param2,...)
        
        • イスラム教は,

          関数名 (参数1,参数2,...) は,参数がないか,複数の参数を持つ可能性があります.例えば.MA(x,n);代表が戻ったnサイクル内x平均的な移動値は,MA()これは,この関数です.xそしてnこの関数のパラメータは

          関数を使うとき,関数の基本的な定義,すなわち,関数を呼び出すときにどのようなデータが得られるかを理解する必要があります. 一般的には,関数は参数を持ち,参数を送信するときに,送信されるデータ型が適合していることを確認する必要があります. 現在,ほとんどのIDEのコード提示機能は非常に不完全です.MA(x,n);理由として:

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

          これは初心者にとって非常に不友好的なことです. 次に,関数を徹底的に解剖し,速く学習し,関数を使う方法を探します.

      • 返した値

        早く関数を学ぶためには,まず"返し値"という概念を理解する必要があります.戻る返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は,返却する値は.

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

        函数の第2の概念の重要な概念は,参数であり,異なる参数に異なる返し値が送信される.

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

        上記の変数ma5ma10この式は,XありがとうございましたC価格が上昇した.Cこの式は,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式を,この式をMA()この関数は,数日間の移動平均値を得るために,関数を使用するパラメータにより,より柔軟になります.

      • 学ぶ方法

          1. まず,関数の役割,つまり関数が私たちに返してくれるデータについて理解する必要があります.
          1. 返した値の種類を知りたいのです. 返した値を得るために関数を使います.
          1. この2つの要素は,MA(x,n)変数を知らなかったらxn返却値が正しく返されない場合も,

        この3つの原則に従って,次の関数の説明,使用をします.

    • 言語強化

      • 麦语言そしてJavaScript混合言語プログラミング

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

          scopeオブジェクトは属性を追加し,匿名関数を属性に代入することができる.

        • scope.getRefs(obj)関数

          ニュースJavaScript呼び出しを入力します.scope.getRefs(obj)この関数には,obj対象のデータ.

          以下です%% %%シンボルに包まれていますJavaScript言語のコードから取得します.TEST(C)呼び出し時に送信されるC閉店した価格.scope.getRefsこの関数は,このK線データのすべての閉値を返します.throw "stop"変数で割り切る.arr削除を試すことができます.throw "stop"実行するJavaScriptコードの最後ですreturn取引先の価格を表示する.

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

          ニュースJavaScriptコードブロック内のすべてのK線バーにアクセスします.

          TESTこの関数は数値を返します. 1 は陰道, 0 は陽道です.

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

          ニュースJavaScriptこのコードブロックでは,現在のバーにアクセスします.

          平均的な高値と低値を計算します.

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

          市場深度データ (注文量少ない) をアクセスします.

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

          名前対の文字列を取得する.

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

          K線Barの位置を取得します.

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

          この関数は,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

          canTrade属性が表示されている場合 (現在のBarが最後の Barではない場合)

          例えば,戦略が取引可能な状態にあるとき,市場データをプリントすると判断します.

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

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

        取引を開始し,取引を平衡した後,停止する戦略.

    • 多周期引用

      システムは自動的に適切な底層K線周期を選択し,この底層K線周期データを参照されたすべてのK線データに合成し,データの正確性を保証します.

      • フォローする#EXPORT 公式名 ... #END公式を作成します. 異なる周期のデータを得るためだけに公式計算を行わない場合,空の式も書くことができます.

        空の式は:

        #EXPORT TEST 
        NOP;
        #END           // 结束
        
      • フォローする#IMPORT [MIN,周期,公式名] AS 变量值引用式.設定された周期の各データを取得する (閉場価格,開場価格など,変数値で取得する).

        IMPORT命令の中でMIN文字通り分単位開発者による量化プラットフォームのマウ語.IMPORT命令でサポートするだけですMINレベル. 現在,非標準サイクルのサポートがあります.#IMPORT [MIN,240,TEST] AS VAR240周期は240分 ((4時間) K線などです.

        コードの例:

        // 本代码演示如何引用不同周期的公式在同一代码里
        // #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;
        
      • 多周期データ参照に使用するREFLLVHHV参照データに注意してください.

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

        比較MIN5.REF1CそしてREF(MIN5.C, 1)異なるのは:MIN5.REF1C5分K線データの現在の時刻の逆数第2BARの閉じる価格数である.REF(MIN5.C, 1)このコードの回帰周期は,1分に設定されている.period: 1m),現在の瞬間の倒数で2番目のBARが,5分周期の閉じる価格である. この2つの定義は異なるが,必要に応じて使用できる.

    • パターン説明

      • 信号フィルタリングモデル

        モデルに書き込みAUTOFILTER機能は,複数の開口信号が条件を満たしているときに,最初の信号を有効信号として取り,次のk線上の同じ信号をフィルタリングする条件を制御し,均等な信号フィルタリングを実現する.

        フィルタモデルがサポートする指令:BK,BP,BPK,SK,SP,SPK,CLOSEOUT,BK ((5) など手数付き指令はサポートしません.

        例えば:

        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线触发一次信号。
        
      • 増減モデル

        モデルに書き込まないAUTOFILTER関数は,連続して開場信号または連続して平止信号を発信することを許可し,上乗,下乗を可能にする.

        サポートされている指令は:BK (N),BP (N),SK (N),SP (N),CLOSEOUT (BPK (N),SPK (N),手数なしの平行指令はサポートされません. (1) 指令のグループ化をサポートします. (2) 複数の指示条件が同時に満たされているとき,条件文で書かれた先の順序で信号を実行する. 例えば:

        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);
        

        使用するTRADE\_AGAIN複数の信号を連続して同じ命令行で送信できます.

        理解:
        以上例子,逐个信号执行,执行后的信号不再触发。平仓后重置模型状态。一个K线触发一次信号。
        
      • K線からの信号のモデル

        k線が終了したかどうかに関わらず,信号が計算され,即時下注が行われ,つまりK線が終了する前に下注が行われる.K線が終了すると再確認され,保持方向がk線終了時の信号方向と一致しない場合,自動的に同期保持される.

        例えば:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BPK;    // 5周期均线上穿10周期均线做多。
        CROSSDOWN(MA1,MA2),SPK;  // 5周期均线下穿10周期均线做空。
        AUTOFILTER;
        
      • 複数のK線信号のモデル

        モデルを使用するmultsigK線から複数の信号を制御し,実現する.

        k線が終わろうとも,信号を計算し,リアルタイムで下注します.

        信号は再確認されず,信号の消去はなく,信号の方向は常に保持方向と一致する.

        複数の信号条件が満たされている場合,K線で複数回実行できます.

        例如:
        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);
        

        MULTSIG異なる命令行を複数のK行で実行することができます. 命令行は"回しか信号を出さない.

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

        追加: 1、プラス減持モデルでは,k線1つの信号の2つの方法:閉じる価格下令,指令価格下令,どちらもサポートされている. 2,加減仓位モデル,また,k線を複数回信号下記するもサポートする. 貯蔵庫の積分モデル,書き込みmultsigk行に複数の加仓または複数の減仓を行う.

    • 実行モード

      img

      • 閉店価格モデル

        閉じる価格モデルは,現在のBARが終わるまでモデルを実行し,下の根BARが始まるときに取引を実行することを意味します.

      • リアルタイム価格モデル

        リアルタイム価格モデルは,価格変化ごとに1つのモデルを実行し,信号があれば即座に取引することを意味します. リアルタイム・価格モデルは前日の信号を無視 (前日の信号は前日の瞬間に実行される) している.

    • グラフが示しています

      • 図の追加指標

        オペレーターを使用する^^,変数に代入する時に,設定指標が主図に表示される.

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

        img

      • 副図追加指標

        オペレーターを使用する:変数に代入する際に,設定指標が副図に表示される.

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

        img

        主題図や副図に表示されない場合は,...操作を使用します.

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

        img

        活用できるDOTCOLORRED文字の種類や色などを設定し,マケ語を熟知しているユーザの習慣に合わせて設定します.

    • よくある質問

      指標の作成過程でよく見られるものについて問題書き込みの際に注意を払うべき点は,通常 (継続的な補完) です.

      • ポイントを注意してください;終わりです.

      • システムキーワードは変数宣言として使用できません.

      • 文字列の使用に注意してください単引数例えば:'开仓'この文字列は

      • コメント

        コメント

        • // 注释内容実行中にコードがコンパイルされていないことを表します.//後に示した内容は,通常,コードの意味を表示するために使用され,コードを簡単に読み返し,理解し,記憶することができます.

        • { 注释内容 }ブログの記事へのトラックバック

          A:=MA(C,10);
          {上一行代码是计算均线。}
          
        • (* 注释内容 *)ブログの記事へのトラックバック

          A:=MA(C,10);
          (*上一行代码是计算均线。*)
          
      • 入力方法

        コードを書くとき,入力方法の英語への切り替えにより,しばしば符号の誤りが発生します.以下のようないくつかの種類があります.:終わり符;コマ,括弧()漢字は中国語と英語の間で異なる文字で,注意が必要です.

        検索ドッグ,バウダ,Bingの入力方法を使用すると,shift中国語・英語を切り替えるボタンをクリックします.

      • 誤った論理

        1. 最低,最小,最小:対応する関係演算子>=
        2. 最大,最大,最小:対応する関係演算子<=
      • ポリシーは同期を開始します.

        未来戦略では,戦略ロボットが起動する前に,手動に開かれたポジションが保有されている場合,ロボットが起動すると,保有情報を検知し,実際の保有状態と同期します. 戦略的に使うことができます.SPBPCLOSEOUT命令は平衡した.

        %%
        if (!scope.init) {
            var ticker = exchange.GetTicker();
            exchange.Buy(ticker.Sell+10, 1);
            scope.init = true;
        }
        %%
        C>0, CLOSEOUT;
        
      • 双方向持株をサポートしない

        マンガ語では,同じ契約をサポートせず,複数の空白を同時に保持しています.

  • K線データ参照

    • オープン

      K線図の開通価格を得るために.

      開始価格

      機能:OPEN,簡略 O

      パラメータ: 無

      説明: "このサイクル"の開通価格に戻る

      シリアルデータ

      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简写)。
      
    • 高い

      K線図の最高値を得ました.

      最高価格

      HIGH,簡略化したH

      パラメータ: 無

      説明: "このサイクル"の最高値に戻す

      シリアルデータ

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

      K線図の最低価格を得るために

      最安値

      機能:LOW,略してL

      パラメータ: 無

      説明: "このサイクル"の最低値に戻す

      シリアルデータ

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

      K線グラフの収束価格を得ました.

      閉店価格

      機能:CLOSE,簡略化 C

      パラメータ: 無

      説明: "このサイクル"の閉店価格に戻る

      シリアルデータ

      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

      K線図の取引量を得る.

      取引量

      機能:VOL,簡略 V

      パラメータ: 無

      説明: "このサイクル"の取引量を返します

      シリアルデータ

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

      取引先の総所持量 (株) を取ります.

      OpenInterest:OPI;
      
    • REF

      フォローする.

      引用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 取加载数据合约的交易单位。
      

      デジタル通貨の現金

      UNIT は 1 です.

      デジタル通貨の先物

      UNITの値は,契約通貨に関連しています.

      OKEX期货币本位合约:BTC合约1张代表100美元,其它币种的1张合约代表10美元
      
    • 価格について

      データ契約の最小変動価格.

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

      取引契約の最小変動価格.

      取交易合约的最小变动价位。
      用法:
      MINPRICE1; 取交易合约的最小变动价位。
      
  • 時間関数

    • バルポス

      線がどこに位置するか.

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

      DAYBARPOSは,K線BARをその日の第10のK線BARとする.

    • 期間

      周期値は数分である.

      1, 3, 5, 15, 30, 60, 1440
      
    • 日付

      日付DATE関数は,この周期が 1900年以降の年月日を取得します.

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

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

      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,返回某周期的小时数。
      
      注:
      HOUR的取值范围为0—23
      
      例1:
      HOUR=10;                                   // 在10:00的K线上返回值为1,其余K线上返回值为0
      
    • 1分前

      ありがとうございました.

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

      週数を得ました.

      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;
      
  • 論理判断関数

    • バルストータス

      元の位置に戻す.

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

      メディアは,

      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 (COND) は,現在のサイクルから計算し,条件を連続的に満たす周期数を統計する.

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

      交差関数.

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

      横断する

      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(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(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(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 について

      条件関数.

      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

      条件関数.

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

      公式表現をサポートします.

      契約の判断

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

      取引所の名前を判断する

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

      陰茎は

      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 について

      プレート.

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

      周期が最後のK線であるかどうかを判断します.

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

      任意の空白値を判定します.

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

      太陽の光は

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

      返される値は,

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

      価値を取ること.

      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,说明当天不满足跳空高开条件
      
  • ループ実行関数

    • ロップ2

      循環条件関数.

      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;
      
  • 金融統計関数

    • バースカウント

      最初の有効周期から現在の周期数まで.

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

      条件が設定された場所です.

      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线根数
      

      解説BARSLAST機能:

      • 1,現在の線条件が成立した場合 0 を返します.
      • 2、成立しない場合は,条件が成立した線Kを見つけるまで,遡及周期を返す.
      • 3, 条件が成立したK線が最後に戻っても見つからない場合は,無効値を返します.
    • バースインス

      最初の条件は,現在の周期数まで成立する.

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

      統計 N 周期の中で最初の条件が現在の周期数に成立する.

      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周期内第一次满足阳线到当前的周期数
      
    • コントロールバー

      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(COND,N),统计N周期中满足COND条件的周期数。
      
      注:
      1、N包含当前k线。
      2、若N为0则从第一个有效值算起。
      3、当N为有效值,但当前的k线数不足N根,从第一根统计

もっと

98K-シリーズ高級取引指標k線でj1を通過し,陽線がj1に止まった後,再びj1を押して開きます. 復元可能な時に,陰線でj1に止まらず,開きます. 小夢先生,どこで間違えたのか教えて下さい. D1:=if ((jk<0 && CROSS ((close,j1) and CLOSE>OPEN and close>j1,j1,0); D1,BK; /upload/asset/2af6fee82ea8bb3725687.png 投稿日:

98K-シリーズ高級取引指標国内愛取引プラットフォームは,マール語の関数データベースがあり,後には互換性があるかどうかわからない. 互換性トレードビューの関数のように,双方の指標戦略は,直接発明者に平移して量化することができます.

98K-シリーズ高級取引指標isLast ((x) 関数説明:現在のデータが最後のデータであるかどうかを判断する.この関数は発明者側にあるか.

wanghehe711@qq.comマンガ語は実体盤の多種化を実現できるのか?

クリームだMARK を掛けるには,JAVA や PYHON が組み込まれている必要がありますか? 例を教えて下さい.

OKEX契約のAPIにアクセスできますか?

発明者 量化 - 微かな夢この辺を見てください.

発明者 量化 - 微かな夢この isLast コマンドはサポートされていません.

発明者 量化 - 微かな夢言語は単一品種単一プラットフォーム戦略であり,単一品種,単一アカウントのみを操作する.

発明者 量化 - 微かな夢このデザインは比較的複雑で,挂行リストのポリシーの場合,直接JS,PYのポリシーを書くことをお勧めします.

発明者 量化 - 微かな夢OKEX 契約のサポートも可能です.