Erhalten Sie das {@struct/Record Record} Strukturarray des Spot- oder Vertrags, das dem aktuell eingestellten Handelspar, dem Vertragskode, d. h. den K-Liniendaten entspricht.
Dieexchange.GetRecords()
Funktion gibt ein Array von {@struct/Record Record}-Strukturen zurück, wenn die Datenanfrage erfolgreich ist, und nullwerte, wenn die Datenanfrage fehlschlägt.
{@struct/Record Record} Arrays, Nullwerte
- Ich bin nicht derjenige, der das Problem hat. - Das ist ein Symbol. Sie werden von der E-Mail-Adresse des E-Mail-Nachrichtendienstes erhalten. exchange.GetRecords (Symbol, Punkt, Grenze) - Ich bin nicht hier. (Veröffentlichung der Veröffentlichung)
Der Parametersymbol
wird verwendet, um das spezifische Handelspaar und den entsprechenden Vertragscode für die angeforderten Arraydaten von {@struct/Record Record} anzugeben. Wenn dieser Parameter nicht übergeben wird, werden standardmäßig die K-Zeilendaten des aktuell eingestellten Handelspaares und des Vertragscodes angefordert.exchange.GetRecords(symbol)
Funktion,exchange
Wenn Sie die Daten mit der in USDT lautenden Währung und der Transaktionswährung als BTC anfordern müssen, wird der Parametersymbol
ist:"BTC_USDT"
, und das Format ist das von der FMZ-Plattform definierte Handelspaarformat.exchange.GetRecords(symbol)
Funktion,exchange
ist das Futures-Austauschobjekt. Wenn Sie die Auftragsbuchdaten von BTCsymbol
ist:"BTC_USDT.swap"
, und das Format ist eine Kombination derHandelspaarundVertragskodedie durch die FMZ-Plattform definiert sind, getrennt durch den Zeichen exchange.GetRecords(symbol)
Funktion,exchange
ist das Futures-Austauschobjekt. Wenn Sie die Auftragsbuchdaten von BTCsymbol
ist:"BTC_USDT.BTC-240108-40000-C"
(beispielsweise Binance Option BTC-240108-40000-C), ist das Format die Kombination derHandelspaarvon der FMZ-Plattform und dem von der Börse definierten spezifischen Optionsvertragskode definiert, getrennt durch den Zeichen period
Der Wert des Parameters ist der Wert der in der Tabelle 1 angegebenen Periode.period
kann nicht nur die definierte Standardperiode, sondern auch ganze Werte in Sekunden überschritten werden. Wird dieser Parameter nicht überschritten, ist die Standardperiode der standardmäßig angeforderten K-Liniendaten die Standardperiode der aktuellen Strategie Echtzeit-/Backtest-Konfiguration.
Periode
falsche
Zahl
Der Parameterlimit
wird verwendet, um die Länge der angeforderten K-Line-Daten anzugeben. Wenn dieser Parameter nicht übergeben wird, ist die Standardanforderung Länge die maximale Anzahl von K-Line-Bars, die zu einem Zeitpunkt der Austausch-K-Line-Schnittstelle angefordert werden. Dieser Parameter kann dazu führen, dass die Paging-Abfrage die Austausch-K-Line-Daten abfragt, und der Zeitverbrauch des Funktionsanrufs wird während der Paging-Abfrage zunehmen.
Grenzwerte
falsche
Zahl
function main() {
// Print K-line data with a K-line period of 120 seconds (2 minutes)
Log(exchange.GetRecords(60 * 2))
// Print K-line data with a K-line period of 5 minutes
Log(exchange.GetRecords(PERIOD_M5))
}
def main():
Log(exchange.GetRecords(60 * 2))
Log(exchange.GetRecords(PERIOD_M5))
void main() {
Log(exchange.GetRecords(60 * 2)[0]);
Log(exchange.GetRecords(PERIOD_M5)[0]);
}
Holen Sie K-Liniendaten für eine individuelle Periode.
function main() {
var records = exchange.GetRecords(PERIOD_H1)
/*
The exchange interface may not be accessible due to network reasons (even if the docker program's device can open the exchange website, the API interface may not be accessible).
At this point, records is null. When accessing records[0].Time, it will cause an error. Therefore, when testing this code, ensure that you can access the exchange interface.
*/
Log("The first k-line data is Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High)
Log("The second k-line data is Time:", records[1].Time ,"Close:", records[1].Close)
Log("Current K-line (latest)", records[records.length-1], "Previous K-line", records[records.length-2])
}
def main():
records = exchange.GetRecords(PERIOD_H1)
Log("The first k-line data is Time:", records[0]["Time"], "Open:", records[0]["Open"], "High:", records[0]["High"])
Log("The second k-line data Time:", records[1]["Time"], "Close:", records[1]["Close"])
Log("Current K-line (latest)", records[-1], "Previous K-line", records[-2])
void main() {
auto records = exchange.GetRecords(PERIOD_H1);
Log("The first k-line data is Time:", records[0].Time, "Open:", records[0].Open, "High:", records[0].High);
Log("The second k-line data Time:", records[1].Time, "Close:", records[1].Close);
Log("Current K-line (latest)", records[records.size() - 1], "Previous K-line", records[records.size() - 2]);
}
Ausgangsdaten der K-Linienbalken:
function main() {
var records = exchange.GetRecords("BTC_USDT.swap", 60, 100)
Log(records)
}
def main():
records = exchange.GetRecords("BTC_USDT.swap", 60, 100)
Log(records)
void main() {
auto records = exchange.GetRecords("BTC_USDT.swap", 60, 100);
Log(records);
}
Wenn die konfigurierteexchange
Objekt ist ein Futures-Börse Objekt, verwenden Sie diesymbol
, period
, undlimit
Parameter zur Anforderung der K-Linie-Daten eines bestimmten Produkts (zukünftiges Produkt).
Die Standard-K-Line-Periode kann in den Backtest- und Real-Trading-Seiten festgelegt werden.exchange.GetRecords()
Wenn beim Aufruf der Funktion kein Parameter angegeben wird, werden die entsprechenden K-Liniendaten gemäß der im Backtest und in den realen Marktparametern festgelegten K-Linienperiode zurückgegeben.
Der zurückgegebene Wert ist ein Array vonRecord
Die Daten werden im Laufe der Zeit akkumuliert, die Obergrenze der akkumulierten K-Linienbalken wird durch dieexchange.SetMaxBarLen()
Die Standardgrenze beträgt 5000 Bars, wenn sie nicht eingestellt ist. Wenn die K-Liniendaten die K-Linienbar-Akkumulationsgrenze erreichen, wird sie aktualisiert, indem eine K-Linienbar hinzugefügt und die früheste K-Linienbar gelöscht wird (z. B. Warteschlange in/aus). Einige Börsen bieten keine K-Linienschnittstelle, so dass der Docker Markttransaktionsdatensätze sammelt (Trade
Struktur-Array) in Echtzeit generiert werden.
Wenn die K-Line-Schnittstelle des Austauschs Paging-Abfragen unterstützt, werden mehrere API-Anfragen gestellt, wenn dieexchange.SetMaxBarLen()
Funktion zur Einstellung einer größeren K-Linienlänge.
Wenn dieexchange.GetRecords()
Die Anzahl der erhaltenen K-Line-Bars unterscheidet sich zwischen dem Backtesting und dem realen Handel: - Das Backtesting-System erhält eine bestimmte Anzahl von K-Line-Bars vor Beginn des Backtesting-Zeitraums im Voraus (Standard ist 5000, die Einstellungen des Backtesting-Systems und die Datenmenge beeinflussen die endgültige Anzahl der zurückgegebenen Daten). - Die Anzahl der während des tatsächlichen Handels erhaltenen K-Line-Bars basiert auf der maximalen Datenmenge, die aus der K-Line-Schnittstelle der Börse gewonnen werden kann.
Dieperiod
Der Parameter ist auf 5 gesetzt, was eine Anforderung ist, K-Liniendaten mit einer Periode von 5 Sekunden zu erhalten.period
Das zugrunde liegende System verwendet die entsprechende Schnittstelle vonexchange.GetTrades()
Um die Daten der Transaktionsprotokolle zu erhalten und die erforderlichen K-Liniendaten zu synthetisieren.period
Wenn der Parameter durch 60 teilbar ist, werden die erforderlichen K-Liniendaten mit mindestens 1-minütigen K-Liniendaten synthetisiert (wenn möglich, werden die erforderlichen K-Liniendaten mit einer größeren Periode synthetisiert).
Das simulierte Level-Backtesting im Backtesting-System erfordert die Einstellung der zugrunde liegenden K-Linienperiode (wenn das Backtesting-System das Level-Backtesting simuliert, werden die entsprechenden K-Liniendaten verwendet, um Tick-Daten gemäß der gesetzten zugrunde liegenden K-Linienperiode zu generieren). Es sollte beachtet werden, dass die Periode der in der Strategie erhaltenen K-Liniendaten nicht kleiner sein sollte als die zugrunde liegende K-Linienperiode.
DieC++
Die Sprache hat das folgende Codebeispiel, wenn Sie Ihre eigenen K-Liniendaten erstellen müssen:
#include <sstream>
void main() {
Records r;
r.Valid = true;
for (auto i = 0; i < 10; i++) {
Record ele;
ele.Time = i * 100000;
ele.High = i * 10000;
ele.Low = i * 1000;
ele.Close = i * 100;
ele.Open = i * 10;
ele.Volume = i * 1;
r.push_back(ele);
}
// Output display: Records[10]
Log(r);
auto ma = TA.MA(r,10);
// Output display: [nan,nan,nan,nan,nan,nan,nan,nan,nan,450]
Log(ma);
}
Dieexchange.GetRecords()
Funktion:
Funktionsname | Nicht unterstützte Spotbörsen | Nicht abgesicherte Futures-Börsen |
---|---|---|
GetRecords | Zaif / Coincheck / BitFlyer | Futures_Aevo |
Die Kommission hat die Kommission aufgefordert, die von ihr vorgenommenen Maßnahmen zu prüfen.
exchange.GetTrades exchange.GetPeriod