zl程序教程

您现在的位置是:首页 >  其他

当前栏目

程序员的量化交易之路(21)--Cointrader之Currency货币实体(9)

程序员 -- 21 实体 交易 量化 货币
2023-09-14 08:56:49 时间

转载须注明出自:http://blog.csdn.net/minimicall?viewmode=contentshttp://cloudtrader.top


货币,Cointrader中基本实体。我们通过代码来学习该实体:

package org.cryptocoinpartners.schema;

import java.util.List;

import javax.persistence.Cacheable;

import javax.persistence.Entity;

import javax.persistence.NoResultException;

import org.cryptocoinpartners.util.PersistUtil;

 * @author Tim Olson

@Entity //实体

@Cacheable

public class Currency extends Asset {//货币是资产的一种,继承关系

 public boolean isFiat() {//是否为法定货币

 return fiat;

 public static Currency forSymbol(String symbol) {

 return PersistUtil.queryOne(Currency.class, "select c from Currency c where symbol=?1", symbol);

 public static List String allSymbols() {

 return PersistUtil.queryList(String.class, "select symbol from Currency");

 // JPA

 protected Currency() {

 protected void setFiat(boolean fiat) {

 this.fiat = fiat;

 // used by Currencies

 static Currency forSymbolOrCreate(String symbol, boolean isFiat, double basis) {

 try {

 return forSymbol(symbol);

 } catch (NoResultException e) {

 final Currency currency = new Currency(isFiat, symbol, basis);

 PersistUtil.insert(currency);

 return currency;

 // used by Currencies

 static Currency forSymbolOrCreate(String symbol, boolean isFiat, double basis, double multiplier) {

 try {

 return forSymbol(symbol);

 } catch (NoResultException e) {

 final Currency currency = new Currency(isFiat, symbol, basis, multiplier);

 PersistUtil.insert(currency);

 return currency;

 private Currency(boolean fiat, String symbol, double basis) {

 super(symbol, basis);

 this.fiat = fiat;

 private Currency(boolean fiat, String symbol, double basis, double multiplier) {

 super(symbol, basis);

 this.fiat = fiat;

 this.multiplier = multiplier;

 private boolean fiat;//是否为法定货币

 private double multiplier;//乘数

}
multiplier乘数是一个比较生疏的一个概念。它的介绍见wikipedia:http://en.wikipedia.org/wiki/Multiplier_(economics)

还是一个比较难的概念。