En la carga de los recursos... Cargando...

Instrucciones especiales de intercambio

  • Valores de Futu Es compatible con FutuNN comercio en vivo y comercio de demostración, usted necesita descargarFutuOpenDEs una aplicación. Cuando se utilizaFutuOpenDPara acceder al comercio de demostración, algunos códigos de acciones no son compatibles, por lo que no puede operar, pero la aplicación móvil FutuOpenD es capaz de operar en demostración. Para la configuración de objetos de intercambio, en funcionamientoFutuOpenDsoftware, etc. en FMZ Quant, por favor consulte elDocumento de descripción de la configuración de Futu Securities.

    • Frecuencia de las llamadas de interfaz ParaGetOrder, GetOrders, GetPositions, GetAccountuso de funcionesDatos almacenados en cachépor defecto, por lo que no hay límite a la frecuencia de llamadas. Cuando haya nuevos datos disponibles,FutuOpenDactualizará los datos automáticamente, yDatos almacenados en cachése actualizarán de forma sincronizada.

      Elexchange.IO("refresh", true)La función puede ser llamada para desactivar la caché, siDesactivar el almacenamiento en cachéentonces la frecuencia de llamadas esMáximo de 10 consultas por 30 segundos, si se excede el límite de frecuencia se informará de un error.

    • Código de acciones Por ejemplo:600519.SH

      • En el HK
      • Estados Unidos
      • SH
      • SZ

      El código de estrategia utiliza elexchange.SetContractType()función para establecer el código de las acciones, por ejemplo:

      function main() {
          var info = exchange.SetContractType("600519.SH")    // Set to stock 600519.SH, namely Kweichow Moutai, and the account will be switched to the China mainland market
          Log(info)
          Log(exchange.GetAccount())                          // The currently set stock is Kweichow Moutai. At this time, call the GetAccount function to obtain the account assets, which are the account assets of the China mainland market
          Log(exchange.GetTicker())                           // Obtain the current price information of Kweichow Moutai stock
      }
      
      def main():
          info = exchange.SetContractType("600519.SH")
          Log(info)
          Log(exchange.GetAccount())
          Log(exchange.GetTicker())
      
      void main() {
          auto info = exchange.SetContractType("600519.SH");
          Log(info);
          Log(exchange.GetAccount());
          Log(exchange.GetTicker());
      }
      

      Funciones para establecer la dirección de la transacciónexchange.SetDirection, funciones para realizar pedidosexchange.Buy/exchange.Sell- ¿ Por qué? la función de retiroexchange.CancelOrdery la función de orden de consultaexchange.GetOrderse utilizan de la misma manera que en el mercado de futuros.

    • Formato de los datos de la información de la cuenta: Definir el mercado utilizandoTrdMarketpara distinguir entreHong Kong Market, United States Market, yChina Mainland Market.

      Extractos de laFutu APIDocumentación:

      const (
          TrdMarket_TrdMarket_Unknown TrdMarket = 0 //Unknown Trading Market
          TrdMarket_TrdMarket_HK      TrdMarket = 1 //Hong Kong Trading Market
          TrdMarket_TrdMarket_US      TrdMarket = 2 //United States Trading Market
          TrdMarket_TrdMarket_CN      TrdMarket = 3 //China Mainland Trading Market
          TrdMarket_TrdMarket_HKCC    TrdMarket = 4 //Hong Kong A-share Trading Market
          TrdMarket_TrdMarket_Futures TrdMarket = 5 //Futures Trading Market
      )
      

      Obtener datos de información de la cuenta, elexchange.GetAccount()La función devuelve:

      {
          "Info": [{
              "Header": {
                  ...                 // omit
                  "TrdMarket": 1      // In the Info raw information, market ID, indicates that the account assets are used for trading in the Hong Kong market
              },
              "Funds": {              // Information on the account's assets in that market
                  ...
              }
          }, ...],
          "Stocks": 0,
          "FrozenStocks": 0,
          "Balance": 1000000,         // Asset values in the current market
          "FrozenBalance": 0
      }
      
    • FutuOpenDDistinguir por región basado en el registroP.I.Dirección Existen restricciones en el acceso a los datos de mercado para las cuentas iniciadas sesión desde direcciones IP no continentales, que se pueden encontrar en la documentación oficial deFutuOpenD.

  • Los futuros de Binance Apoya el modo de posición dual de futuros de Binance; se puede utilizarexchange.IOpara cambiar:

    function main() {
        var ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true")
        // ret : {"code":200,"msg":"success"}
        Log(ret)
    }
    
    def main():
        ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=false")
        Log(ret)
    
    void main() {
        auto ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true");
        Log(ret);
    }
    

    Apoya el cambio entre posición cruzada/posición aislada:

    function main() {
        exchange.SetContractType("swap")
        exchange.IO("cross", true)    // Switch to crossed position
        exchange.IO("cross", false)   // Switch to isolated position
    }
    
    def main():
        exchange.SetContractType("swap")
        exchange.IO("cross", True)
        exchange.IO("cross", False)
    
    void main() {
        exchange.SetContractType("swap");
        exchange.IO("cross", true);
        exchange.IO("cross", false);
    }
    

    Apoya el cambio al modo de cuenta unificada de Binance:

    function main() {
        exchange.IO("unified", true)   // Switch to unified account mode
        exchange.IO("unified", false)  // Switch to commom mode
    }
    
    def main():
        exchange.IO("unified", True)
        exchange.IO("unified", False)
    
    void main() {
        exchange.IO("unified", true);
        exchange.IO("unified", false);
    }
    

    Apoya la configuración del modo STP para las órdenes Binance spot/futures:

    function main() {
        // "NONE" indicates that STP mode is disabled, other parameters are: "EXPIRE_TAKER", "EXPIRE_MAKER", "EXPIRE_BOTH"
        exchange.IO("selfTradePreventionMode", "NONE")
    }
    
    def main():
        exchange.IO("selfTradePreventionMode", "NONE")
    
    void main() {
        exchange.IO("selfTradePreventionMode", "NONE");
    }
    
  • Futures_HuobiDM

    • Dirección del interruptor: Apoya la modificación de la dirección de Huobi Futures que participa en la firma, que no se cambia por defecto.exchange.IO("signHost", "")para establecer una cadena vacía. Utilizaciónexchange.IO("signHost", "https://aaa.xxx.xxx")cambiar la dirección de base de Huobi Futures que participa en la verificación de firmas. Utilizaciónexchange.IO("base", "https://bbb.xxx.xxx")o bienexchange.SetBase("https://bbb.xxx.xxx")para cambiar la dirección base de la interfaz de la plataforma.
    • Intercambio entre posición cruzada/posición aislada: Cuando el par de operaciones está configurado paraXXX_USDT, utilizar la funciónexchange.SetContractType("swap")para establecer el código del contrato aswapContrato perpetuo, utilizandoexchange.IO("cross", true)puede cambiar aUSDT- contrato perpetuo con margen en el modo de posición cruzada.exchange.IO("cross", false)El valor por defecto inicial es el modo de posición aislada.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional y utilizarexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • - ¿ Qué?

    • Cambiar de pares de operaciones especiales: Apoya tokens de apalancamiento al contado de Huobi, tales como:LINK*(-3); el código definido por la bolsa es:link3susdt, que se escribe cuando FMZ Quant Trading Platform establece el par de operacionesLINK3S_USDT¿ Qué pasa? También es posible cambiar de par de operaciones en la estrategia:

      function main() {
          exchange.SetCurrency("LINK3S_USDT")
          Log(exchange.GetTicker())
      }
      
      def main():
          exchange.SetCurrency("LINK3S_USDT")
          Log(exchange.GetTicker())
      
      void main() {
          exchange.SetCurrency("LINK3S_USDT");
          Log(exchange.GetTicker());
      }
      
  • Los futuros_OKX(Futures_OKCoin/Futures_OKEX)

    • Cambia al bot de demostración: La interfaz de futuros OKX puede cambiar al entorno de prueba de bot de demostración de futuros OKX; utilizandoexchange.IO("simulate", true)Si desea cambiar a un entorno de negociación real, utiliceexchange.IO("simulate", false)La configuración inicial es el entorno de negociación en vivo.
    • Intercambio entre posición cruzada/posición aislada: Apoya el cambio de modos de margen de la cuenta de futuros;exchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada, el valor por defecto inicial es el modo de posición cruzada.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional y utilizarexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • El valor de la moneda es el valor de la moneda en sí misma.

    • Cambia al bot de demostración: Utilizaciónexchange.IO("simulate", true)Si desea cambiar al entorno de negociación en vivo, useexchange.IO("simulate", false)para cambiar a la negociación en vivo, el valor por defecto inicial es el entorno de negociación en vivo.
  • El valor de la inversión se calcula a partir del valor de la inversión

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada; el valor por defecto inicial es el modo de posición cruzada.
    • Interfaz sin soporte: El intercambio no admite la consulta de las órdenes pendientes actuales y la interfaz para consultar los registros históricos de negociación del mercado, por lo que elGetOrdersyGetTradeslas funciones no son compatibles.
  • Los futuros_Bitget

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional yexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • Los futuros_MEXC

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
  • Los futuros_GateIO

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional yexchange.IO("dual", false)para cambiar a una posición unidireccional.
    • Cambiar la cuenta unificada: Utilización de los futuros de GateIOexchange.IO("unified", true)para cambiar de cuenta unificada;exchange.IO("unified", false)para volver a las cuentas no unificadas.
  • Puerta de entrada

    • Cambiar la cuenta unificada: Utilizaciones al contado de GateIOexchange.IO("unified", true)para cambiar las cuentas unificadas;exchange.IO("unified", false)para volver a las cuentas no unificadas.
  • Las acciones de los bancos centrales

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada, utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.exchange.IO("unified", true)para cambiar a la interfaz de margen unificada, utilizarexchange.IO("unified", false)para volver a la interfaz de contrato normal.
    • Cambiar a la interfaz de margen unificada: Utilizaciónexchange.IO("unified", true)cambiar a la interfaz de margen unificada, yexchange.IO("unified", false)para volver a utilizar la interfaz contractual común.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional yexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • Los futuros de Pionex

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada, utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.exchange.IO("dual", true)para cambiar a posiciones bidireccionales yexchange.IO("dual", false)para cambiar a posiciones unidireccionales.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional yexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • Las entidades que no cumplen los requisitos de la parte B del anexo II del Reglamento (UE) n.o 575/2013

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
  • BitMEX

    • Orden de compra de mercado En la interfaz de colocación de órdenes de negociación al contado de BitMEX, la cantidad de orden para una orden de compra de mercado no es el monto, sino el número de monedas negociadas.
  • Bitfinex

    • Orden de compra de mercado BItfinex interfaz de orden de negociación al contado, la cantidad de orden de la orden de compra de la orden de mercado no es el monto, sino el número de monedas de negociación.
  • Futures_Phemex

    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional yexchange.IO("dual", false)para cambiar a una posición unidireccional.
    • Interfaz de línea K La interfaz de intercambio de línea K responde con datos que no contienen datos de Bar actuales.
    • Intercambio entre posición cruzada/posición aislada: El intercambio no proporciona una interfaz para cambiar entre la posición cruzada y la posición aislada, que debe configurarse en el intercambio.
  • Mochila Apoya la configuración del modo STP para pedidos al contado de mochila:

    function main() {
        // "Allow" means to allow self-dealing, "RejectTaker" "RejectMaker" "RejectBoth" "Allow"
        exchange.IO("selfTradePreventionMode", "Allow")
    }
    
    def main():
        exchange.IO("selfTradePreventionMode", "Allow")
    
    void main() {
        exchange.IO("selfTradePreventionMode", "Allow");
    }
    
  • Los futuros_CoinEx

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
  • El valor de las pérdidas

    • Al hacer un pedido, debe pasar la clave de firma: Después de conectarse a la bolsa usando una billetera, puede copiar la clave privada signingKey en la página de administración APIKEY de la bolsa. Por ejemplo, si la clave privada de signingKey esxxx, el usoexchange.IO("signingKey", "xxx")La clave de signingKey tiene un límite de tiempo.exchange.IOLa función devuelve la clave pública de signingKey.
  • Los futuros_Kraken

    • Intercambio entre posición cruzada/posición aislada: Sólo elmulti-collateralEl contrato de cambio de Futures_Kraken admite posiciones cruzadas, posiciones aisladas y apalancamiento. Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
  • El valor de las acciones de la entidad

    • Se ha puestoaccountId- ¿ Por qué? Utilizaciónexchange.IO("accountId", "xxx")Para hacer cuentas.
  • Géminis

    • Cambiar de subcuenta: Utilizaciónexchange.IO("subAccount", "xxx")para cambiar de subcuentas.
  • El valor de las pérdidas

    • El ordenIdDescripción: La orden de cambioIdConsiste en laIdEl sello de tiempo y el orden realIdEl objetivo es apoyar laexchange.GetOrder(Id)La función para consultar órdenes. ya que la marca de tiempo de la orden en los datos devueltos por el intercambio cambiará con el estado de la orden, si necesita registrar la ordenIdy otra información local, por favor separe el pedido realId record.
  • Los futuros_dYdX

    • Cambiar a la red de ensayo: Interfaz de futuros dYdX, se puede cambiar al entorno de la red de prueba, utilizarexchange.IO("simulate", true), puede cambiar al entorno de la red de prueba.exchange.IO("simulate", false), el valor por defecto inicial es el entorno de red principal.
    • Establecer el límiteexchange.IO("limitFee", 0.001)Establezca la tarifa por defecto es 0.001.
    • Establecer segundos de validezexchange.IO("secondsOfValidity", 60 * 60 * 24 * 28)establece el período de validez. El valor predeterminado es 60 * 60 * 24 * 28.
  • Los futuros

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
    • Posición de cambio unidireccional/bidireccional: Utilizaciónexchange.IO("dual", true)para cambiar a una posición bidireccional y utilizarexchange.IO("dual", false)para cambiar a una posición unidireccional.
  • Los futuros_KuCoin

    • Intercambio entre posición cruzada/posición aislada: Utilizaciónexchange.IO("cross", true)para cambiar al modo de posición cruzada y utilizarexchange.IO("cross", false)para cambiar al modo de posición aislada.
Causas comunes del error de negociación en vivo y la salida anormal