资源加载中... loading...

数字货币:切换交易 [货币对] 功能

Author: 发明者量化-小小梦, Created: 2017-06-12 13:03:56, Updated: 2017-10-11 10:23:17

  • 运行时切换交易货币对

除火币ETH以外(因为火币ETH 是单独的API地址),所有的数字货币交易所货币对均已支持。 注意: 需要更新最新托管者程序

  • 例子

  // 切换Bter交易对为LTC_BTC, 切换后所有交易函数都受影响
  exchange.IO("currency", "LTC_BTC");
  
  // 切换P网交易对为BTC_XRP, 切换后所有交易函数都受影响
  exchange.IO("currency", "BTC_XRP");
  
  // 切换 OKCoin 交易对为 LTC ,切换后所有交易函数都受影响
  exchange.IO("currency", "LTC");
  • 我们利用交互功能 做一下测试, 在程序运行中我们切换一下 币种 由BTC 切换为 LTC 。

    注意:切换后所有交易函数都受影响

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)
    }
}
  • 首先策略 要添加 一个 交互控件,如图:

    img

  • 新建机器人,运行。

    img

  • 展开交互控件 ,输入代码 exchange.IO("currency", "LTC"); 调用函数切换 币种对为 LTC 。

    img

  • 确定执行代码

    img

  • 可以看到 行情数据发生了变化,切换为 LTC 的行情数据了。

    img


More

anysou 交互控件不支持PYTHON吗?

zhangyijun 各交易所支持的交易对,是否有API或文档列出呢?谢谢

高吸低抛 收藏

发明者量化-小小梦 支持 ,使用方面都一样的。

发明者量化-小小梦 只要是 交易所 支持的 交易对,在创建 机器人的时候 使用自定义控件 都可以设置 。