新人,チェックアウト 暗号通貨量的な取引にあなたを連れて行く (4)

作者: リン・ハーンニナバダス作成日:2022年4月18日 14:16:06 更新日:2022年4月18日 15:39:07

新人,チェックアウト 暗号通貨量的な取引にあなたを連れて行く (4)

最初の数記事では,暗号通貨のサークルの多くの基本的な概念や,プログラムおよび定量的な取引について学びました. 最後に,メイントピックに切り込み,戦略そのものに話をします. この記事では,簡単な戦略を実装することを学びます. [グリッド戦略]について,取引を行う学生は,それを聞いたはず, しかし,あなたがしていない場合,それは問題ではありません.プラットフォーム最も一般的に用いられる戦略はグリッド戦略しかし,各プラットフォームが提供するグリッド戦略の機能と詳細は異なります. 暗号通貨のサークルに定量化に入ることを計画しているので,なぜグリッド戦略を自分で実装しないのでしょうか?

学生の中には こう言う人もいるでしょう コードを書けない! 暗号が私を不安にさせる!

それは本当です.コンピュータソフトウェアを専攻していない学生やプログラミング作業に従事していない学生にとって,完全な取引戦略を自分で開発することは非常に困難です. プラットフォームインターフェースをドッキングする一連の事前作業を行う必要があるからです (おそらくあなたの取引論理プログラムはわずか100行ですが,他のコーディング作業はかなり多く,取引論理を書くよりも困難です.)

この時点で,非常に便利なツールを持っている場合,それはかなり簡単になります.少なくとも難易度は70%削減されます. あなたは,あなたがちょうど取引論理を書く場合,他の作業,ドッキングプラットフォームインターフェース,署名検証,設定ファイル,オペレーティング環境構築,UIインターフェース書き,インタラクティブな書き,その他の機能を含む想像することができます.

信じないの? やってみよう!

シンプルなスポットグリッド戦略を実践する

FMZ 量子取引プラットフォーム (FMZ.COM) ネットワーク戦略設計の核心は,実際には,ネットワークの購入と販売の論理である.したがって,これは戦略を設計する前に明確化されなければならないものです.私たちの目標は,戦略設計を単純で理解しやすいものにすることです.したがって,パラメータが少なく,論理が単純であればあるほど,それはよりよいです.

戦略を策定する基本手順は次のとおりです.

  • 1.戦略の要望の概要

    FMZは,戦略のコードを実際に書く前に,その情報を文書 (ノートブックのようなもの) に書き込むことができます. FMZで戦略を開発することは非常に簡単です.プラットフォームは,これらの要件に対するソリューションを提供します.そして,これらの要件をノートブックに書き込む必要はありません. 戦略の要件を直接戦略ノートに書き込むことができます.

    img

    戦略の要件を書き続ける (これらの要件は変わっていません.同時に記録し,開発することができます).

    • この戦略はスポットタリング戦略として設計されています.XXX_USDT例えばBTC_USDT.
    • 格子には等差の間隔が設計されています. 単純に言うと,格子内の隣接する2つの点間の間隔は固定した幅です.
    • 無限に広がるような格子です この格子には
    • 注文の方法は市場秩序を利用します
  • 2.グリッドデータ構造を構築する:

    わかりにくいアイデアは 初期から分析できます

    img

    グリッドは,ベースポイントから上下の両方向に構築することができます. 初期価格. いわゆるグリッドは,オファーラインとオファーラインの層で構成されています. グラフを見ると,各ラインには2つの可能性があることがわかります.

    1. 価格を上昇させる
    2. 価格を下げて
      価格が上昇した後,価格が下がると,売り込み,利益を得ます. 価格が下がるということは 価格が下がっているということです 価格が下がった後 価格が上昇すると 売り買いして 利益を得ることが必要です したがって,各グリッドラインには,2つの取引方法があります. 購入 (オファー) と販売 (要求). さらに,各グリッドラインには固定属性があり,これは図に示されているA,B,C,Dのようなラインでマークされた価格です. 戦略を策定する際には まずどういうこと?そして,それを行うのに便利になります.

    格子データ構造を構成する関数をコードする:

    function createNet(begin, diff) {   // begin and diff are parameters; begin is the initial price, and diff is the grid interval (the interval of the equal difference grid is a price)
        var oneSideNums = 10            // The grid generates 10 lines on both upward and downward sides. The above image only shows the situation of generating 2 lines on both sides (A and B on on side; C and D on the other side), and you can imagine the situation of generating 10 lines.
        var up = []                     // used to store the data structure of the upward "grid lines"
        var down = []                   // used to store the data structure of the downward "grid lines"
        for (var i = 0 ; i < oneSideNums ; i++) {    // determine the number of times according to the number of oneSideNums; construct the "grid line" data structure by loop 
            var upObj = {                            // construct the data structure of a upward "grid line"
                buy : false,                         // buy mark; the initial mark is false, which means no buying 
                sell : false,                        // sell mark ...
                price : begin + diff / 2 + i * diff, // the price position represented by the "grid line", which can be observed and processed according to the loop; the price position is getting higher successively
            }
            up.push(upObj)                           // put the constructed "grid line" data structure into the up array 
    
            var j = (oneSideNums - 1) - i            // when in the loop, j changes from 9 to 0 
            var downObj = {
                buy : false,
                sell : false,
                price : begin - diff / 2 - j * diff,
            }
            if (downObj.price <= 0) {                // the price cannot be less than or equal to 0 
                continue
            }
            down.push(downObj)                       // put the constructed "grid line" data structure into the down array 
        }    
    
        return down.concat(up)                       // add "up" after "down", forming a grid array structure with grid line prices from low to high 
    }
    

    機能は個別に実行して結果を見ることができます. FMZ の"デバッグツール"や"バックテストシステム"は,この種のショートコードをデバッグするのに非常に便利です.

    img

    構築されたデータは観察できる.

    [
        {"buy":false,"sell":false,"price":5},
        {"buy":false,"sell":false,"price":15},
        {"buy":false,"sell":false,"price":25},
        {"buy":false,"sell":false,"price":35},
        {"buy":false,"sell":false,"price":45},
        {"buy":false,"sell":false,"price":55},
        {"buy":false,"sell":false,"price":65},
        {"buy":false,"sell":false,"price":75},
        {"buy":false,"sell":false,"price":85},
        {"buy":false,"sell":false,"price":95},
        {"buy":false,"sell":false,"price":105},  // 100 is the initial price, the first line goes up is from 105, and the interval is 10 
        {"buy":false,"sell":false,"price":115},  // ... 
        {"buy":false,"sell":false,"price":125},
        {"buy":false,"sell":false,"price":135},
        {"buy":false,"sell":false,"price":145},
        {"buy":false,"sell":false,"price":155},
        {"buy":false,"sell":false,"price":165},
        {"buy":false,"sell":false,"price":175},
        {"buy":false,"sell":false,"price":185},
        {"buy":false,"sell":false,"price":195}
    ]
    
    1. 取引論理分析

    グリッドのデータ構造を分析した後,グリッド戦略の特定の取引論理を考慮する必要があります. 実際,購入と販売の論理も非常にシンプルです.上記の図で既に描きました. 購入は特定の線をダウンクロスすることを意味し,販売は特定の線をアップクロスすることを意味します. では,アップクロスとダウンクロスすることをどのように表現しますか? それはまた非常にシンプルです.判断するには,2つの瞬間の価格ポジションを比較するだけです.

    前の写真からお見せしますimg

    線 C が上向きに交差しているかどうか判断するには,P1 < CそしてP2 > C- わかった B線が横切れているかどうか判断するには,P1 > BそしてP3 < B- わかった 格子配列の各線を横断するだけです (横断は通常ひとつずつチェックする縦横か下横か判断する 簡単ですか?

    価格の上昇と減少の動きを捉えました.これらの動きが引き起こすときに注文できますか? 明らかにそれは不可能です.価格が1行で繰り返し上下すると,同じ価格で繰り返し取引する処理手数料を無駄にしないでしょうか.したがって,上下交差を誘発した後,まだ一連の判断条件があります.これは,私たちが構築したグリッドラインデータ構造 (例えば: {buy:false,"sell ":false,price:5}) で購入/販売マークを使用する必要があります.

この 記事 を 読ん で くださり,次 の 記事 で 説明 と 研究 を 続け て ください.


もっと