Type/to search
8
Follow
1365
Followers
30行のコードで定量投資の世界へ
FAQ
Created 2016-04-06 10:17:26  Updated 2020-01-13 15:17:11
 13
 7759

30行で正の利益システムを作ります.

プログラミングは30行のコードで,私は30行のコードを習得し,それを全体的に理解する.

ポリシーのパラメータは以下の通りです.

パラメータ説明するタイプデフォルト値
FastPeriod市場への入札速報サイクル数字型 ((number))3
SlowPeriod市場への入場のローラインサイクル数字型 ((number))7
EnterPeriod入市観察期数字型 ((number))3
ExitFastPeriod離市快線周期数字型 ((number))3
ExitSlowPeriod離市慢線周期数字型 ((number))7
ExitPeriod都市からの観察期数字型 ((number))1
PositionRatioポジション比率数字型 ((number))0.8
Interval投票回数 (秒)数字型 ((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 (()) のみで,他の関数モジュールはない。主関数内のループのみである。
  • QQグループで共有されているこの戦略のコード注釈版は,初回学習中の同級生が,学習に便利な注釈をご覧いただけます.
  • 公式のQQグループに登録していない方はご参加ください: 309368835 発明者 量化EA交流 (原BotVS) 〜 策略は数十行のコードで,簡潔です!
  • JavaScriptの基礎知識のない生徒を気遣うため,簡単な文法で説明します.

変数の宣言

キーワードを使ってvar+ 変数の名前var name = “小明”

循環する

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

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

条件分岐

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

簡単に訳すと,このコードを実行すると,

付与する

1つ=例えば,この2つの数字は

name = “张三”;

比較と等しいと間違えるのは簡単です.
比較してみると==この2つの等号は
例を挙げると“张三”==“李四”チャン・三はリー・四ではない.“张三”==“李四”偽物だとか

関連API

策略をデモンストレーションする前に,策略で使用されているAPIとテンプレートエクスポート関数を整理します. 詳細なAPIドキュメントとテンプレートソースコードの説明は,InventorQuantificationに記載されています.

  • $.GetAccount関数: 取引所のアカウント情報を取得するためのテンプレートエクスポート関数
  • ログ関数:ログに情報を出力し,数値を表示するAPI
  • $.Cross関数:均線指標の交差を検出するためのテンプレート輸出関数
  • $.Buy関数:購入操作のためのテンプレートエクスポート関数
  • $.Sell関数: テンプレートエクスポート関数で,販売操作を行う.
  • LogProfit関数:API,収益の出力用,関数は2番目のパラメータから他の情報を追加できます
  • Sleep関数:API,プログラムが一時停止するようにする,パラメータ単位はミリ秒である。

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

  • Math.abs () 関数: 参数に対する絶対値を返します.
  • Number オブジェクトの toFixed () 関数: 参数によって小数の四辺五入を保持する. 注意,関数は文字列として返される
  • parseFloat グローバル関数: 文字列参数 浮点数 を返す.

上記のJavascriptに関する情報は,JavaScript Number オブジェクト http://www.w3school.com.cn/jsref/jsref_obj_number.asp で学ぶことができます.

プログラム・フローズ・グラフ 手描き 道具を使わずに 素人 ありがとう

img

戦略を段階的に構築する

戦略プログラムへの入口にはmain()関数,つまり,策略は,main関数から実行されます.

img

img

img

img

img

確定オファー

この30行という簡単な戦略で完了です! コードをホストロボットに配置し,
Running!戦略が起動し,操作を購入する。。。。

img

InventorQuantumは,このような簡潔なコードを提供してくれて感謝します. InventorQuantumには,多くのオープンソースの戦略が利用できます.

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

ビデオによる指導

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

参考資料

Related Recommendations
Comment
All comments (11)

    API中的$.GetAccount函数是不是更新成exchange.GetAccount()了?

    6 years ago

    $.GetAccount 是FMZ 模板的导出函数(模板就是可复用的代码,参看API 文档上模板的描述)。 $.GetAccount是这个模板:https://www.fmz.com/strategy/10989 的导出函数。
    上面的策略只是代码部分,没有策略参数设置,完整的策略可以在策略广场搜索30行均线策略。

    6 years ago

    代码看懂了 但是不知道这个策略究竟实现了什么功能

    10 years ago

    就是2条均线,快线上穿慢线 一般是买入信号,上涨概率较大(程序自动买入操作)。 快线下穿慢线一般是卖出信号,下跌概率较大(程序自动卖出)。通过这样反复操作 在行情上升趋势中可以攫取利润。

    10 years ago

    原来这样啊 非常感谢

    10 years ago

    感谢小小梦,你的文章写得真好。

    10 years ago

    楼主的教程写得太好了,谢谢!

    10 years ago

    谢谢楼主,我要好好学习

    10 years ago

    不客气,以后还要做更多的学习资料,谢谢支持!

    10 years ago

    够详细。早早有就美死了

    10 years ago

    以后继续出品!谢谢支持。

    10 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)