avatar of 发明者量化-小小梦 发明者量化-小小梦
konzentrieren Sie sich auf Private Nachricht
4
konzentrieren Sie sich auf
1271
Anhänger

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

Erstellt in: 2016-04-06 10:17:26, aktualisiert am: 2020-01-13 15:17:11
comments   13
hits   7394

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:

Parameter beschreiben Typ Standardwerte
FastPeriod Eintrittsschnelllaufzeiten Zahlenart 3
SlowPeriod Eintritts-Lowline-Zyklus Zahlenart 7
EnterPeriod Beobachtungszeit für die Markteinführung Zahlenart 3
ExitFastPeriod Kurzstrecken-Periode Zahlenart 3
ExitSlowPeriod Langzeitschleife Zahlenart 7
ExitPeriod Beobachtungszeit Zahlenart 1
PositionRatio Positionsanteil Zahlenart 0.8
Interval Umfragezeit (in Sekunden) Zahlenart 10

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

  • 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.

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

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.

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

Festes Angebot

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

30 Zeilen Code entführen Sie in die Welt des quantitativen Investierens

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