using System.ComponentModel;

namespace Binance.TradeRobot.Model.Base
{
    public class Enums
    {

        #region 用户资金
        /// <summary>
        /// 资金变更类型 追投=0,提现=1,转移=2
        /// </summary>
        public enum CapitalChangeType
        {
            /// <summary>
            /// 增加资金
            /// </summary>
            Add = 0,
            /// <summary>
            /// 减少资金
            /// </summary>
            Reduce = 1,
            /// <summary>
            /// 转移资金
            /// </summary>
            Transfer = 2
        }

        /// <summary>
        /// 资金方向 转入=0,转出=1
        /// </summary>
        public enum FundDirection
        {
            In = 0,
            Out = 1
        }
        #endregion

        #region 机器人
        /// <summary>
        /// 业务类型 币币=0,逐仓杠杆=1,U本位合约=2
        /// </summary>
        public enum BusinessType
        {
            /// <summary>
            /// 币币
            /// </summary>
            Spot = 0,
            /// <summary>
            /// 逐仓杠杆
            /// </summary>
            Spot_Margin = 1,
            /// <summary>
            /// U本位合约
            /// </summary>
            UPrep = 2
        }

        /// <summary>
        /// 机器人状态 Stop=0,Runing=1
        /// </summary>
        public enum RobotState
        {
            Stop = 0,
            Runing = 1
        }

        /// <summary>
        /// 交易策略 动量趋势v2=0,动量趋势v21=1,金字塔=11
        /// </summary>
        public enum TradePolicy
        {
            动量趋势v2 = 0,
            动量趋势v21 = 1,

            金字塔 = 11
        }

        /// <summary>
        /// 执行模式  Both=0,OnlyBuy=1,OnlySell=2
        /// </summary>
        public enum ExecutionMode
        {
            Both = 0, OnlyBuy = 1, OnlySell = 2
        }
        #endregion

        #region 交易所

        /// <summary>
        /// Binance=0, Gate.io=1
        /// </summary>
        public enum Exchange
        {
            /// <summary>
            /// 币安
            /// </summary>
            Binance = 0,
            /// <summary>
            /// 芝麻开门
            /// </summary>
            Gate_IO = 1
        }

        /// <summary>
        /// 借币状态 Loading=0 returned=1
        /// </summary>
        public enum LoanState
        {
            Loaning, retured
        }

        /// <summary>
        /// 订单状态
        /// </summary>
        public enum OrderState
        {
            Created
        }

        /// <summary>
        /// 交易方向 Buy=0,Sell=1
        /// </summary>
        public enum TradeDirection
        {
            Buy, Sell
        }

        /// <summary>
        /// 信号周期 1m=0,3m=1,5m=2,15m=3,30m=4,1h=5,2h=6,4h=7,6h=8,8h=9,12h=10,1d=11,3d=12,1w=13,1M=14
        /// </summary>
        public enum SignalPeriod
        {
            _1m,
            _3m,
            _5m,
            _15m,
            _30m,
            _1h,
            _2h,
            _4h,
            _6h,
            _8h,
            _12h,
            _1d,
            _3d,
            _1w,
            _1M
        }
        #endregion
    }
}