tradingview Robot de trading de señales Error y cómo solucionarlo

El autor:- ¿Qué quieres decir?, Creado: 2021-01-02 07:06:59, Actualizado:

Los principiantes quieren utilizar la señal de trading view para negociar automáticamente bitcoins o contratos perpetuos btc. Después de desplegar el robot, aparece un error. El contrato Ct está configurado como vacío. El código es una copia de la estrategia de ejecución de señales TradingViewWebHook. ¿Qué es eso? - El formato de la cadena de comandos interactiva Acción: cantidad acción: buy, sell, long, short, cover_long, cover_short, spk, bpk - Tipo de bolsa Valoración de las variables eType: 0 puntos, 1 futuros

El parámetro // var Es el orden del mercado = falso // var QuotePrecision es igual a 2 // var BasePrecisión = 2

// Parámetros de los futuros // var Ct es el

// Variables globales var BUY = Venta de la caja var SELL = el botón de venta var LONG = conejillo largo var SHORT = corto corto var COVER_LONG = Cubierta_larga var COVER_SHORT = Cubierta_corta var SPK = spk var BPK = bpk

La función principal (()) { // Puede borrarse el registro si no lo necesita LogReset ((1)) es el nombre de un sistema de registro.

// 设置精度
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)
}

}


Más contenido

El rey del hip-hopNo hay información errónea, ¿cómo ver?.

- ¿Qué quieres decir?Nuevos, pedidos de consejos, cómo configurar el contrato permanente de btcusdt, y qué línea de código cambiar

- ¿Qué quieres decir?El robot de compra está completamente configurado en el video de la estación b y no funciona. Buynull regresa a sellnull después de recibir la instrucción de transacción.

Las hierbasNo hay suficiente dinero en la cuenta

- ¿Qué quieres decir?El error de los robots de futuros es 2021-01-02 23:40:08 Información Las bolsas de futuros no son compatibles! 2021-01-02 23:40:05 Información Las bolsas de futuros no son compatibles! 2021-01-02 23:38:23 Información {"InstrumentID:"BTCUSDT","instrument:"BTCUSDT"} Contrato de configuración: swap 2021-01-02 23:38:23 Información Añadido para el mercado de futuros: Futures_Binance No hay problemas. Gracias.

- ¿Qué quieres decir?Fecha Plataforma Tipo Precio Cantidad Información 2021-01-02 23:39:01 Información sellInfo: null 2021-01-02 23:39:01 Binance Error Sell ((-1, 0.01): 400: {"code":-2010, "msg:"Account has insufficient balance for requested action"} La cuenta tiene un saldo insuficiente para la acción solicitada. 2021-01-02 23:38:53 Información buyInfo: nulo 2021-01-02 23:38:53 Binance Error Buy ((-1, 0.01): 400: {"code":-2010, "msg:"Account has insufficient balance for requested action"} El código de la cuenta es el siguiente: