Documentação

Atualização de contrato

NegociaçãoAutenticação Obrigatória

Atualize o take profit e o stop loss de um contrato. O loginid parâmetro foi removido; a resposta não foi alterada.

Comparação rápida

AspetoLegacy APINew APIAção
Endpointcontract_updatecontract_updateNenhum
Autenticação ObrigatóriaSimSimNenhum
loginid parâmetroOpcionalRemovidoRemover dos pedidos

Alterações de rutura

1. loginid parâmetro removido

Na Legacy API, loginid selecionava a conta cujo contrato atualizar quando autorizava várias contas. A New API não o aceita.

Alteração necessária: Remova loginid dos seus pedidos contract_update . O seu token seleciona a conta.

Estrutura de pedido

Legacy APIexemplo de pedido
{
  "contract_update": 1,
  "contract_id": 123456789,
  "limit_order": {
    "stop_loss": 15,
    "take_profit": 25
  },
  "loginid": "CR123456",
  "req_id": 1
}
New APIexemplo de pedido
{
  "contract_update": 1,
  "contract_id": 123456789,
  "limit_order": {
    "stop_loss": 15,
    "take_profit": 25
  },
  "req_id": 1
}

Estrutura de resposta

Legacy APIexemplo de resposta
{
  "contract_update": {
    "stop_loss": {
      "display_name": "Stop loss",
      "order_amount": -15,
      "order_date": 1760000000,
      "value": "1234.56"
    },
    "take_profit": {
      "display_name": "Take profit",
      "order_amount": 25,
      "order_date": 1760000000,
      "value": "1256.78"
    }
  },
  "echo_req": {
    "contract_update": 1,
    "contract_id": 123456789,
    "limit_order": {
      "stop_loss": 15,
      "take_profit": 25
    },
    "req_id": 1
  },
  "msg_type": "contract_update",
  "req_id": 1
}
New APIexemplo de resposta
{
  "contract_update": {
    "stop_loss": {
      "display_name": "Stop loss",
      "order_amount": -15,
      "order_date": 1760000000,
      "value": "1234.56"
    },
    "take_profit": {
      "display_name": "Take profit",
      "order_amount": 25,
      "order_date": 1760000000,
      "value": "1256.78"
    }
  },
  "echo_req": {
    "contract_update": 1,
    "contract_id": 123456789,
    "limit_order": {
      "stop_loss": 15,
      "take_profit": 25
    },
    "req_id": 1
  },
  "msg_type": "contract_update",
  "req_id": 1
}

Exemplos de código

function updateContract(contractId, loginId) {
  const request = {
    contract_update: 1,
    contract_id: contractId,
    limit_order: { stop_loss: 15, take_profit: 25 },
    req_id: 1
  };
  // Needed only when you authorised several accounts
  if (loginId) request.loginid = loginId;
  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type !== "contract_update") return;
    if (response.error) {
      console.error(response.error.message);
      return;
    }
    if (response.contract_update) {
      const { stop_loss, take_profit } = response.contract_update;
      console.log("Stop loss:", stop_loss?.order_amount);
      console.log("Take profit:", take_profit?.order_amount);
    }
  };
}
Click to open live chat support. Get instant help from our support team.