O recurso está a ser carregado... Carregamento...

Moedas digitais: funções de troca [pares de moedas]

Autora:Inventor quantificado - sonho pequeno, Criado: 2017-06-12 13:03:56, Atualizado: 2017-10-11 10:23:17

  • Para trocar o par de moedas no momento da execução

Todas as exchanges de moeda digital, exceto o token ETH (porque o token ETH é um endereço API separado)货币对O blogueiro também escreveu sobre o assunto: Atenção: É necessário atualizar o programa de administrador mais recente

  • Exemplos

  // 切换Bter交易对为LTC_BTC, 切换后所有交易函数都受影响
  exchange.IO("currency", "LTC_BTC");
  
  // 切换P网交易对为BTC_XRP, 切换后所有交易函数都受影响
  exchange.IO("currency", "BTC_XRP");
  
  // 切换 OKCoin 交易对为 LTC ,切换后所有交易函数都受影响
  exchange.IO("currency", "LTC");
  • Nós usamos a funcionalidade de interação para fazer um teste e, durante a execução do programa, nós trocamos a moeda do BTC para o LTC.

    Nota: Todas as funções de transação após a mudança foram afetadas.

var preRecordTime = 0;
function main() {
    LogReset(1);
    while (true) {
        var records = exchange.GetRecords();

        // 交互
        var cmd = GetCommand(); // 调用API  获取界面交互控件的消息。 
        if (cmd) { // 判断是否有消息
            var js = cmd.split(':', 2)[1]; // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
            Log("执行调试代码:", js); // 输出 执行的代码
            try { // 异常检测
                eval(js); // 执行 eval函数, 该函数执行传入的参数(代码)。
            } catch (e) { // 抛出异常
                Log("Exception", e); // 输出错误信息
            }
        }

        if (records && records.length > 2) {
            if(records[records.length - 1].Time !== preRecordTime){
                Log("币种:", exchange.GetCurrency(), "倒数第一bar:", records[records.length - 1], "倒数第二bar:", records[records.length - 2]);
                preRecordTime = records[records.length - 1].Time;
            }
        }
        LogStatus("时间:", _D(), "币种:", exchange.GetCurrency(), "records:", (records == null || (records && records.length == 0)) ? "--" : records[records.length - 1]);
        
        Sleep(500)
    }
}
  • A primeira estratégia é adicionar um controle interativo, como se veja:

    img

  • O novo robô está funcionando.

    img

  • Abrir o controle interativo, inserir códigoexchange.IO("currency", "LTC");A função de conversão de chamadas de pares de moedas para LTC.

    img

  • Identificar o código de execução

    img

  • Como você pode ver, os dados do mercado mudaram e foram trocados para dados do mercado LTC.

    img


Mais.

- O quê?Os controles interativos não suportam o Python?

ZhangyijunOs pares de transações suportados por cada exchange estão listados com uma API ou documentação?

Arranque alto e baixoColeção

Inventor quantificado - sonho pequenoO suporte e o uso são os mesmos.

Inventor quantificado - sonho pequenoO bot pode ser configurado para usar controles personalizados quando for criado, desde que seja um par de transações suportado pela bolsa.