tradingview Robot giao dịch tín hiệu lỗi và cách giải quyết

Tác giả:Nihao153159, Tạo: 2021-01-02 07:06:59, Cập nhật:

Người mới muốn tự động giao dịch đồng tiền và ký hợp đồng vĩnh cửu với tín hiệu trading view, sau khi triển khai robot xuất hiện, sai Ct hợp đồng được thiết lập là trống. Mã là một bản sao của TradingViewWebHook chiến lược thực hiện tín hiệu. /*

// Các tham số // var IsMarketOrder = sai // var QuotePrecision = 2 // var BasePrecision = 2

// Các tham số tương lai // var Ct =

// biến toàn cầu var BUY = buy var SELL = sell var LONG = Long var SHORT = short var COVER_LONG = cover_long var COVER_SHORT = cover_short var SPK = spk var BPK = bpk

function main (()) { // Bỏ sổ đăng nhập nếu không cần LogReset ((1)

// 设置精度
exchange.SetPrecision(QuotePrecision, BasePrecision)

// 识别期货还是现货
var eType = 0
var eName = exchange.GetName()
var patt = /Futures_/
if (patt.test(eName)) {
    Log("添加的交易所为期货交易所:", eName, "#FF0000")
    eType = 1
    if (Ct == "") {
        throw "Ct 合约设置为空"
    } else {
    	Log(exchange.SetContractType(Ct), "设置合约:", Ct, "#FF0000")
    }
} else {
	Log("添加的交易所为现货交易所:", eName, "#32CD32")
}

var lastMsg = ""
var acc = _C(exchange.GetAccount)
while(true) {
    var cmd = GetCommand()
    if (cmd) {
        // 检测交互命令
        lastMsg = "命令:" + cmd + "时间:" + _D()
        var arr = cmd.split(":")
        if (arr.length != 2) {
            Log("cmd信息有误:", cmd, "#FF0000")
            continue
        }

        var action = arr[0]
        var amount = parseFloat(arr[1])

        if (eType == 0) {
            if (action == BUY) {               
                var buyInfo = IsMarketOrder ? exchange.Buy(-1, amount) : $.Buy(amount)
                Log("buyInfo:", buyInfo)
            } else if (action == SELL) {        
                var sellInfo = IsMarketOrder ? exchange.Sell(-1, amount) : $.Sell(amount)
                Log("sellInfo:", sellInfo)
            } else {
            	Log("现货交易所不支持!", "#FF0000")
            }
        } else if (eType == 1) {
        	var tradeInfo = null
        	var ticker = _C(exchange.GetTicker)
            if (action == LONG) {
            	exchange.SetDirection("buy")
                tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
            } else if (action == SHORT) {        
                exchange.SetDirection("sell")
                tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
            } else if (action == COVER_LONG) {        
                exchange.SetDirection("closebuy")
                tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
            } else if (action == COVER_SHORT) {        
            	exchange.SetDirection("closesell")
            	tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
            } else if (action == SPK) {   // 卖出平多仓,卖出开空仓
                exchange.SetDirection("closebuy")
                var tradeInfo1 = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                exchange.SetDirection("sell")
                var tradeInfo2 = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                tradeInfo = [tradeInfo1, tradeInfo2]
            } else if (action == BPK) {   // 买入平空仓,买入开多仓
                exchange.SetDirection("closesell")
                var tradeInfo1 = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                exchange.SetDirection("buy")
                var tradeInfo2 = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                tradeInfo = [tradeInfo1, tradeInfo2]
            } else {
            	Log("期货交易所不支持!", "#FF0000")
            }
            if (tradeInfo) {
                Log("tradeInfo:", tradeInfo)
            }
        } else {
        	throw "eType error, eType:" + eType
        }
        acc = _C(exchange.GetAccount)
    }
    var tbl = {
    	type : "table", 
    	title : "状态信息", 
    	cols : ["数据"], 
    	rows : []
    }
    tbl.rows.push([JSON.stringify(acc)])
    LogStatus(_D(), eName, "上次接收到的命令:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
	Sleep(1000)
}

}


Thêm nữa

Vua của Hip HopKhông có thông tin sai cả, xem sao nhé.

Nihao153159Những người mới bắt đầu tìm hiểu về cách thiết lập hợp đồng vĩnh cửu btcusdt, cụ thể là thay đổi dòng mã nào

Nihao153159Buynull trả về sellnull sau khi nhận được lệnh giao dịch

Cỏ nhỏSố tiền trong tài khoản không đủ

Nihao153159Những sai lầm của robot tương lai là 2021-01-02 23:40:08 Thông tin Các sàn giao dịch tương lai không được hỗ trợ! 2021-01-02 23:40:05 Thông tin Các sàn giao dịch tương lai không được hỗ trợ! 2021-01-02 23:38:23 Thông tin {"InstrumentID:"BTCUSDT","instrument:"BTCUSDT"} Thiết lập hợp đồng: swap 2021-01-02 23:38:23 Thông tin thêm giao dịch cho sàn giao dịch tương lai: Futures_Binance Không có vấn đề gì cả.

Nihao153159Ngày, nền tảng, loại, giá, số lượng, thông tin 2021-01-02 23:39:01 Thông tin sellInfo: null 2021-01-02 23:39:01 Binance lỗi Sell ((-1, 0.01): 400: {"code":-2010, "msg:"Account has insufficient balance for requested action"} 2021-01-02 23:38:53 Thông tin buyInfo: null 2021-01-02 23:38:53 Binance lỗi Buy ((-1, 0.01): 400: {"code":-2010, "msg:"Account has insufficient balance for requested action"}