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

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Erstellt in: 2022-02-07 09:12:36, aktualisiert am: 2024-12-02 21:32:43
comments   5
hits   3858

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Als Lehrstrategie bietet es sich natürlich an, gewisse praktische Leistungen zu berücksichtigen. Die „Martin-Strategie für Kryptowährungs-Futures“ wird seit fast einem halben Jahr im Watch-Bereich von FMZ.COM angezeigt. Nach vielen Höhen und Tiefen stellt man fest, dass Martin- und Grid-Strategien ihre Risiken und Mängel haben und konservative Parameter nicht bedeuten, dass sie nicht verwendet werden können.

  • Binance Futures Live

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

  • Livestream von dYdX

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Herr Meng garantiert, dass zur „Herstellung“ der Renditekurve (manueller Hundekopf) absolut keine Aufladung erforderlich ist.

Allerdings war die erste Version des Strategieentwurfs ziemlich grob. Auf der Schnittstelle gab es nur eine Ausgabe der Positions- und Gesamtkapitaldaten und die Renditekurve druckte nur den realisierten Gewinn und Verlust aus, ohne den schwebenden Verlust zu berücksichtigen. Viele Studienanfänger beschwerten sich darüber und wünschten sich eine Optimierung der Darstellung.

Lassen Sie uns in diesem Artikel diese Strategie, die seit einem halben Jahr in der Praxis angewendet wird, verbessern.

Upgrade-Plan

  • Die Statusleistenanzeige wurde aktualisiert, um aktuelle Positionsinformationen anzuzeigen, anstatt eine Reihe von Daten auszudrucken. Zeigt das aktuelle Gesamteigenkapital, den schwebenden Gewinn und Verlust sowie den tatsächlichen Gewinn und Verlust (Gesamtgewinn und -verlust einschließlich schwebender Gewinne und Verluste) an.
  • Das Marktdiagramm wird angezeigt und die aktuelle Position der ausstehenden Order wird angezeigt.

Die Richtlinienversion vor dem Upgrade wird auf der Hinweisseite der Richtlinie aufgezeichnet.

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Dies ist auch meine persönliche Entwicklungsgewohnheit. Es ist sehr praktisch, jedes Detail der Strategieentwicklung und -iteration auf FMZ.COM aufzuzeichnen.

Beginnen Sie mit dem Upgrade! Lassen Sie uns zunächst die Anzeige der „Statusleiste“ optimieren. Studenten, die mit den Entwicklungsdokumenten von FMZ vertraut sind, wissen, dass die Statusleistendaten in FMZ mitLogStatusFunktion. Dann finden wir diesen Einstiegspunkt und beginnen mit der Gestaltung des Codes.

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Fügen Sie als Nächstes hier einen großen Codeabschnitt hinzu:

                    var tblPos = {
                        "type" : "table",
                        "title" : "持仓",
                        "cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField],
                        "rows" : []
                    }
                    var descType = ["多头仓位", "空头仓位"]
                    for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) {
                        tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]])
                    }
                    
                    var tbl = {
                        "type" : "table",
                        "title" : "数据",
                        "cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"],
                        "rows" : []
                    }
                    var buyOrder = null 
                    var sellOrder = null 
                    for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) {
                        if (orders[orderIndex].Type == ORDER_TYPE_BUY) {
                            buyOrder = orders[orderIndex]
                        } else {
                            sellOrder = orders[orderIndex]
                        }
                    }
                    var realProfit = currTotalEq - totalEq
                    if (exchange.GetName() == "Futures_Binance") {
                        _.each(pos, function(p) {
                            realProfit += parseFloat(p.Info.unRealizedProfit)
                        })                        
                    }
                    var t = exchange.GetTicker()
                    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
                    
                    // 更新图表数据             
                    if (t && showLine) {
                        _.each(pos, function(p) {
                            $.PlotLine(descType[p.Type] + "持仓价格", p.Price)
                        })
                        $.PlotLine("买单挂单价格", buyOrder.Price)
                        $.PlotLine("卖单挂单价格", sellOrder.Price)
                        $.PlotLine("当前价格", t.Last)
                    }
                    
                    // 更新状态栏数据
                    LogStatus("时间:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")

Ersetzen Sie das bisherige RohölLogStatusAusgabe

LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)

Die Strategie fügt zwei Parameter hinzu:

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

  • showLine-Parameter Wenn diese Option aktiviert ist, können Sie die Bibliothek zum Zeichnen von Linien verwenden, um auf der echten Handelsseite den Positionspreis, den Preis der ausstehenden Bestellung und die aktuelle Preiskurve zu zeichnen.

  • Parameter „SpecifyPosField“ Es wird verwendet, um die ursprünglichen Felder der Positionsinformationen festzulegen, die angezeigt werden müssen, da die Namen der ursprünglichen Datenfelder von Positionen für jede Börse unterschiedlich sind. Daher entwerfen wir hier einen benutzerdefinierten Parameter, um den anzuzeigenden Feldnamen anzugeben. Zum Beispiel mein Binance-Echtgeldkonto:

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Ich möchte das Infofeld der Positionsinformationsdaten (die Originaldaten der Börsenschnittstelle) anzeigenunRealizedProfitAttribut, d. h. der nicht realisierte Gewinn und Verlust der Position. Sie können den Parameter „SpecifyPosField“ auf „unRealizedProfit“ setzen. Es wird in der Statusleiste angezeigt.

Ein derart ähnliches Design ermöglicht es der Strategie, die Ausgabe an nicht einheitliche Daten anzupassen und gibt Benutzern die Möglichkeit, den Ausgabeinhalt individuell anzupassen.

Starten Sie den realen Handel von Binance und dYdX neu, nachdem Sie die Strategie aktualisiert haben

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Aktualisierung! Martingale-Strategie für Kryptowährungs-Futures

Sie erkennen auf einen Blick, welche Daten angezeigt werden sollen. Es ist viel bequemer, den Handelsverlauf der Strategie, den aktuellen Positionspreis, Gewinn und Verlust sowie den Preis der ausstehenden Order zu beobachten. Diese Strategie birgt gewisse Risiken. Bitte legen Sie bestimmte Parameter entsprechend Ihrer eigenen Risikokontrolle fest und tragen Sie Ihre eigenen Gewinne und Verluste. Die Strategie wird nur zu Kommunikationszwecken und zum Lernen offengelegt.