Tài nguyên đang được tải lên... tải...

Khung chiến lược và chức năng API

Trong các chiến lược được viết trongJavaScript, Pythoncpp, cácSleep()Trong giao dịch trực tiếp, nó được sử dụng để kiểm soát các khoảng thời gian thăm dò chiến lược, và cũng kiểm soát tần suất yêu cầu truy cập giao diện API của sàn giao dịch.

function onTick(){
    //Write strategy logic here, and it will be called constantly, such as printing ticker information
    Log(exchange.GetTicker())
}

function main(){
    while(true){
        onTick()
        // The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
        Sleep(60000)
    }
}
def onTick():
    Log(exchange.GetTicker())

def main():
    while True:
        onTick()
        Sleep(60000)
void onTick() {
    Log(exchange.GetTicker());
}

void main() {
    while(true) {
        onTick();
        Sleep(60000);
    }
}

Các ví dụ cơ bản về các chiến lược tiền điện tử:

function onTick(){
    // It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
    exchange.Buy(100, 1)
}

function main(){
    while(true){
        onTick()
        // The pause period can be customized in millisecond (1 second = 1000 milliseconds)
        Sleep(1000)
    }
}
def onTick():
    exchange.Buy(100, 1)

def main():
    while True:
        onTick()
        Sleep(1000)
void onTick() {
    exchange.Buy(100, 1);
}

void main() {
    while(true) {
        onTick();
        Sleep(1000);
    }
}

Hãy lấy ví dụ đơn giản nhất, nếu tôi muốn đặt một lệnh mua với giá 100 và số lượng 1 trên sàn giao dịch mỗi giây, tôi có thể viết nó như thế này: Dưới đây cho thấy các chức năng API thường được sử dụng trong phát triển và thiết kế chiến lược.FMZ Quant Trading Platform API Manual.

Chức năng toàn cầu

Tên chức năng Lời giới thiệu ngắn
Phiên bản Trả về
Số phiên bản hiện tại của hệ thống
Ngủ đi Chức năng ngủ,
tham số là giá trị của milliseconds để tạm dừng
IsVirtual Xác định

môi trường thực thi, trả về một giá trị thực để chỉ ra một backtest môi trường. Ừm.Bưu điệnHãy gửi email. Ừm.Mail_Go∙∙ Không đồng bộ phiên bản củaMailchức năng Ừm.SetErrorFilterLỗi bộ lọc logs, các tham số là một chuỗi biểu thức bình thường, các logs lỗi phù hợp với biểu thức thường này sẽ không được tải lên đăng ký hệ thống. Ừm.GetPidỪm. ID quy trình. Ừm.GetLastErrorHãy lấy cái cuối cùng. thông báo lỗi. Ừm.GetCommandHãy có chiến lược. lệnh tương tác, các thiết lập điều khiển tương tác chiến lược có thể được yêu cầu: [kiểm soát tương tác] Ừm.GetMetaHãy nhận ra giá trị của Meta được viết khi tạo mã đăng ký chiến lược. Ừm.NhậpĐược sử dụng để làm nguyên liệu truy cập ổ cắm. Ừm.HttpQueryGửi yêu cầu HTTP. Ừm.HttpQuery_Go∙∙ Không đồng bộ phiên bản củaHttpQuerychức năng Ừm.Mã hóaỨng dụng mã hóa dữ liệu chức năng Ừm.UnixNanoHãy lấy một nanosecond. dấu thời gian. Ừm.UnixỪm, hãy đi đến cấp độ hai. dấu thời gian. Ừm.GetOSỨng dụng hệ thống thông tin. Ừm.MD5Tính toán MD5 Ừm.DBExecCơ sở dữ liệu các hàm có thể được sử dụng để thực thi lệnh SQL và thực hiện Các hoạt động cơ sở dữ liệu. Ừm.UUIDTạo ra UUID. Ừm.EventLoopHãy lắng nghe các sự kiện và trở lại sau khi bất kỳ websocket được đọc hoặc các nhiệm vụ đồng thời nhưexchange.Go, HttpQuery_Go, vv được hoàn thành, chức năng này chỉ có sẵn cho giao dịch trực tiếp. Ừm._GTiếp tục lưu dữ liệu, chức năng này thực hiện một chức năng từ điển toàn cầu có thể lưu. cấu trúc là một bảng KV, được lưu trữ trong cơ sở dữ liệu địa phương của docker file vĩnh viễn. Ừm._DNgười xử lý dấu thời gian, chuyển đổi một con dấu thời gian hoặc đối tượng ngày của một chuỗi thời gian. Ừm._NLàm định dạng dấu chấm nổi số, ví dụ:_N(3.1415, 2)sẽ loại bỏ giá trị của 3.1415 sau khi hai vị trí thập phân, và hàm trả về 3.14 Ừm._CHãy thử lại chức năng Lưu ý rằng, ví dụ, dung nạp lỗi cho cácexchange.GetTickerchức năng là_C(exchange.GetTicker)và không_C(exchange.GetTicker()) | | _ Chữ thậpMột chức năng phán xét chéo._Cross()hàms trả về giá trị là một con số dương thời gian thâm nhập lên, một con số âm cho thấy thời gian thâm nhập xuống, và 0 đề cập đến giá hiện tại của giống nhau. Ừm.JSONParseParsing JSON, có thể chính xác phân tích các chuỗi JSON có chứa các giá trị lớn hơn, sẽ phân tích lớn hơn các giá trị đến một loại chuỗi.JSONParse()chức năng không được hỗ trợ trong hệ thống backtesting.

Chức năng log

Tên chức năng Lời giới thiệu ngắn
Ký hiệu Lịch xuất, hỗ trợ cài đặt màu văn bản log, hỗ trợ cài đặt push, hỗ trợ in hình ảnh sau mã hóa base64
LogProfit Dữ liệu P&L đầu ra, in các giá trị P&L và đường cong năng suất biểu đồ dựa trên các giá trị P&L
LogProfitReset RỗngLogProfithàm đầu ra tất cả nhật ký thu nhập, biểu đồ thu nhập
LogStatus Thông tin đầu ra trong thanh trạng thái, hỗ trợ thiết kế các điều khiển nút trong thanh trạng thái, hỗ trợ đầu ra biểu mẫu
EnableLog Bật hoặc tắt ghi lại thông tin đơn đặt hàng
Biểu đồ Các chức năng biểu đồ, dựa trên thư viện biểu đồ Highcharts/Highstocks
KLineChart Chức năng vẽ kiểu ngôn ngữ Pine, được sử dụng để vẽ tùy chỉnh tại thời gian chạy chiến lược bằng cách sử dụng kiểu vẽ ngôn ngữ Pine
LogReset Xóa nhật ký, hỗ trợ để giữ lại một số lượng nhất định các nhật ký gần đây thông qua các thiết lập tham số
LogVacuum Reclaim SQLite resources để reclaim storage space occupied by SQLite khi xóa dữ liệu sau khi xóa nhật ký bằng cách gọiLogReset()chức năng
console.log Thông tin gỡ lỗi đầu ra trong cột Debug Information trên trang giao dịch trực tiếp
console.error Thông tin lỗi được xuất ra trong cột Debug Information của trang giao dịch trực tiếp

Chức năng của Ticker

Tên chức năng Lời giới thiệu ngắn
exchange.GetTicker Nhanh lên.
Định giá Tick
exchange.GetDepth Nhanh lên.
Dữ liệu độ sâu sổ đặt hàng
exchange.GetTrades Nhanh lên.
Dữ liệu doanh thu thị trường
exchange.GetRecords Nhanh lên.
Dữ liệu đường K
exchange.GetPeriod Nhanh lên.
thời gian K hiện tại
exchange.SetMaxBarLen
Thiết lập chiều dài tối đa của đường K
exchange.GetRawJSON Nhanh lên.
Nội dung thô được trả về bởi yêu cầu nghỉ gần đây nhất
exchange.GetRate Nhanh lên.
tỷ giá hối đoái hiện tại
exchange.GetUSDCNY Nhanh lên.
tỷ giá hối đoái USD/CNY mới nhất
exchange.SetData Đặt
dữ liệu được tải khi chiến lược đang chạy
exchange.GetData Nhanh lên.
dữ liệu được tải hoặc dữ liệu được cung cấp bởi các liên kết bên ngoài
exchange.GetMarkets Nhanh lên.
thông tin thị trường ngoại hối
exchange.GetTickers Nhanh lên.
dữ liệu thị trường tổng hợp từ các sàn giao dịch

Chức năng giao dịch

Tên chức năng Lời giới thiệu ngắn
exchange.Buy Gửi lệnh mua, hợp đồng tương lai phải chú ý đến hướng giao dịch được đặt đúng, nếu hướng giao dịch và chức năng giao dịch không phù hợp, lỗi sẽ được báo cáo!
exchange.Sell Gửi lệnh bán, hợp đồng tương lai khi đặt lệnh phải chú ý đến hướng giao dịch được thiết lập chính xác, nếu hướng giao dịch và chức năng giao dịch không phù hợp, nó sẽ báo cáo một lỗi
exchange.CreateOrder Gửi lệnh và chỉ định loại giao dịch, hướng giao dịch, giá và số lượng thông qua các tham số
exchange.CancelOrder Hủy lệnh
exchange.GetOrder Nhận thông tin đặt hàng, cấu trúc dữ liệu làTrật tựcấu trúc
exchange.GetOrders Nhận đơn đặt hàng chưa hoàn thành với cấu trúc dữ liệuTrật tựStruct array (danh sách)
exchange.GetHistoryOrders Nhận các lệnh lịch sử của cặp giao dịch hiện tại và hợp đồng; hỗ trợ xác định các sản phẩm giao dịch cụ thể
exchange.SetPrecision Thiết lập độ chính xác của giá và số lượng lệnh của đối tượng trao đổi, sau khi thiết lập hệ thống sẽ tự động bỏ qua sự dư thừa dữ liệu.
exchange.SetRate Đặt tỷ giá hối đoái
exchange.IO Đối với các cuộc gọi giao diện khác liên quan đến các đối tượng trao đổi
exchange.Log Output, ghi lại nhật ký giao dịch và không đặt lệnh
exchange.Encode tính toán mã hóa chữ ký
exchange.Go Các chức năng hỗ trợ không đồng bộ đa đường
exchange.GetAccount Nhận thông tin tài khoản
exchange.GetAssets Yêu cầu thông tin tài sản tài khoản trao đổi
exchange.GetName Nhận tên đối tượng trao đổi
exchange.GetLabel Nhận nhãn của đối tượng trao đổi
exchange.GetCurrency Nhận cặp giao dịch hiện tại
exchange.SetCurrency Chuyển cặp giao dịch
exchange.GetQuoteCurrency Nhận tên của đồng tiền của cặp giao dịch hiện tại

Các chức năng tương lai

Tên chức năng Lời giới thiệu ngắn
[exchange.GetPositions(/syntax-guide#fun_exchange.getpositions) Nhận các vị trí tương lai với cấu trúc dữ liệuVị tríStruct array (danh sách)
exchange.SetMarginLevel Thiết lập đòn bẩy
exchange.SetDirection Chức năng được sử dụng để thiết lậpexchange.Buychức năng,exchange.Sellchức năng thực hiện hướng lệnh giao dịch hợp đồng tương lai
exchange.SetContractType Thiết lập mã hợp đồng, ví dụ:exchange.SetContractType("swap")chức năng thiết lập mã hợp đồng đểswap, quy định hợp đồng cho hoạt động hiện tại là một hợp đồng vĩnh viễn
exchange.GetContractType Nhận mã hợp đồng hiện tại
exchange.GetFundings Nhận dữ liệu tỷ lệ tài trợ hợp đồng vĩnh viễn hiện tại

Chức năng mạng

Tên chức năng Lời giới thiệu ngắn
exchange.SetBase Đặt địa chỉ cơ sở của giao diện Exchange API được gói
exchange.GetBase Nhận địa chỉ cơ sở giao diện API trao đổi hiện tại
exchange.SetProxy Thiết lập proxy
exchange.SetTimeout Thiết lập thời gian nghỉ của giao thức

JavaScript Multi-Threading

FMZ Quant Trading Platform thực sự hỗ trợ các chức năng đa luồng củaJavaScriptchiến lược ngôn ngữ từ dưới cùng của hệ thống, và thực hiện các mục tiêu sau:

Các đối tượng Hướng dẫn Nhận xét
sợi Đối tượng toàn cầu đa luồng Các chức năng của thành viên:Thread, getThread, mainThread, vv
Sợi Đối tượng Thread Các chức năng của thành viên:peekMessage, postMessage, join, vv
ThreadLock Đối tượng khóa sợi Các chức năng của thành viên:acquire, releaseChúng có thể được truyền vào môi trường thread như các tham số của chức năng thực thi thread.
ThreadEvent Đối tượng sự kiện Các chức năng của thành viên:set, clear, wait, isSetChúng có thể được truyền vào môi trường thread như một tham số của chức năng thực thi thread.
ThreadCondition Đối tượng điều kiện Các chức năng của thành viên:notify, notifyAll, wait, acquire, releaseChúng có thể được truyền vào môi trường thread như một tham số của chức năng thực thi thread.
ThreadDict Đối tượng từ điển Các chức năng của thành viên:get, setChúng có thể được truyền vào môi trường thread như các tham số của chức năng thực thi thread.

FMZ Quant Trading Platform Syntax Manual:JavaScript Multi-Threading

Web3

Tên chức năng Lời giới thiệu ngắn
trao đổi.IO ((abi,...) Đăng ký cho ABI
trao đổi.IO ((api, eth,...) Gọi phương thức Ethernet RPC
trao đổi.IO (( mã hóa,...) chức năng mã hóa
exchange.IO ((encodePacked,...) mã hóaChức năng mã hóa đóng gói
trao đổi.IO ((decode,...) chức năng giải mã
trao đổi.IO ((key,...) Sử dụng để chuyển đổi khóa riêng
trao đổi.IO ((api,...) Phương pháp sử dụng hợp đồng thông minh
trao đổi.IO (( địa chỉ) Nhận địa chỉ ví được cấu hình hiện tại
trao đổi.IO ((base,...) Thiết lập các nút RPC

Thư viện chỉ số TA

Tên chức năng Lời giới thiệu ngắn
TA.MACD Tính toán chỉ số trung bình chênh lệch trơn dần theo cấp số nhân
TA.KDJ Tính toán các chỉ số stochastic
TA.RSI Tính toán chỉ số sức mạnh
TA.ATR Tính toán chỉ số biến động thực tế trung bình
TA.OBV Tính toán các chỉ số thủy triều năng lượng
TA.MA Tính toán các chỉ số trung bình động
TA.EMA Tính toán các chỉ số trung bình hàm số
TA.BOLL Tính toán chỉ số Bollinger Band
TA.Alligator Tính toán chỉ số đường cá sấu
TA.CMF Tính toán chỉ số dòng tiền Chaikin
TA.Highest Tính toán giá tối đa trong thời gian
TA.Lowest Tính toán giá tối thiểu trong thời gian
TA.SMA Tính toán các chỉ số trung bình di chuyển đơn giản

talib Thư viện chỉ số

Thư viện chỉ số talib có nhiều chỉ số giao dịch, chẳng hạn như:talib.CDL2CROWSBạn có thể nhảy đến hướng dẫn cú pháp để biết chi tiết.

Chức năng nhập chiến lược Thư viện mẫu