4
focar em
13
Seguidores

Ambiente de disco de simulação

Criado em: 2022-04-05 17:52:26, atualizado em: 2022-04-05 17:54:46
comments   0
hits   1087

Introdução: Esta estratégia usa a linguagem Python para criar um ambiente de disco analógico que suporta o disco físico

Configuração ambiental:

def main():
    IFsign()
    SimSign()
    while True:
        SimGo()

IFsignAmbiente de inicialização de funções, carregado apenas uma vez durante a execução, para criação de variáveis SimSignFunções carregadas em objetos SimGoFunções que calculam o número de contas simuladas, necessitando de um loop

Estrutura de dados:

Order Estrutura de pedidos, que pode ser alterada pelo exchange[0].GetOrder() é uma função que retorna。

{
    Id          : 123456,        // 交易单唯一标识
    Price       : 1000,          // 下单价格
    Amount      : 10,            // 下单数量
    DealAmount  : 10,            // 成交数量
    AvgPrice    : 1000,          // 成交均价
    Side        : "BUY"          // 订单方向,常量里的订单类型有:BUY,SELL
    Type        : "LONG",        // 订单类型,常量里的订单类型有: LONG,SHORT,NULL
    profit      : 0,             // 订单收益,现货均返回NULL
    feeCcy      : 1,             // 订单手续费
}

Account Informações da conta, por exchange[0].GetAccount() é uma função que retorna。

{
    Balance         : 1000,      // 可用计价币数量
    FrozenBalance   : 0,         // Balance表示的资产用于挂单的冻结数量
    Stocks          : 1,         // 可用交易币数量
    FrozenStocks    : 0          // Stocks表示的资产用于挂单的冻结数量
}

Position Informações sobre posições detidas em transações de futuros pela exchange[A função GetPosition () retorna um conjunto de elementos da estrutura Position.

{
    MarginLevel     : 10,        // 持仓杆杠大小
    Amount          : 100,       // 持仓量
    FrozenAmount    : 0,         // 仓位冻结量,用于平仓挂单时的临时冻结仓位数量
    Price           : 10000,     // 持仓均价
    Profit          : 0,         // 持仓浮动盈亏
    Type            : "LONG",    // LONG为多头仓位,SHORT为空头仓位
    Margin          : 1          // 仓位占用的保证金
}

Documentação da API:

A seguinte função precisa passarexchange[交易对序号]Chamadas de Objetos

exchange[0].Buy(price,account)

A função Buy é usada para:Pagamento, chamou e retornou um ID de pedido ◦ Valor do parâmetro: Preço é o preço do pedido, tipo de valor ◦ Montante é a quantidade do pedido, tipo de valor ◦

def main():
    id = exchange[0].Buy(100, 1)
    Log("id:", id)

exchange[0].Sell(Price, Amount)

A função Sell é usada para:O cartão de crédito, chamou e retornou um ID de pedido ◦ Valor do parâmetro: Preço é o preço do pedido, tipo de valor ◦ Montante é a quantidade do pedido, tipo de valor ◦

def main():
    id = exchange[0].Sell(100, 1)
    Log("id:", id)

exchange[0].CancelOrder(Id)

A função CancelOrder é usadaCancelar a encomenda, cancelar um pedido de uma Id. Valor do parâmetro: Id é o número do pedido.

def main():
    id = exchange[0].Sell(99999, 1)
    exchange[0].CancelOrder(id)

exchange[0].GetOrder(Id)

A função GetOrder é usadaObtenção de pedidos concluídos, retorna a informação da ordem de um determinado Id, sem preencher o parâmetro retorna toda a informação da ordem. Valor do parâmetro: Id é o número de ordem que precisa ser obtido, o parâmetro Id é o tipo inteiro

def main():
    order = exchange[0].GetOrder()

exchange[0].GetOrders(Id)

A função GetOrders é usadaObtenção de pedidos pendentes, retorna a informação da ordem de um determinado Id, sem preencher o parâmetro retorna toda a informação da ordem. Valor do parâmetro: Id é o número de ordem que precisa ser obtido, o parâmetro Id é o tipo inteiro

def main():
    orders = exchange[0].GetOrders()

exchange[0].GetAccount()

A função GetAccount é usadaObter informações da conta。 retorna o valor: Account estruturas estruturas。

def main():
    account = exchange[0].GetAccount()

exchange[0].GetPosition()

A função GetPosition é usadaObter informações sobre as posições atuais。 retorna o valor: a matriz estrutural da posição。 sem posse, retorna a matriz vazia, ou seja[]。

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(10)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    position = exchange[0].GetPosition()

exchange[0].SetMarginLevel(…)

A função SetMarginLevel é usadaConfigurar o tamanho do bar◦ Valor do parâmetro: tipo de valor ◦

def main():
    exchange[0].SetMarginLevel(10)

exchange[0].SetDirection(…)

A função SetDirection é usada para configurar o exchange[0].Buy ou exchange[0]. A função sellEncomendas a prazoA direção de …

Função de encomenda A direção para a configuração dos parâmetros da função SetDirection Nota:
exchange[0].Buy “buy” Comprar e abrir posições
exchange[0].Buy “closesell” Comprar uma posição vazia
exchange[0].Sell “sell” Venda de estoque em aberto
exchange[0].Sell “closebuy” A venda de uma posição de equidade

Os parâmetros de direção podem ter quatro parâmetros: buy, closebuy, sell, closesell.

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("closebuy")
    exchange[0].Sell(1000, 2)

exchange[0].SetContractType(…)

A função SetContractType é usada paraConfigurar o tipo de contrato。 Valor do parâmetro: tipo de string。 O parâmetro ContractType pode ser qualquer string

def main():
    exchange[0].SetContractType("this_week")

exchange[0].SetServiceCharge()

A função SetServiceCharge é usada paraDefina a taxa de serviço◦ Valor do parâmetro: tipo de valor ◦

def main():
    # 设置0.25%手续费
    exchange[0].SetServiceCharge(0.00025)

exchange[0].SetBalance()

A função SetBalance é usada paraConfigurar o saldo◦ Valor do parâmetro: tipo de valor ◦

def main():
    # 设置余额为10000
    exchange[0].SetBalance(10000)

exchange[0].SetSpread()

A função SetSpread é usadaConfiguração de pontuação◦ Valor do parâmetro: tipo de valor ◦

def main():
    # 设置点差为0.005%
    exchange[0].SetSpread(0.005)

Endereço da Política