現在設定されている取引ペア,契約コード,すなわちKラインデータに対応するスポットまたはコントラクトの {@struct/Record Record} 構造配列を取得します.
についてexchange.GetRecords()
この関数は,データ要求が成功すると {@struct/Record Record} 構造の配列を返し,データ要求が失敗すると null 値を返します.
{@struct/Record Record}配列,ゼロ値
交換.GetRecords (取得記録) 交換.GetRecords (レコードのシンボル) 交換.GetRecords (記号,点) exchange.GetRecords (シンボル,ピリオド,制限) 交換.GetRecords (期間) 交換.GetRecords (期間,制限)
パラメータsymbol
このパラメータが送信されない場合,現在設定されている取引ペアと契約コードのK線データはデフォルトで要求されます.exchange.GetRecords(symbol)
機能exchange
USDT と BTC と取引通貨でデータを取得するために要求する必要がある場合,パラメータsymbol
これは:"BTC_USDT"
FMZ プラットフォームで定義された取引ペア形式です.exchange.GetRecords(symbol)
機能exchange
BTCのU標準永続契約のオーダーブックデータを要求する必要がある場合,パラメータはsymbol
これは:"BTC_USDT.swap"
形式は,トレーディングペアそして契約コードFMZ プラットフォームによって定義され,文字で区切られています.exchange.GetRecords(symbol)
機能exchange
BTCsymbol
これは:"BTC_USDT.BTC-240108-40000-C"
(Binance Option BTC-240108-40000-C を例として) 形式は,トレーディングペアFMZプラットフォームで定義され,取引所によって定義された特定のオプション契約コードは,文字period
要求されたK線データの期間を指定します.例えば: {@var/PERIOD/PERIOD_M1 PERIOD_M1}, {@var/PERIOD/PERIOD_M5 PERIOD_M5}, {@var/PERIOD/PERIOD_M15 PERIOD_M15}など.パラメータの値period
定義された標準周期だけでなく,秒で整数値も通過できます.このパラメータが通過しなければ,デフォルトで要求されるK線データの期間は,現在の戦略リアルタイム/バックテスト構成のデフォルトK線周期です.
期間
偽り
番号
パラメーターlimit
このパラメータが送信されない場合,デフォルトの要求長は,交換K線インターフェースの時点で要求される最大数のK線バーである.このパラメータは,交換K線データをクエリするページングを引き起こし,ページングクエリ中に関数呼び出しの時間の消費が増加する可能性があります.
制限
偽り
番号
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]);
}
カスタム期間のK線データを取得します
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]);
}
出力K線バーデータ:
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);
}
設定されたときexchange
取引対象は,先物として,symbol
, period
そしてlimit
特定の製品 (将来の製品) のK線データを要求するパラメータ
バックテストと実際の取引ページで設定できます. パラメータを指定するとexchange.GetRecords()
函数で,そのパラメータ期間に対応するK線データが取得されます.関数を呼び出すときにパラメータが指定されていない場合は,バックテストと実際の市場パラメータに設定されたK線期間に従って対応するK線データが返されます.
返される値は,数列です.Record
蓄積されたK線バーの上限は,exchange.SetMaxBarLen()
関数設定. 設定されていない場合のデフォルト制限は5000バーです. K線データが K線バー蓄積制限に達すると,K線バーを追加して最古のK線バーを削除することによって更新されます (例えば,キューイン/アウト).Trade
K線を生成するために,リアルタイムで
エクスチェンジのKラインインターフェースがページングクエリをサポートしている場合,複数のAPIリクエストがexchange.SetMaxBarLen()
線長を大きく設定する機能です
必要なのはexchange.GetRecords()
- バックテストシステムは,バックテストの時間範囲が開始される前に (デフォルトは5000で,バックテストシステムの設定とデータの量は返された最終数値に影響を与える) 初期Kラインデータとして,一定の数のKラインバーを事前に取得します. - 実際の取引中に得られたKラインバーの数は,取引所のKラインインターフェースから得ることができる最大量のデータに基づいています.
についてperiod
5 秒間でK線データを取得する要求です.period
パラメータは60で割り切れない (つまり,表示された期間は分で割り切れない). 基礎システムでは,exchange.GetTrades()
取引記録データを取得し,必要なK線データを合成します.period
パラメータが60で割り切れる場合,必要なK線データは最低1分間のK線データを用い合成されます (可能な限り,必要なK線データはより長い期間を使って合成されます).
バックテストシステムにおけるシミュレーションレベルのバックテストには,基礎K線周期の設定が必要である (バックテストシステムがレベルバックテストをシミュレートするとき,対応するK線データは,セットの基礎K線周期に従ってTickデータを生成するために使用される).戦略で得られたK線データの期間は,基礎K線周期よりも小さくならないことに注意すべきである.シミュレーションレベルのバックテストでは,バックテストシステムの各期間のK線データは,基礎K線期間のK線データから合成される.
についてC++
この言語は,自分のK線データを構築する必要がある場合,次のコード例を持っています.
#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);
}
支援しない取引所exchange.GetRecords()
機能:
機能名 | サポートされていないスポット交換 | サポートされていない先物取引 |
---|---|---|
GetRecords を取得する | ザイフ / コインチェック / ビットフライヤー | フューチャーズ_Aevo |
{@fun/Market/exchange.GetTicker exchange.GetTicker}, {@fun/Market/exchange.GetDepth exchange.GetDepth}, {@fun/Market/exchange.GetTrades exchange.GetTrades}, {@fun/Market/exchange.SetMaxBarLen exchange.SetMaxBarLen}, {@fun/Market/exchange.SetMaxBarLen exchange.SetMaxBarLen}, {@fun/Market/exchange.GetTicker exchange.GetTicker}, {@fun/Market/exchange.GetTicker exchange.GetTicker}, {@fun/Market/exchange.GetDepth exchange.GetDepth exchange.GetDepth}, {@fun/Market/exchange.GetTicker exchange.GetTicker}, {@fun/Market/exchange.GetDepth exchange.GetDepth exchange.GetDepth}, {@fun/Market/exchange.GetDepth exchange.GetDepth exchange
exchange.GetTrades exchange.GetPeriod