Type/to search
8
Follow
1365
Followers
30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens
FAQ
Created 2016-04-06 10:17:26  Updated 2020-01-13 15:17:11
 13
 7758

30 Zeilen, um ein positives Ertragssystem zu schaffen

Das ist richtig! Du hast richtig gehört, es sind 30 Zeilen Code! Nur 30 Zeilen Code. Ich bin es gewohnt, zuerst den ganzen Code zu lesen, damit ich einen umfassenden Einblick habe!

Die Strategieparameter sind wie folgt:

ParameterbeschreibenTypStandardwerte
FastPeriodEintrittsschnelllaufzeitenZahlenart3
SlowPeriodEintritts-Lowline-ZyklusZahlenart7
EnterPeriodBeobachtungszeit für die MarkteinführungZahlenart3
ExitFastPeriodKurzstrecken-PeriodeZahlenart3
ExitSlowPeriodLangzeitschleifeZahlenart7
ExitPeriodBeobachtungszeitZahlenart1
PositionRatioPositionsanteilZahlenart0.8
IntervalUmfragezeit (in Sekunden)Zahlenart10

img

  • Importiert.交易类库Es ist einfach, Strategien zu schreiben, ohne sich mit der Frage zu beschäftigen, ob man kaufen oder verkaufen soll.
  • Wenn Sie beim Lesen des Codes verwirrt sind, weil Sie eine Variable entdecken, die nicht deklariert wurde, antworten Sie in der Gruppe.
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); } }
  • Diese Strategie hat nur eine Hauptfunktion, die Funktion main (), ohne andere Funktionsmodule. In der Hauptfunktion gibt es nur eine Schleife.
  • Ich habe die Code-Kommentare zu dieser Strategie in der QQ-Gruppe veröffentlicht, sodass die Kommentare für die ersten Schüler zugänglich sind.
  • Hier gibt es keine offiziellen QQ-Gruppen, bitte melden Sie sich bei: 309368835 Erfinder Quantify EA Exchange (Original BotVS). Die Strategie ist einfach, nur ein paar Dutzend Zeilen Code!
  • Um den Schülern, die noch keine Kenntnisse der Javascript-Sprache besitzen, zu helfen, haben wir hier eine einfache Grammatik vorgestellt, damit sie den Code nicht missverstehen.

Variablenerklärung

Mit Schlüsselwörternvar+ Variablen-Namen, zum Beispielvar name = “小明”

Der Kreislauf

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

Code innerhalb von {} wird wiederholt ausgeführt, wenn die Loopbedingung wahr ist. Wenn die Loopbedingung falsch ist, wird aus dem Loop ausgetreten.

Bedingte Abzweigung

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

Es ist sehr einfach, es wird übersetzt als wenn (wahr) (durchführen) (durchführen)

Wertzuweisung

Eine.=Die Zahl ist eine Zuteilung, z.B.

name = “张三”;

Ich denke, es ist einfach, den Namen von Yang Zhang Sanhui zu verwechseln mit dem Namen von Yang Zhang Sanhui, weil es leicht ist, mit der Gleichung zu verwechseln.
Vergleiche==Zwei gleichwertige Zahlen.
Beispiel.“张三”==“李四”Es ist offensichtlich, dass Zhang Tsang nicht Li Zhi ist.“张三”==“李四”Das ist falsch.

Verwandte APIs

Bevor wir die Strategie demonstrieren, durchsuchen wir die API- und Template-Export-Funktionen, die in der Strategie verwendet werden. Die detaillierte API-Dokumentation und der Template-Sourcecode sind auf der Inventor-Quantifizierung enthalten.

  • $.GetAccount-Funktion: Template-Exportfunktion, um Informationen über die Accounts der Börse zu erhalten
  • Log-Funktion: API zur Ausgabe von Informationen an Logs, Anzeige von Werten usw.
  • $.Cross-Funktion: Template-Export-Funktion zur Überschneidung von Mittellinien
  • $.Buy-Funktion: Template-Export-Funktion, die für Kaufoperationen verwendet wird
  • $.Sell-Funktion: Schablonen-Export-Funktion für Verkaufsaktionen
  • LogProfit-Funktion: API zur Ausgabe von Gewinne, Funktionen, die weitere Informationen aus dem zweiten Parameter erhalten
  • Die Sleep-Funktion: API, die das Programm für eine kurze Zeit pausiert. Die Parameter sind in Millisekunden festgelegt.

Der Code der Strategie nutzt auch die Bibliotheksfunktionen und Objektmethoden von Javascript.

  • Math.abs() Funktion: Gibt die absoluten Werte der Parameter zurück
  • Die toFixed () -Funktion des Number-Objekts behält die kleinste Ziffer in der Parameterrundung. Bitte beachten Sie, dass die Funktion als String zurückgegeben wird
  • parseFloat globale Funktion: Gibt eine String-Argumentation zurück.

Weitere Informationen zu Javascript finden Sie unter: JavaScript Number Object http://www.w3school.com.cn/jsref/jsref_obj_number.asp

Die Prozesspläne sind handgefertigt, ohne Werkzeuge zu benutzen.

img

Schritt für Schritt bauen wir unsere Strategie auf

Das ist eine sehr wichtige Frage, die wir uns stellen müssen.main()Funktionen, also Strategien, die von der main-Funktion ausgehen.

img

img

img

img

img

Festes Angebot

Das ist die einfache 30-Zeilen-Strategie!
Die Running!-Strategie ist in Betrieb, kaufen Sie den Betrieb.

img

Dank Inventor Quantify können Sie mit diesem vereinfachten Code viele Open-Source-Strategien für Inventor Quantify erlernen und verbessern, um mit vielen anderen Künstlern zusammenzuarbeiten.

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

Videounterricht unterstützt

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

Verweise

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)