30行のコードで 量的な投資の世界に足を踏み入れます

作者: リン・ハーン小さな夢, 2016-04-06 10:17:26 に作成, 2020-01-13 15:17:11 に更新されました

極度に簡素化された平均線戦略 30行で正の収益システムを構築する

30行コードです! 30行だけですが,私はそれを調べるのに慣れています. コード,それはマクロを理解します!

戦略パラメータは以下の通りです.

パラメータ 記述 タイプ デフォルト値
速報期間 市場へのアクセス 数字型 (number) 3
スロー 期間 市販のスローラインサイクル 数字型 (number) 7
期間を入力 市場投入の観察期間 数字型 (number) 3
退去 速報 市場からの快線サイクル 数字型 (number) 3
退場 ゆっくりとした期間 市場からのスローラインサイクル 数字型 (number) 7
退会期間 販売終了時の観察期間 数字型 (number) 1
位置比 ポジション比率 数字型 (number) 0.8
インターバル ランキング周期 ((秒) 数字型 (number) 10

img

  • 輸入しました交易类库簡単に戦略を書き,買うか売るかなどに悩む必要はありません.
  • コードを読みながら,宣言されていない変数を発見すると困惑すると,グループに答えます.
function main() {
    var STATE_IDLE  = -1;
    var state = STATE_IDLE;
    var opAmount = 0;
    var initAccount = $.GetAccount();
    Log(initAccount);
    while (true) {
        if (state === STATE_IDLE) {
            var n = $.Cross(FastPeriod, SlowPeriod);
            if (Math.abs(n) >= EnterPeriod) {
                opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
                var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
                if (obj) {
                    opAmount = obj.amount;
                    state = n > 0 ? PD_LONG : PD_SHORT;
                    Log("开仓详情", obj, "交叉周期", n);
                }
            }
        } else {
            var n = $.Cross(ExitFastPeriod, ExitSlowPeriod);
            if (Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0) || (state === PD_SHORT && n > 0))) {
                var obj = state === PD_LONG ? $.Sell(opAmount) : $.Buy(opAmount);
                state = STATE_IDLE;
                var nowAccount = $.GetAccount();
                LogProfit(nowAccount.Balance - initAccount.Balance, '钱:', nowAccount.Balance, '币:', nowAccount.Stocks, '平仓详情:', obj, "交叉周期", n);
            }
        }
        Sleep(Interval*1000);
    }
}
  • この策略には,主関数 function main (−) が1つしかなく,他の関数モジュールも存在しない. 主関数の中にループがある.
  • QQグループで共有しています. 初心者の生徒が簡単に読み取れるようにしました.
  • 公式のQQグループに参加していない方は,ぜひ参加してください. 309368835 発明者 定量化 EA交流 (原BotVS) 〜 策略は何十行ものコードで,とてもシンプルです!
  • Javascript の基礎知識を持たない生徒のために,ここで文法について簡単に説明します.

変数宣言

キーワードでvar+ 変数の名前 例えばvar name = “小明”

循環

while(循环条件){
    // 将会重复执行的代码
}

ループ条件が真である場合,{}内のコードを繰り返し実行します.ループ条件が偽である場合,ループを跳ね出します.

条件 支店

if (判断条件){
    // 执行代码
} else {
    // 执行代码
}

簡単に訳すと,もし (true) {このコードを実行する}

評価

"つ=代数で表します.

name = “张三”;

張三の名前を名に変えて 比較等しいと間違えるのは簡単です 比較して==2つの等号で, 例“张三”==“李四”明らかにチャン3はリー4ではない“张三”==“李四”偽物として.

関連API

デモンストレーション策略を書く前に,策略で使用されたAPIとテンプレートの輸出関数を整理し,発明者の量化で詳細なAPIドキュメントとテンプレートのソースコード説明があります.

  • $.GetAccount 関数: 交換所のアカウント情報を得るためのテンプレート輸出関数
  • ログ関数:API,ログに情報を出力,数字表示など
  • $.Cross関数: 模板輸出関数,均線指標の交差状況を検出する
  • $.Buy関数: 購入操作のためのテンプレート輸出関数
  • $.Sell関数: テンプレートの輸出関数,操作を販売するために使用される
  • LogProfit関数:API,収益を出力するために,関数が2番目のパラメータから他の情報を追加することができます
  • スリープ機能:API,プログラムを一時停止させ,パラメータ単位はミリ秒である.

策略コードは,JavaScriptのライブラリ関数,オブジェクトメソッドも使用しています.

  • Math.abs (()) 関数: 参数の絶対値を返す
  • Number オブジェクトの toFixed ((() 関数: 参数により小数値を四桁五進に入れる. 注意,関数は文字列として返される.
  • parseFloat 全域関数: 文字列参数を浮点数に戻す.

上記の Javascript に関する情報は: JavaScript Number オブジェクトhttp://www.w3school.com.cn/jsref/jsref_obj_number.asp勉強する

プログラムプロセス図 手書き 道具なしで絵を描く アマチュア

img

戦略を一歩ずつ構築する

策略プログラムには,main()基本的には,この関数から実行される.

img

img

img

img

img

リアルディスク

簡単に30行の戦略で完了しました! コードをホストロボットにデプロイして,それを実行します. Running! 策略が実行され,購入操作が開始される.

img

発明者量化で,このような簡潔なコードを提供して,多くの発明者量化で,学習を向上させ,多くの量化技師と一緒に進歩するための多くのオープンソース戦略があります.

官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。

ビデオ教科書

http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html

参考資料


関連性

もっと

FMZ_JHAPI内の$.GetAccount関数は,exchange.GetAccount ()) に更新されましたか?

ウォジウシは,彼らのために,暗号は理解していますが,この戦略が実際に実行される機能はわかりません.

:)この記事の内容は,この記事で紹介しています.

イルイ2u土地所有者の教材はとても良く書かれています,ありがとう!

ビンコインありがとうございました.私は勉強しています.

ショートライン王勝は高価格戦略を売る詳細に. 美は早々に死んだ.

小さな夢$.GetAccountはFMZテンプレートの輸出関数である. (テンプレートは再利用可能なコードである.API文書のテンプレートの説明を参照してください). $.GetAccountはこのテンプレートの輸出関数である:https://www.fmz.com/strategy/10989). 上記の策略はコードの一部に過ぎず,策略パラメータ設定はありません. 完全な策略は,策略スクエアで30行の均線策略を検索できます.

ウォジウシは,彼らのために,ありがとうございました.

小さな夢2つの均線で,高速線がスローラインを通過する. 一般的には買い信号で,上昇する可能性が高い.高速線の下のスローラインは通常,売り信号で,下落する可能性が高い. このような繰り返しの操作によって,市場の上昇傾向で利益を得ることができます.

小さな夢この記事へのトラックバック一覧です.

小さな夢応援ありがとうございました.