HQChart使用教程62-品种小数位数设置

151 篇文章 33 订阅

品种小数位数

不同的品种, 它的最小交易单位是不一样的, hqchart内置简单的做了对不通品种设置了默认的小数位置, 也支持通过外部接口修改默认小数位数。

品种小数位置类

数据保存在全局变量 MARKET_SUFFIX_NAME 中。
成员函数:
Get品种简称Decimal(symbol=品种代码)
通过参数symbol,返回对应的小数位数

var MARKET_SUFFIX_NAME
{
   .......
   GetDefaultDecimal:function(symbol)  //默认小数位数
   {
       return 2;
   },
  
   //沪深股票期权
   GetSHODecimal:function(symbol)
  {
       return 4;
   },
   
   GetFHKDecimal:function(symbol)  //港股指数期货 小数位数
   {
       return 0;
   },
   
   GetFTSEDecimal:function(symbol) //富时中国A50期货 小数位数
   {
       return 0;
   },
   
   //数字货币
   GetBITDecimal:function(symbol)
    {
        return 2;
    },
    
    //外汇
    GetForeignExchangeDecimal:function(symbol)
    {
        return 4;
    },
    //自定义品种
    GetETDecimal:function(symbol)
    {
        return 2;
    },
}

通过重载上面的函数,就可以控制品种的小数位数。
hqchart内部使用GetfloatPrecision()来获取不同品种的小数位数。
GetCustomDecimal 默认是空的, 如果外部重载了这个函数, 所有的小数位数获取直接都通过它来获取了。

源码:

function GetfloatPrecision(symbol)  //获取小数位数
{
    var defaultfloatPrecision=2;    //默认2位
    if (!symbol) return defaultfloatPrecision;
    var upperSymbol=symbol.toUpperCase();

    //全部由外部控制
    if (typeof(MARKET_SUFFIX_NAME.GetCustomDecimal)=='function') return MARKET_SUFFIX_NAME.GetCustomDecimal(upperSymbol);

    if (MARKET_SUFFIX_NAME.IsSHSZFund(upperSymbol)) defaultfloatPrecision=3;    //基金3位小数
    else if (MARKET_SUFFIX_NAME.IsSHO(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHODecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)) defaultfloatPrecision=g_FuturesTimeData.GetDecimal(upperSymbol);  //期货小数位数读配置
    else if (MARKET_SUFFIX_NAME.IsFHK(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsFTSE(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsBIT(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsET(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol); 
    else if (MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol)) defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol)) defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol)) defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol)) defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);
    else if (MARKET_SUFFIX_NAME.IsCBOT(upperSymbol)) defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);
    else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);

    return defaultfloatPrecision;
}

例子

VUE

import HQChart from 'hqchart'
......
//设置数字货币小数位数都是0
HQChart.Chart.MARKET_SUFFIX_NAME.GetBITDecimal=(symbol)=> { return 0; }

js

//设置数字货币小数位数都是0
MARKET_SUFFIX_NAME.GetBITDecimal=(symbol)=> { return 0; }

uniapp

app

import {JSCommon} from '../../umychart.uniapp/umychart.wechat.3.0.js'
.....


JSCommon.MARKET_SUFFIX_NAME.GetBITDecimal=this.GetBITDecimal;
.......
//不同的品种返回不同的小数位数
GetBITDecimal(symbol)
{
	var upperSymbol=symbol.toUpperCase();
	if (upperSymbol=="BUSDUSDT.BIT") return 4;
	else if(upperSymbol=="ADXBTC.BIT") return 8;
	
	return 2;
},

h5

import HQChart from '../../umychart_uniapp_h5/umychart.uniapp.h5.js'
.....

HQChart.MARKET_SUFFIX_NAME.GetBITDecimal=this.GetBITDecimal;
......

//不同的品种返回不同的小数位数
GetBITDecimal(symbol)
{
	var upperSymbol=symbol.toUpperCase();
	if (upperSymbol=="BUSDUSDT.BIT") return 4;
	else if(upperSymbol=="ADXBTC.BIT") return 8;
	
	return 2;
},

特殊品种

  1. 国内期货 g_FuturesTimeData.GetDecimal(upperSymbol)
  2. 纽约交易所 NYMEX g_NYMEXTimeData.GetDecimal(upperSymbol)
  3. 纽约交易所 COMEX g_COMEXTimeData.GetDecimal(upperSymbol)
  4. 纽约交易所 NYBOT g_NYBOTTimeData.GetDecimal(upperSymbol)
  5. 芝商所 g_CBOTTimeData.GetDecimal(upperSymbol)

上面几个品种是通过这几个全局变量控制的。

交流QQ群: 950092318

如果还有问题可以加交流QQ群: 950092318

HQChart代码地址

地址:github.com/jones2000/HQChart

个人爱好摄影/模型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HQChart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值