package com.jxy.marketall.service;


import com.jxy.common.core.web.Result.AjaxResult;
import com.jxy.marketall.dto.ComDataDto;
import com.jxy.marketall.vo.EBalanceVo;
import com.jxy.marketall.vo.QueryVo;

import java.util.List;


/**
 * @Description Arh99服务类
 * @Date 2022/6/20 17:40
 * @Author 杜懿
 */
public interface BTCV2Service {

    /**
     * 查询盈利地址数profitAddresses
     * @return
     */
    public AjaxResult getProfitAddressesList(int sma);

    /**
     * 查询亏损地址数lossAddresses
     * @return
     */
    public AjaxResult getLossAddressList(int sma);

    /**
     * 查询地址盈亏比profitRatio
     * @return
     */
    public AjaxResult getProfitRatioList(int sma);

    /**
     * 查询长期持有者供应量lthSupply
     * @return
     */
    public AjaxResult getLthSupplyList(int sma);

    /**
     * 查询短期持有者供应量sthSupply
     * @return
     */
    public AjaxResult getSthSupplyList(int sma);

    /**
     * 查询已实现价格realizedPrice
     * @return
     */
    public AjaxResult getRealizedPriceList(int sma);

    /**
     * 查询长/短期持有者供应量盈亏比relative_lth_sth
     * @return
     */
    public AjaxResult getRelativeSupplyList(int sma);

    /**
     * 查询长/短期持有者供应量分布
     * @return
     */
    public AjaxResult getLthSthSupplyDistributionList(int sma);

    /**
     * 查询长期持有者盈利总供应量lth_profit_supply
     * @return
     */
    public AjaxResult getLthProfitSupplyList(int sma);

    /**
     * 查询短期持有者盈利总供应量sth_profit_supply
     * @return
     */
    public AjaxResult getSthProfitSupplyList(int sma);

    /**
     * 查询长期持有者亏损总供应量lth_loss_supply
     * @return
     */
    public AjaxResult getLthLossSupplyList(int sma);

    /**
     * 查询短期持有者亏损总供应量sth_loss_supply
     * @return
     */
    public AjaxResult getSthLossSupplyList(int sma);

    /**
     * 查询短期持有者盈亏比sth_profit_ratio
     * @return
     */
    public AjaxResult getSthProfitRatioList(int sma);

    /**
     * 查询长期持有者盈亏比lth_profit_ratio
     * @return
     */
    public AjaxResult getLthProfitRatioList(int sma);

    /**
     * 查询短期到长期实现价值比率slrv_ratio
     * @return
     */
    public AjaxResult getSLRVRatioList(int sma);
/************************************************************************************************************************/
    /**
     * 查询长期持有者每日交易量lth_volume
     * @return
     */
    public AjaxResult getLthVolumeList(int sma);

    /**
     * 查询交易汇率乘数FeeRatioMultiple
     * @return
     */
    public AjaxResult getFeeRatioMultipleList(int sma);

    /**
     * 查询累积价值-销毁天数比cvdd CumulativeValueDaysDestroyed
     * @return
     */
    public AjaxResult getCumulativeValueDaysDestroyedList(int sma);

    /**
     * 查询已平衡价格BalancedPrice
     * @return
     */
    public AjaxResult getBalancedPriceList(int sma);

    /**
     * 查询市值/交易价值比NVT Ratio
     * @return
     */
    public AjaxResult getNVTRatioList(int sma);

    /**
     * 查询NVT信号NVT Signal
     * @return
     */
    public AjaxResult getNVTSignalList(int sma);

    /**
     * 查询流通速度velocity
     * @param sma
     * @return
     */
    public AjaxResult getVelocityList(int sma);

    /**
     * 查询PI周期顶指标Pi Cycle Top Indicator
     * @param vo
     * @return
     */
    public AjaxResult getPiCycleTIList(QueryVo vo);


    /**
     * 查询稳定币供应比Stablecoin Supply Ratio (SSR)
     * @return
     */
    public AjaxResult getSSRList();


    /**
     * 查询稳定币供应比振荡器Stablecoin Supply Ratio (SSR) Oscillator
     * @param sma
     * @return
     */
    public AjaxResult getSSROList(int sma);

    /**
     * 查询库存/新发行比Stock-to-Flow Ratio
     * @return
     */
    public AjaxResult getSTFRatioList(QueryVo vo);

    /**
     * 查询库存/新发行偏差Stock-to-Flow Deflection
     * @param sma
     * @return
     */
    public AjaxResult getSTFDeflectionList(int sma);

    /**
     * 查询黄金比例乘数Golden Ratio Multiplier
     * @return
     */
    public AjaxResult getGoldenRatioMultList(int sma);

    public AjaxResult getMempoolTransaction(QueryVo vo);

    public AjaxResult getExchanges();

    public AjaxResult getExchangeBalance(EBalanceVo vo);

}
